From 42e92f63d4cfcae10b404c71135db7ece433d92d Mon Sep 17 00:00:00 2001 From: Mark Walker Date: Tue, 27 Jul 2021 12:15:03 +0100 Subject: [PATCH] 0.7.2 - Fix for #23 (#24) * Fix for #23 * Updating tests to get 100% coverage * 0.7.2 release prep --- CHANGELOG.md | 5 +++++ django_bleach/__init__.py | 2 +- django_bleach/models.py | 22 +++++++++++----------- django_bleach/tests/test_forms.py | 3 +-- django_bleach/tests/test_modelformfield.py | 3 ++- setup.py | 3 +++ testproject/settings.py | 2 +- 7 files changed, 24 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b4a6c1..8c2d5d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +Version 0.7.2 +============= +###### 27-07-2021 +* Fix for [#23](https://github.com/marksweb/django-bleach/issues/23): `kwargs` being lost in the default form field. + Version 0.7.1 ============= ###### 23-07-2021 diff --git a/django_bleach/__init__.py b/django_bleach/__init__.py index 3b4b292..30c3f5e 100644 --- a/django_bleach/__init__.py +++ b/django_bleach/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- __author__ = "Tim Heap & Mark Walker" -__version__ = "0.7.1" +__version__ = "0.7.2" VERSION = __version__.split(".") diff --git a/django_bleach/models.py b/django_bleach/models.py index e245ce7..e3984ff 100644 --- a/django_bleach/models.py +++ b/django_bleach/models.py @@ -34,17 +34,17 @@ def formfield(self, **kwargs): # If field doesn't have any choice return BleachField if not self.choices: - return forms.BleachField( - label=self.verbose_name, - max_length=self.max_length, - allowed_tags=self.bleach_kwargs.get("tags"), - allowed_attributes=self.bleach_kwargs.get("attributes"), - allowed_styles=self.bleach_kwargs.get("styles"), - allowed_protocols=self.bleach_kwargs.get("protocols"), - strip_tags=self.bleach_kwargs.get("strip"), - strip_comments=self.bleach_kwargs.get("strip_comments"), - required=not self.blank, - ) + kwargs.update({ + "max_length": self.max_length, + "allowed_tags": self.bleach_kwargs.get("tags"), + "allowed_attributes": self.bleach_kwargs.get("attributes"), + "allowed_styles": self.bleach_kwargs.get("styles"), + "allowed_protocols": self.bleach_kwargs.get("protocols"), + "strip_tags": self.bleach_kwargs.get("strip"), + "strip_comments": self.bleach_kwargs.get("strip_comments"), + "required": not self.blank, + }) + return forms.BleachField(**kwargs) return super(BleachField, self).formfield(**kwargs) diff --git a/django_bleach/tests/test_forms.py b/django_bleach/tests/test_forms.py index 5bc0f6e..af38d39 100644 --- a/django_bleach/tests/test_forms.py +++ b/django_bleach/tests/test_forms.py @@ -146,8 +146,7 @@ def test_custom_widget(self, settings): test_data['bleach_styles'] ) - @patch('django_bleach.forms.settings', - BLEACH_DEFAULT_WIDGET='testproject.forms.CustomBleachWidget') + @patch('django_bleach.forms.settings', BLEACH_DEFAULT_WIDGET='testproject.forms.CustomBleachWidget') def test_custom_widget2(self, settings): self.assertEqual( settings.BLEACH_DEFAULT_WIDGET, diff --git a/django_bleach/tests/test_modelformfield.py b/django_bleach/tests/test_modelformfield.py index 7ab5660..fa86b09 100644 --- a/django_bleach/tests/test_modelformfield.py +++ b/django_bleach/tests/test_modelformfield.py @@ -14,7 +14,7 @@ class Meta: class TestModelFormField(TestCase): - @override_settings(BLEACH_DEFAULT_WIDGET='testproject.forms.CustomBleachWidget') + def setUp(self): model_form = BleachContentModelForm() self.form_field = model_form.fields['content'] @@ -29,6 +29,7 @@ def test_formfield_type(self): """ self.assertIsInstance(self.form_field, bleach_forms.BleachField) + @override_settings(BLEACH_DEFAULT_WIDGET='testproject.forms.CustomBleachWidget') def test_custom_widget(self): """ Check content form field's widget is instance of default widget diff --git a/setup.py b/setup.py index 4f39279..934dc8e 100755 --- a/setup.py +++ b/setup.py @@ -58,6 +58,9 @@ def find_variable(variable, *parts): os.system('python setup.py sdist bdist_wheel') sys.exit() +if sys.argv[-1] == 'release': + os.system('twine upload -r django-bleach --skip-existing dist/*') + sys.exit() if sys.argv[-1] == 'tag': print("Tagging the version on github:") diff --git a/testproject/settings.py b/testproject/settings.py index 426a27b..07cf307 100755 --- a/testproject/settings.py +++ b/testproject/settings.py @@ -69,4 +69,4 @@ 'django.contrib.messages.middleware.MessageMiddleware' ) -BLEACH_DEFAULT_WIDGET = 'testproject.forms.CustomBleachWidget' +# BLEACH_DEFAULT_WIDGET = 'testproject.forms.CustomBleachWidget'