From e38f76b2d9ed0593b80bb2a4c141a4fe3539d7f8 Mon Sep 17 00:00:00 2001 From: Stuart George Date: Wed, 1 May 2019 17:31:12 +0100 Subject: [PATCH 1/6] added support for wagtail 2.5 --- CHANGELOG.rst | 9 +++++++-- setup.py | 2 +- tox.ini | 3 +++ wagtailstreamforms/__init__.py | 2 +- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index fb26bffd..3368d866 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,8 +2,13 @@ Changelog ********* -Next Release ------------- +3.6.0 +----- + +* Wagtail 2.5 Support + +3.5.0 +----- * Wagtail 2.4 Support * Tweak docs to ensure files work in js example (Thanks Aimee Hendrycks) diff --git a/setup.py b/setup.py index b000cd35..4e1e0319 100644 --- a/setup.py +++ b/setup.py @@ -8,7 +8,7 @@ install_requires = [ - 'wagtail>=2,<2.5' + 'wagtail>=2,<2.6' ] documentation_extras = [ diff --git a/tox.ini b/tox.ini index ed9e202f..163391ba 100644 --- a/tox.ini +++ b/tox.ini @@ -4,6 +4,7 @@ envlist = flake8 py{34,35,36}-dj{20}-wt{20,21,22,23} py{35,36,37}-dj{21}-wt{24} + py{35,36,37}-dj{22}-wt{25} [testenv] deps = @@ -12,11 +13,13 @@ deps = dj20: Django>=2,<2.1 dj21: Django>=2.1,<2.2 + dj22: Django>=2.2,<2.3 wt20: wagtail>=2,<2.1 wt21: wagtail>=2.1,<2.2 wt22: wagtail>=2.2,<2.3 wt23: wagtail>=2.3,<2.4 wt24: wagtail>=2.4,<2.5 + wt25: wagtail>=2.5,<2.6 commands = coverage erase diff --git a/wagtailstreamforms/__init__.py b/wagtailstreamforms/__init__.py index 41923466..6a436bec 100644 --- a/wagtailstreamforms/__init__.py +++ b/wagtailstreamforms/__init__.py @@ -2,6 +2,6 @@ # major.minor.patch.release.number # release must be one of alpha, beta, rc, or final -VERSION = (3, 5, 0, 'final', 1) +VERSION = (3, 6, 0, 'final', 1) __version__ = get_version(VERSION) From 90a193da5c2143701eedde38730bee0ee43a8b6e Mon Sep 17 00:00:00 2001 From: Stuart George Date: Mon, 13 May 2019 12:20:32 +0100 Subject: [PATCH 2/6] remove deps as was for wagtail 1 > 2 work --- tox.ini | 5 ----- 1 file changed, 5 deletions(-) diff --git a/tox.ini b/tox.ini index 163391ba..e2caf9d6 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,5 @@ [tox] envlist = - deps flake8 py{34,35,36}-dj{20}-wt{20,21,22,23} py{35,36,37}-dj{21}-wt{24} @@ -46,10 +45,6 @@ basepython = python3.7 deps = flake8 commands = flake8 wagtailstreamforms -[testenv:deps] -basepython = python3.7 -commands = python -Wd manage.py test - [flake8] ignore = F401 exclude = From c43b5eeade2b646be2991b410099449fb35b81e2 Mon Sep 17 00:00:00 2001 From: Stuart George Date: Mon, 13 May 2019 22:28:19 +0100 Subject: [PATCH 3/6] Fix example app warning about recaptcha --- example/settings.py | 1 + 1 file changed, 1 insertion(+) diff --git a/example/settings.py b/example/settings.py index 7bb9c486..4f18ba3a 100644 --- a/example/settings.py +++ b/example/settings.py @@ -157,3 +157,4 @@ RECAPTCHA_PUBLIC_KEY = '6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI' RECAPTCHA_PRIVATE_KEY = '6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe' NOCAPTCHA = True +SILENCED_SYSTEM_CHECKS = ['captcha.recaptcha_test_key_error'] From d70070414005df4b80208a9e75b52c7a4b988635 Mon Sep 17 00:00:00 2001 From: Stuart George Date: Mon, 13 May 2019 22:28:51 +0100 Subject: [PATCH 4/6] added name to db setting in tests --- tests/settings.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/settings.py b/tests/settings.py index 6f8023e1..87d59ea1 100644 --- a/tests/settings.py +++ b/tests/settings.py @@ -10,7 +10,7 @@ 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', - + # wagtail 'wagtail.core', 'wagtail.admin', @@ -47,6 +47,7 @@ DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': 'testdb' } } From 50e6f7c1956792555889f0a61eda5041a829750a Mon Sep 17 00:00:00 2001 From: Stuart George Date: Sat, 18 May 2019 00:07:04 +0100 Subject: [PATCH 5/6] testing ci --- tests/fields/test_hook_select_field.py | 8 +---- tests/migrations/0001_initial.py | 42 ++++++++++++++++++++++++++ tests/migrations/__init__.py | 0 tests/models/__init__.py | 5 +++ 4 files changed, 48 insertions(+), 7 deletions(-) create mode 100644 tests/migrations/0001_initial.py create mode 100644 tests/migrations/__init__.py diff --git a/tests/fields/test_hook_select_field.py b/tests/fields/test_hook_select_field.py index 23fdecaa..e67d11e6 100644 --- a/tests/fields/test_hook_select_field.py +++ b/tests/fields/test_hook_select_field.py @@ -4,16 +4,10 @@ from wagtailstreamforms.fields import HookSelectField, HookMultiSelectFormField +from ..models import HookSelectModel from ..test_case import AppTestCase -class HookSelectModel(models.Model): - hooks = HookSelectField(null=True, blank=True, help_text='Some hooks') - - class Meta: - app_label = 'tests' - - class HookSelectFieldTests(AppTestCase): def test_default_choices_has_in_app_hooks(self): diff --git a/tests/migrations/0001_initial.py b/tests/migrations/0001_initial.py new file mode 100644 index 00000000..516979c2 --- /dev/null +++ b/tests/migrations/0001_initial.py @@ -0,0 +1,42 @@ +# Generated by Django 2.2.1 on 2019-05-17 19:15 + +from django.db import migrations, models +import django.db.models.deletion +import wagtailstreamforms.fields + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('wagtailstreamforms', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='HookSelectModel', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('hooks', wagtailstreamforms.fields.HookSelectField(blank=True, help_text='Some hooks', null=True)), + ], + ), + migrations.CreateModel( + name='InvalidFormSettingsModel', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ], + ), + migrations.CreateModel( + name='ValidFormSettingsModel', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255)), + ('number', models.IntegerField()), + ('form', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='advanced_settings', to='wagtailstreamforms.Form')), + ], + options={ + 'abstract': False, + }, + ), + ] diff --git a/tests/migrations/__init__.py b/tests/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/models/__init__.py b/tests/models/__init__.py index 88eb52dd..7da4b60d 100644 --- a/tests/models/__init__.py +++ b/tests/models/__init__.py @@ -1,5 +1,6 @@ from django.db import models +from wagtailstreamforms.fields import HookSelectField from wagtailstreamforms.models import AbstractFormSetting @@ -10,3 +11,7 @@ class ValidFormSettingsModel(AbstractFormSetting): class InvalidFormSettingsModel(models.Model): pass + + +class HookSelectModel(models.Model): + hooks = HookSelectField(null=True, blank=True, help_text='Some hooks') From 8211fdd427dce5ba4ae56a0a7447bac26d229a6c Mon Sep 17 00:00:00 2001 From: Stuart George Date: Sat, 18 May 2019 01:29:59 +0100 Subject: [PATCH 6/6] Fix test --- tests/models/test_form_submission_file.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/models/test_form_submission_file.py b/tests/models/test_form_submission_file.py index c7796328..f865043c 100644 --- a/tests/models/test_form_submission_file.py +++ b/tests/models/test_form_submission_file.py @@ -43,11 +43,13 @@ class DeleteTests(TransactionTestCase): def test_files_are_deleted_on_commit(self): test_file = AppTestCase().get_file() + name = None with transaction.atomic(): form = Form.objects.get(pk=1) submission = FormSubmission.objects.create(form=form, form_data={}) file = FormSubmissionFile.objects.create(submission=submission, field='field', file=test_file) - self.assertTrue(file.file.storage.exists(file.file.name)) + name = file.file.name + self.assertTrue(file.file.storage.exists(name)) file.delete() - self.assertTrue(file.file.storage.exists(file.file.name)) - self.assertFalse(file.file.storage.exists(file.file.name)) + self.assertTrue(file.file.storage.exists(name)) + self.assertFalse(file.file.storage.exists(name))