From bfa5a3af2d39c6794351645f4de59344cb8fb868 Mon Sep 17 00:00:00 2001 From: lukas Date: Mon, 7 Aug 2023 12:20:05 +0200 Subject: [PATCH 01/10] Wagtail5 compability --- .idea/.gitignore | 8 +++++++ .../inspectionProfiles/profiles_settings.xml | 6 +++++ .idea/ls.joyous.iml | 22 +++++++++++++++++++ .idea/misc.xml | 4 ++++ .idea/modules.xml | 8 +++++++ .idea/vcs.xml | 6 +++++ docs/reference/models/calendar.rst | 2 +- docs/reference/models/events.rst | 18 +++++++-------- docs/reference/models/groups.rst | 2 +- docs/releases/1.4.0.rst | 2 +- ls/joyous/edit_handlers.py | 2 +- ls/joyous/forms.py | 4 ++-- ls/joyous/migrations/0001_initial.py | 18 +++++++-------- .../migrations/0002_auto_20180228_1449.py | 4 ++-- .../migrations/0013_auto_20190221_1152.py | 18 +++++++-------- .../migrations/0014_auto_20190328_0652.py | 6 ++--- .../0016_closedfor_closedforholidayspage.py | 4 ++-- .../migrations/0017_extcancellationpage.py | 4 ++-- ls/joyous/models/calendar.py | 6 ++--- ls/joyous/models/event_base.py | 12 +++++----- ls/joyous/models/groups.py | 6 ++--- ls/joyous/models/one_off_events.py | 9 ++++---- ls/joyous/models/recurring_events.py | 11 +++++----- ls/joyous/templatetags/joyous_tags.py | 2 +- ls/joyous/tests/settings.py | 2 +- ls/joyous/tests/test_calendar.py | 4 ++-- ls/joyous/tests/test_cancellation.py | 2 +- ls/joyous/tests/test_closed_for_holidays.py | 4 ++-- ls/joyous/tests/test_edit_handlers.py | 4 ++-- ls/joyous/tests/test_event_base.py | 2 +- ls/joyous/tests/test_ext_cancellation.py | 4 ++-- ls/joyous/tests/test_extra_info.py | 4 ++-- ls/joyous/tests/test_forms.py | 2 +- ls/joyous/tests/test_getevents.py | 2 +- ls/joyous/tests/test_gevents.py | 2 +- ls/joyous/tests/test_google.py | 2 +- ls/joyous/tests/test_group.py | 2 +- ls/joyous/tests/test_hooks.py | 2 +- ls/joyous/tests/test_ical.py | 2 +- ls/joyous/tests/test_multiday_event.py | 2 +- .../tests/test_multiday_recurring_event.py | 2 +- ls/joyous/tests/test_pages.py | 4 ++-- ls/joyous/tests/test_postponement.py | 12 +++++----- ls/joyous/tests/test_recurring_event.py | 2 +- .../tests/test_reschedule_multiday_event.py | 4 ++-- ls/joyous/tests/test_rss.py | 2 +- ls/joyous/tests/test_signals.py | 2 +- ls/joyous/tests/test_simple_event.py | 2 +- ls/joyous/tests/test_templatetags.py | 2 +- ls/joyous/tests/test_this_event.py | 2 +- ls/joyous/tests/test_vcalendar.py | 2 +- ls/joyous/tests/test_vevents.py | 2 +- ls/joyous/tests/test_vutils.py | 2 +- ls/joyous/tests/testutils.py | 2 +- ls/joyous/tests/urls.py | 2 +- ls/joyous/wagtail_hooks.py | 2 +- setup.py | 2 ++ 57 files changed, 164 insertions(+), 110 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/ls.joyous.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/ls.joyous.iml b/.idea/ls.joyous.iml new file mode 100644 index 0000000..8b1d2d0 --- /dev/null +++ b/.idea/ls.joyous.iml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..3662515 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..fd49347 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/docs/reference/models/calendar.rst b/docs/reference/models/calendar.rst index eaaf643..79df467 100644 --- a/docs/reference/models/calendar.rst +++ b/docs/reference/models/calendar.rst @@ -5,7 +5,7 @@ Calendar CalendarPage ------------ .. inheritance-diagram:: CalendarPage - :top-classes: wagtail.core.models.Page + :top-classes: wagtail.models.Page :parts: 1 .. autoclass:: CalendarPage :show-inheritance: diff --git a/docs/reference/models/events.rst b/docs/reference/models/events.rst index 754ba64..9677093 100644 --- a/docs/reference/models/events.rst +++ b/docs/reference/models/events.rst @@ -46,7 +46,7 @@ EventsOnDay EventCategory ------------- .. inheritance-diagram:: EventCategory - :top-classes: wagtail.core.models.Page + :top-classes: wagtail.models.Page :parts: 1 .. autoclass:: EventCategory :show-inheritance: @@ -126,7 +126,7 @@ EventBase SimpleEventPage --------------- .. inheritance-diagram:: SimpleEventPage - :top-classes: wagtail.core.models.Page, ls.joyous.models.event_base.EventBase + :top-classes: wagtail.models.Page, ls.joyous.models.event_base.EventBase :parts: 1 .. autoclass:: SimpleEventPage :show-inheritance: @@ -143,7 +143,7 @@ SimpleEventPage MultidayEventPage ----------------- .. inheritance-diagram:: MultidayEventPage - :top-classes: wagtail.core.models.Page, ls.joyous.models.event_base.EventBase + :top-classes: wagtail.models.Page, ls.joyous.models.event_base.EventBase :parts: 1 .. autoclass:: MultidayEventPage :show-inheritance: @@ -164,7 +164,7 @@ MultidayEventPage RecurringEventPage ------------------ .. inheritance-diagram:: RecurringEventPage - :top-classes: wagtail.core.models.Page, ls.joyous.models.event_base.EventBase + :top-classes: wagtail.models.Page, ls.joyous.models.event_base.EventBase :parts: 1 .. autoclass:: RecurringEventPage :show-inheritance: @@ -197,7 +197,7 @@ RecurringEventPage MultidayRecurringEventPage -------------------------- .. inheritance-diagram:: MultidayRecurringEventPage - :top-classes: wagtail.core.models.Page, ls.joyous.models.recurring_events.RecurringEventPage + :top-classes: wagtail.models.Page, ls.joyous.models.recurring_events.RecurringEventPage :parts: 1 .. autoclass:: MultidayRecurringEventPage :show-inheritance: @@ -280,7 +280,7 @@ DateExceptionBase ExtraInfoPage ------------- .. inheritance-diagram:: ExtraInfoPage - :top-classes: wagtail.core.models.Page, ls.joyous.models.recurring_events.DateExceptionBase + :top-classes: wagtail.models.Page, ls.joyous.models.recurring_events.DateExceptionBase :parts: 1 .. autoclass:: ExtraInfoPage :show-inheritance: @@ -325,7 +325,7 @@ CancellationBase CancellationPage ---------------- .. inheritance-diagram:: CancellationPage - :top-classes: wagtail.core.models.Page, ls.joyous.models.recurring_events.DateExceptionBase, ls.joyous.models.recurring_events.CancellationBase + :top-classes: wagtail.models.Page, ls.joyous.models.recurring_events.DateExceptionBase, ls.joyous.models.recurring_events.CancellationBase :parts: 1 .. autoclass:: CancellationPage :show-inheritance: @@ -402,7 +402,7 @@ RescheduleMultidayEventPage ClosedForHolidaysPage --------------------- .. inheritance-diagram:: ClosedForHolidaysPage - :top-classes: wagtail.core.models.Page, ls.joyous.models.recurring_events.EventExceptionBase, ls.joyous.models.recurring_events.CancellationBase + :top-classes: wagtail.models.Page, ls.joyous.models.recurring_events.EventExceptionBase, ls.joyous.models.recurring_events.CancellationBase :parts: 1 .. autoclass:: ClosedForHolidaysPage :show-inheritance: @@ -431,7 +431,7 @@ ClosedForHolidaysPage ExtCancellationPage ------------------- .. inheritance-diagram:: ExtCancellationPage - :top-classes: wagtail.core.models.Page, ls.joyous.models.recurring_events.EventExceptionBase, ls.joyous.models.recurring_events.CancellationBase + :top-classes: wagtail.models.Page, ls.joyous.models.recurring_events.EventExceptionBase, ls.joyous.models.recurring_events.CancellationBase :parts: 1 .. autoclass:: ExtCancellationPage :show-inheritance: diff --git a/docs/reference/models/groups.rst b/docs/reference/models/groups.rst index ba2aed7..5280d48 100644 --- a/docs/reference/models/groups.rst +++ b/docs/reference/models/groups.rst @@ -9,7 +9,7 @@ Groups GroupPage --------- .. inheritance-diagram:: GroupPage - :top-classes: wagtail.core.models.Page + :top-classes: wagtail.models.Page :parts: 1 .. autoclass:: GroupPage :show-inheritance: diff --git a/docs/releases/1.4.0.rst b/docs/releases/1.4.0.rst index 3cb2739..528a8dc 100644 --- a/docs/releases/1.4.0.rst +++ b/docs/releases/1.4.0.rst @@ -18,7 +18,7 @@ Compatibility with Wagtail 2.11 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Now that 2.11 is the new LTS for Wagtail replace request.site with Site.find_for_request(request) removing the need -for wagtail.core.middleware.SiteMiddleware. Thanks to Tomas Walch for this. +for wagtail.middleware.SiteMiddleware. Thanks to Tomas Walch for this. Compatibility with Wagtail 2.12 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/ls/joyous/edit_handlers.py b/ls/joyous/edit_handlers.py index 815299c..dba4836 100644 --- a/ls/joyous/edit_handlers.py +++ b/ls/joyous/edit_handlers.py @@ -4,7 +4,7 @@ from django.conf import settings from django.utils import timezone from django.utils.formats import get_format_modules -from wagtail.admin.edit_handlers import (FieldPanel, MultiFieldPanel) +from wagtail.admin.panels import (FieldPanel, MultiFieldPanel) from wagtail.admin.widgets import AdminDateInput, AdminTimeInput try: from wagtail.admin.localization import get_available_admin_languages diff --git a/ls/joyous/forms.py b/ls/joyous/forms.py index c273647..e97764c 100644 --- a/ls/joyous/forms.py +++ b/ls/joyous/forms.py @@ -3,7 +3,7 @@ # ------------------------------------------------------------------------------ import warnings from django.conf import settings -from wagtail.core.models import PageBase +from wagtail.models import PageBase from wagtail.admin.forms import WagtailAdminPageForm # ------------------------------------------------------------------------------ @@ -44,7 +44,7 @@ def save(self, commit=True): return page def _get_assimilated_form(self, assimilated_class): - # based on wagtail.admin.edit_handlers.get_form_for_model + # based on wagtail.admin.panels.get_form_for_model assimilated_class.declared_fields.update(self.declared_fields) attrs = {'model': self._meta.model, 'fields': self._meta.fields, diff --git a/ls/joyous/migrations/0001_initial.py b/ls/joyous/migrations/0001_initial.py index 7808d70..bee8484 100644 --- a/ls/joyous/migrations/0001_initial.py +++ b/ls/joyous/migrations/0001_initial.py @@ -7,7 +7,7 @@ import django.db.models.deletion import ls.joyous.fields import wagtail.contrib.routable_page.models -import wagtail.core.fields +import wagtail.fields class Migration(migrations.Migration): @@ -24,7 +24,7 @@ class Migration(migrations.Migration): name='CalendarPage', fields=[ ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')), - ('intro', wagtail.core.fields.RichTextField(blank=True)), + ('intro', wagtail.fields.RichTextField(blank=True)), ], options={ 'abstract': False, @@ -37,7 +37,7 @@ class Migration(migrations.Migration): ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')), ('except_date', models.DateField(help_text='For this date', verbose_name='For Date')), ('cancellation_title', models.CharField(blank=True, help_text='Show in place of cancelled event (Leave empty to show nothing)', max_length=255, verbose_name='Title')), - ('cancellation_details', wagtail.core.fields.RichTextField(blank=True, help_text='Why was the event cancelled?', verbose_name='Details')), + ('cancellation_details', wagtail.fields.RichTextField(blank=True, help_text='Why was the event cancelled?', verbose_name='Details')), ], options={ 'verbose_name': 'Cancellation', @@ -62,7 +62,7 @@ class Migration(migrations.Migration): fields=[ ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')), ('except_date', models.DateField(help_text='For this date', verbose_name='For Date')), - ('extra_information', wagtail.core.fields.RichTextField(help_text='Information just for this date')), + ('extra_information', wagtail.fields.RichTextField(help_text='Information just for this date')), ], options={ 'verbose_name': 'Extra Event Information', @@ -73,7 +73,7 @@ class Migration(migrations.Migration): name='GroupPage', fields=[ ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')), - ('content', wagtail.core.fields.RichTextField(blank=True, default='')), + ('content', wagtail.fields.RichTextField(blank=True, default='')), ], options={ 'abstract': False, @@ -87,7 +87,7 @@ class Migration(migrations.Migration): ('time_from', models.TimeField(blank=True, null=True, verbose_name='Start time')), ('time_to', models.TimeField(blank=True, null=True, verbose_name='End time')), ('location', models.CharField(blank=True, max_length=255)), - ('details', wagtail.core.fields.RichTextField(blank=True)), + ('details', wagtail.fields.RichTextField(blank=True)), ('website', models.URLField(blank=True)), ('date_from', models.DateField(default=datetime.date.today, verbose_name='Start date')), ('date_to', models.DateField(default=datetime.date.today, verbose_name='End date')), @@ -107,7 +107,7 @@ class Migration(migrations.Migration): ('time_from', models.TimeField(blank=True, null=True, verbose_name='Start time')), ('time_to', models.TimeField(blank=True, null=True, verbose_name='End time')), ('location', models.CharField(blank=True, max_length=255)), - ('details', wagtail.core.fields.RichTextField(blank=True)), + ('details', wagtail.fields.RichTextField(blank=True)), ('website', models.URLField(blank=True)), ('repeat', ls.joyous.fields.RecurrenceField()), ('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='joyous.EventCategory', verbose_name='Category')), @@ -126,7 +126,7 @@ class Migration(migrations.Migration): ('time_from', models.TimeField(blank=True, null=True, verbose_name='Start time')), ('time_to', models.TimeField(blank=True, null=True, verbose_name='End time')), ('location', models.CharField(blank=True, max_length=255)), - ('details', wagtail.core.fields.RichTextField(blank=True)), + ('details', wagtail.fields.RichTextField(blank=True)), ('website', models.URLField(blank=True)), ('date', models.DateField(default=datetime.date.today, verbose_name='Date')), ('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='joyous.EventCategory', verbose_name='Category')), @@ -145,7 +145,7 @@ class Migration(migrations.Migration): ('time_from', models.TimeField(blank=True, null=True, verbose_name='Start time')), ('time_to', models.TimeField(blank=True, null=True, verbose_name='End time')), ('location', models.CharField(blank=True, max_length=255)), - ('details', wagtail.core.fields.RichTextField(blank=True)), + ('details', wagtail.fields.RichTextField(blank=True)), ('website', models.URLField(blank=True)), ('postponement_title', models.CharField(help_text='The title for the postponed event', max_length=255, verbose_name='Title')), ('date', models.DateField(verbose_name='Date')), diff --git a/ls/joyous/migrations/0002_auto_20180228_1449.py b/ls/joyous/migrations/0002_auto_20180228_1449.py index e5730f8..d082215 100644 --- a/ls/joyous/migrations/0002_auto_20180228_1449.py +++ b/ls/joyous/migrations/0002_auto_20180228_1449.py @@ -3,7 +3,7 @@ from __future__ import unicode_literals from django.db import migrations -import wagtail.core.fields +import wagtail.fields class Migration(migrations.Migration): @@ -20,6 +20,6 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='grouppage', name='content', - field=wagtail.core.fields.RichTextField(blank=True, default='', help_text='An area of text for whatever you like'), + field=wagtail.fields.RichTextField(blank=True, default='', help_text='An area of text for whatever you like'), ), ] diff --git a/ls/joyous/migrations/0013_auto_20190221_1152.py b/ls/joyous/migrations/0013_auto_20190221_1152.py index c411faf..6d9f278 100644 --- a/ls/joyous/migrations/0013_auto_20190221_1152.py +++ b/ls/joyous/migrations/0013_auto_20190221_1152.py @@ -7,7 +7,7 @@ import ls.joyous.fields import ls.joyous.models.events import timezone_field.fields -import wagtail.core.fields +import wagtail.fields class Migration(migrations.Migration): @@ -61,7 +61,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='calendarpage', name='intro', - field=wagtail.core.fields.RichTextField(blank=True, verbose_name='intro'), + field=wagtail.fields.RichTextField(blank=True, verbose_name='intro'), ), migrations.AlterField( model_name='calendarpage', @@ -71,7 +71,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='cancellationpage', name='cancellation_details', - field=wagtail.core.fields.RichTextField(blank=True, help_text='Why was the event cancelled?', verbose_name='details'), + field=wagtail.fields.RichTextField(blank=True, help_text='Why was the event cancelled?', verbose_name='details'), ), migrations.AlterField( model_name='cancellationpage', @@ -96,7 +96,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='extrainfopage', name='extra_information', - field=wagtail.core.fields.RichTextField(help_text='Information just for this date', verbose_name='extra information'), + field=wagtail.fields.RichTextField(help_text='Information just for this date', verbose_name='extra information'), ), migrations.AlterField( model_name='extrainfopage', @@ -111,7 +111,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='grouppage', name='content', - field=wagtail.core.fields.RichTextField(blank=True, default='', help_text='An area of text for whatever you like', verbose_name='content'), + field=wagtail.fields.RichTextField(blank=True, default='', help_text='An area of text for whatever you like', verbose_name='content'), ), migrations.AlterField( model_name='multidayeventpage', @@ -131,7 +131,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='multidayeventpage', name='details', - field=wagtail.core.fields.RichTextField(blank=True, verbose_name='details'), + field=wagtail.fields.RichTextField(blank=True, verbose_name='details'), ), migrations.AlterField( model_name='multidayeventpage', @@ -181,7 +181,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='postponementpage', name='details', - field=wagtail.core.fields.RichTextField(blank=True, verbose_name='details'), + field=wagtail.fields.RichTextField(blank=True, verbose_name='details'), ), migrations.AlterField( model_name='postponementpage', @@ -226,7 +226,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='recurringeventpage', name='details', - field=wagtail.core.fields.RichTextField(blank=True, verbose_name='details'), + field=wagtail.fields.RichTextField(blank=True, verbose_name='details'), ), migrations.AlterField( model_name='recurringeventpage', @@ -286,7 +286,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='simpleeventpage', name='details', - field=wagtail.core.fields.RichTextField(blank=True, verbose_name='details'), + field=wagtail.fields.RichTextField(blank=True, verbose_name='details'), ), migrations.AlterField( model_name='simpleeventpage', diff --git a/ls/joyous/migrations/0014_auto_20190328_0652.py b/ls/joyous/migrations/0014_auto_20190328_0652.py index 7865d22..f1a9534 100644 --- a/ls/joyous/migrations/0014_auto_20190328_0652.py +++ b/ls/joyous/migrations/0014_auto_20190328_0652.py @@ -1,7 +1,7 @@ # Generated by Django 2.1.5 on 2019-03-27 17:52 from django.db import migrations -import wagtail.core.fields +import wagtail.fields class Migration(migrations.Migration): @@ -30,11 +30,11 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='calendarpage', name='intro', - field=wagtail.core.fields.RichTextField(blank=True, help_text='Introductory text.', verbose_name='intro'), + field=wagtail.fields.RichTextField(blank=True, help_text='Introductory text.', verbose_name='intro'), ), migrations.AlterField( model_name='extrainfopage', name='extra_information', - field=wagtail.core.fields.RichTextField(blank=True, help_text='Information just for this date', verbose_name='extra information'), + field=wagtail.fields.RichTextField(blank=True, help_text='Information just for this date', verbose_name='extra information'), ), ] diff --git a/ls/joyous/migrations/0016_closedfor_closedforholidayspage.py b/ls/joyous/migrations/0016_closedfor_closedforholidayspage.py index 0651ff0..b3e3a9c 100644 --- a/ls/joyous/migrations/0016_closedfor_closedforholidayspage.py +++ b/ls/joyous/migrations/0016_closedfor_closedforholidayspage.py @@ -3,7 +3,7 @@ from django.db import migrations, models import django.db.models.deletion import modelcluster.fields -import wagtail.core.fields +import wagtail.fields class Migration(migrations.Migration): @@ -20,7 +20,7 @@ class Migration(migrations.Migration): ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')), ('all_holidays', models.BooleanField(default=True, help_text='Cancel any occurence of this event on a public holiday')), ('cancellation_title', models.CharField(blank=True, help_text='Show in place of cancelled event (Leave empty to show nothing)', max_length=255, verbose_name='title')), - ('cancellation_details', wagtail.core.fields.RichTextField(blank=True, help_text='Why was the event cancelled?', verbose_name='details')), + ('cancellation_details', wagtail.fields.RichTextField(blank=True, help_text='Why was the event cancelled?', verbose_name='details')), ('overrides', models.ForeignKey(help_text='The recurring event that we are updating.', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='joyous.RecurringEventPage', verbose_name='overrides')), ], options={ diff --git a/ls/joyous/migrations/0017_extcancellationpage.py b/ls/joyous/migrations/0017_extcancellationpage.py index 5daadbe..917a615 100644 --- a/ls/joyous/migrations/0017_extcancellationpage.py +++ b/ls/joyous/migrations/0017_extcancellationpage.py @@ -2,7 +2,7 @@ from django.db import migrations, models import django.db.models.deletion -import wagtail.core.fields +import wagtail.fields class Migration(migrations.Migration): @@ -17,7 +17,7 @@ class Migration(migrations.Migration): fields=[ ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')), ('cancellation_title', models.CharField(blank=True, help_text='Show in place of cancelled event (Leave empty to show nothing)', max_length=255, verbose_name='title')), - ('cancellation_details', wagtail.core.fields.RichTextField(blank=True, help_text='Why was the event cancelled?', verbose_name='details')), + ('cancellation_details', wagtail.fields.RichTextField(blank=True, help_text='Why was the event cancelled?', verbose_name='details')), ('cancelled_from_date', models.DateField(help_text='Cancelled from this date', verbose_name='From Date')), ('cancelled_to_date', models.DateField(blank=True, help_text='Cancelled to this date (Leave empty for "until further notice")', null=True, verbose_name='To Date')), ('overrides', models.ForeignKey(help_text='The recurring event that we are updating.', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='joyous.RecurringEventPage', verbose_name='overrides')), diff --git a/ls/joyous/models/calendar.py b/ls/joyous/models/calendar.py index e3aec68..3f84440 100644 --- a/ls/joyous/models/calendar.py +++ b/ls/joyous/models/calendar.py @@ -13,9 +13,9 @@ from django.template.response import TemplateResponse from django.utils import timezone from django.utils.translation import gettext_lazy as _ -from wagtail.core.models import Page, Site -from wagtail.core.fields import RichTextField -from wagtail.admin.edit_handlers import HelpPanel, FieldPanel, MultiFieldPanel +from wagtail.models import Page, Site +from wagtail.fields import RichTextField +from wagtail.admin.panels import HelpPanel, FieldPanel, MultiFieldPanel from wagtail.contrib.routable_page.models import RoutablePageMixin, route from wagtail.search import index from .. import __version__ diff --git a/ls/joyous/models/event_base.py b/ls/joyous/models/event_base.py index eb6cad4..ef69007 100644 --- a/ls/joyous/models/event_base.py +++ b/ls/joyous/models/event_base.py @@ -13,14 +13,14 @@ from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext from timezone_field import TimeZoneField -from wagtail.core.models import Page, PageManager, PageViewRestriction +from wagtail.models import Page, PageManager, PageViewRestriction try: from wagtail.query import PageQuerySet except ImportError: - from wagtail.core.query import PageQuerySet -from wagtail.core.fields import RichTextField -from wagtail.admin.edit_handlers import (FieldPanel, - PageChooserPanel, BaseCompositeEditHandler) + from wagtail.query import PageQuerySet +from wagtail.fields import RichTextField +from wagtail.admin.panels import (FieldPanel, + PageChooserPanel) from wagtail.images import get_image_model_string from wagtail.search import index from wagtail.admin.forms import WagtailAdminPageForm @@ -40,7 +40,7 @@ def _filterContentPanels(panels, remove): for panel in panels: if isinstance(panel, FieldPanel) and panel.field_name in remove: continue - elif isinstance(panel, BaseCompositeEditHandler): + elif isinstance(panel): panel.children = _filterContentPanels(panel.children, remove) retval.append(panel) return retval diff --git a/ls/joyous/models/groups.py b/ls/joyous/models/groups.py index 4ee864f..eb7fc11 100644 --- a/ls/joyous/models/groups.py +++ b/ls/joyous/models/groups.py @@ -5,9 +5,9 @@ from django.core.exceptions import ImproperlyConfigured from django.db import models from django.utils.translation import gettext_lazy as _ -from wagtail.core.models import Page -from wagtail.core.fields import RichTextField -from wagtail.admin.edit_handlers import FieldPanel +from wagtail.models import Page +from wagtail.fields import RichTextField +from wagtail.admin.panels import FieldPanel # ------------------------------------------------------------------------------ # Events can belong to groups diff --git a/ls/joyous/models/one_off_events.py b/ls/joyous/models/one_off_events.py index faeb54d..4025bd7 100644 --- a/ls/joyous/models/one_off_events.py +++ b/ls/joyous/models/one_off_events.py @@ -6,9 +6,8 @@ from django.db.models.query import ModelIterable from django.utils import timezone from django.utils.translation import gettext_lazy as _ -from wagtail.core.models import Page -from wagtail.admin.edit_handlers import FieldPanel -from wagtail.images.edit_handlers import ImageChooserPanel +from wagtail.models import Page +from wagtail.admin.panels import FieldPanel from ..utils.telltime import (todayUtc, getAwareDatetime, getLocalDatetime, getLocalDate, getLocalTime) @@ -78,7 +77,7 @@ class Meta: content_panels = Page.content_panels + [ FieldPanel('category'), - ImageChooserPanel('image'), + FieldPanel('image'), FieldPanel('date'), TimePanel('time_from'), TimePanel('time_to'), @@ -177,7 +176,7 @@ class Meta: content_panels = Page.content_panels + [ FieldPanel('category'), - ImageChooserPanel('image'), + FieldPanel('image'), FieldPanel('date_from'), TimePanel('time_from'), FieldPanel('date_to'), diff --git a/ls/joyous/models/recurring_events.py b/ls/joyous/models/recurring_events.py index ebb7fec..ce86c90 100644 --- a/ls/joyous/models/recurring_events.py +++ b/ls/joyous/models/recurring_events.py @@ -18,11 +18,10 @@ from django.utils.html import format_html from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext, gettext_noop -from wagtail.core.models import Page -from wagtail.core.fields import RichTextField -from wagtail.admin.edit_handlers import (FieldPanel, MultiFieldPanel, +from wagtail.models import Page +from wagtail.fields import RichTextField +from wagtail.admin.panels import (FieldPanel, MultiFieldPanel, PageChooserPanel) -from wagtail.images.edit_handlers import ImageChooserPanel from wagtail.contrib.routable_page.models import RoutablePageMixin, route from wagtail.search import index from wagtail.admin.forms import WagtailAdminPageForm @@ -237,7 +236,7 @@ class Meta: content_panels0 = Page.content_panels + [ FieldPanel('category'), - ImageChooserPanel('image'), + FieldPanel('image'), FieldPanel('repeat')] content_panels1 = [ TimePanel('time_from'), @@ -1228,7 +1227,7 @@ class Meta: postponement_panel0 = [ FieldPanel('postponement_title', classname="full title"), - ImageChooserPanel('image'), + FieldPanel('image'), FieldPanel('date')] postponement_panel1 = [ TimePanel('time_from'), diff --git a/ls/joyous/templatetags/joyous_tags.py b/ls/joyous/templatetags/joyous_tags.py index 1378fe3..3a7abfe 100644 --- a/ls/joyous/templatetags/joyous_tags.py +++ b/ls/joyous/templatetags/joyous_tags.py @@ -6,7 +6,7 @@ from django import template from django.utils import timezone from django.utils.translation import gettext -from wagtail.core.models import Site +from wagtail.models import Site from ..utils.telltime import timeFormat, dateFormat from ..models import getAllEventsByDay from ..models import getAllUpcomingEvents diff --git a/ls/joyous/tests/settings.py b/ls/joyous/tests/settings.py index 66e03f4..3b565d2 100644 --- a/ls/joyous/tests/settings.py +++ b/ls/joyous/tests/settings.py @@ -81,7 +81,7 @@ 'wagtail.images', 'wagtail.search', 'wagtail.admin', - 'wagtail.core', + 'wagtail', 'modelcluster', 'taggit', diff --git a/ls/joyous/tests/test_calendar.py b/ls/joyous/tests/test_calendar.py index 8c553a3..07f4c14 100644 --- a/ls/joyous/tests/test_calendar.py +++ b/ls/joyous/tests/test_calendar.py @@ -9,8 +9,8 @@ from django.test import RequestFactory from django.utils import translation from django.urls import reverse -from wagtail.admin.edit_handlers import get_form_for_model -from wagtail.core.models import Site, Page +from wagtail.admin.panels import get_form_for_model +from wagtail.models import Site, Page from ls.joyous.models import (CalendarPage, SpecificCalendarPage, CalendarPageForm, GeneralCalendarPage) from ls.joyous.models import SimpleEventPage diff --git a/ls/joyous/tests/test_cancellation.py b/ls/joyous/tests/test_cancellation.py index fef61e7..8556ac0 100644 --- a/ls/joyous/tests/test_cancellation.py +++ b/ls/joyous/tests/test_cancellation.py @@ -7,7 +7,7 @@ from django.test import RequestFactory, TestCase from django.contrib.auth.models import User from django.utils import timezone -from wagtail.core.models import Page, PageViewRestriction +from wagtail.models import Page, PageViewRestriction from ls.joyous.models import CalendarPage from ls.joyous.models import RecurringEventPage from ls.joyous.models import CancellationPage diff --git a/ls/joyous/tests/test_closed_for_holidays.py b/ls/joyous/tests/test_closed_for_holidays.py index 00b0cb5..2d973fd 100644 --- a/ls/joyous/tests/test_closed_for_holidays.py +++ b/ls/joyous/tests/test_closed_for_holidays.py @@ -6,8 +6,8 @@ from itertools import islice from django.test import RequestFactory, TestCase from django.contrib.auth.models import User -from wagtail.core.models import Page -from wagtail.tests.utils.form_data import rich_text +from wagtail.models import Page +from wagtail.test.utils.form_data import rich_text from holidays.holiday_base import HolidayBase from ls.joyous.holidays import Holidays from ls.joyous.models import CalendarPage diff --git a/ls/joyous/tests/test_edit_handlers.py b/ls/joyous/tests/test_edit_handlers.py index 73879ae..883fe4e 100644 --- a/ls/joyous/tests/test_edit_handlers.py +++ b/ls/joyous/tests/test_edit_handlers.py @@ -9,9 +9,9 @@ from django.contrib.auth.models import User from django.utils import timezone from django.utils.formats import get_format -from wagtail.admin.edit_handlers import get_form_for_model +from wagtail.admin.panels import get_form_for_model from wagtail.admin.widgets import AdminTimeInput, AdminDateInput -from wagtail.core.models import Site, Page +from wagtail.models import Site, Page from ls.joyous.models.recurring_events import (CancellationPageForm, RecurringEventPageForm, HiddenNumDaysPanel) from ls.joyous.models import (CalendarPage, CancellationPage, diff --git a/ls/joyous/tests/test_event_base.py b/ls/joyous/tests/test_event_base.py index a1c9133..0251416 100644 --- a/ls/joyous/tests/test_event_base.py +++ b/ls/joyous/tests/test_event_base.py @@ -8,7 +8,7 @@ from django.test import TestCase from django.contrib.auth.models import User from django.utils import timezone -from wagtail.core.models import Page, PageViewRestriction +from wagtail.models import Page, PageViewRestriction from ls.joyous.models import (EventBase, removeContentPanels, SimpleEventPage, MultidayEventPage, RecurringEventPage, MultidayRecurringEventPage, PostponementPage, RescheduleMultidayEventPage) diff --git a/ls/joyous/tests/test_ext_cancellation.py b/ls/joyous/tests/test_ext_cancellation.py index fd06ef2..2ae4f6c 100644 --- a/ls/joyous/tests/test_ext_cancellation.py +++ b/ls/joyous/tests/test_ext_cancellation.py @@ -8,8 +8,8 @@ from django.test import RequestFactory, TestCase from django.contrib.auth.models import User from django.utils import timezone -from wagtail.core.models import Page, PageViewRestriction -from wagtail.tests.utils.form_data import rich_text +from wagtail.models import Page, PageViewRestriction +from wagtail.test.utils.form_data import rich_text from ls.joyous.models import CalendarPage from ls.joyous.models import RecurringEventPage from ls.joyous.models import ExtCancellationPage diff --git a/ls/joyous/tests/test_extra_info.py b/ls/joyous/tests/test_extra_info.py index 1d704a1..f019713 100644 --- a/ls/joyous/tests/test_extra_info.py +++ b/ls/joyous/tests/test_extra_info.py @@ -7,8 +7,8 @@ from django.contrib.auth.models import User from django.utils import translation from django.utils import timezone -from wagtail.core.models import Page -from wagtail.tests.utils.form_data import nested_form_data, rich_text +from wagtail.models import Page +from wagtail.test.utils.form_data import nested_form_data, rich_text from ls.joyous.models import CalendarPage from ls.joyous.models import RecurringEventPage, MultidayRecurringEventPage from ls.joyous.models import ExtraInfoPage diff --git a/ls/joyous/tests/test_forms.py b/ls/joyous/tests/test_forms.py index 6de4440..d397c73 100644 --- a/ls/joyous/tests/test_forms.py +++ b/ls/joyous/tests/test_forms.py @@ -6,7 +6,7 @@ from django.test import TestCase, override_settings from django.contrib.auth.models import User from wagtail.admin.forms import WagtailAdminPageForm -from wagtail.core.models import Page +from wagtail.models import Page from ls.joyous.forms import (FormDefender, FormClassOverwriteWarning, FormCannotAssimilateWarning) from ls.joyous.models import CalendarPage diff --git a/ls/joyous/tests/test_getevents.py b/ls/joyous/tests/test_getevents.py index 16475bb..bf116c1 100644 --- a/ls/joyous/tests/test_getevents.py +++ b/ls/joyous/tests/test_getevents.py @@ -10,7 +10,7 @@ from django.core.exceptions import (MultipleObjectsReturned, ObjectDoesNotExist, PermissionDenied) from django.utils import timezone -from wagtail.core.models import Site, Page, PageViewRestriction +from wagtail.models import Site, Page, PageViewRestriction from ls.joyous.utils.recurrence import Recurrence from ls.joyous.utils.recurrence import WEEKLY, MONTHLY, MO, TU, WE, FR, SU from ls.joyous.models import GeneralCalendarPage diff --git a/ls/joyous/tests/test_gevents.py b/ls/joyous/tests/test_gevents.py index 6e9e9eb..fe0d2b0 100644 --- a/ls/joyous/tests/test_gevents.py +++ b/ls/joyous/tests/test_gevents.py @@ -6,7 +6,7 @@ import pytz from django.contrib.auth.models import User from django.test import TestCase -from wagtail.core.models import Site, Page +from wagtail.models import Site, Page from ls.joyous.models.calendar import CalendarPage from ls.joyous.models import (SimpleEventPage, MultidayEventPage, RecurringEventPage) diff --git a/ls/joyous/tests/test_google.py b/ls/joyous/tests/test_google.py index e321100..cac4454 100644 --- a/ls/joyous/tests/test_google.py +++ b/ls/joyous/tests/test_google.py @@ -11,7 +11,7 @@ from django.contrib.messages.storage.fallback import FallbackStorage from django.test import TestCase, RequestFactory from django.utils import timezone -from wagtail.core.models import Site, Page +from wagtail.models import Site, Page from ls.joyous.models.calendar import CalendarPage from ls.joyous.models import (SimpleEventPage, MultidayEventPage, RecurringEventPage, CancellationPage, MultidayRecurringEventPage, diff --git a/ls/joyous/tests/test_group.py b/ls/joyous/tests/test_group.py index a09def6..c239647 100644 --- a/ls/joyous/tests/test_group.py +++ b/ls/joyous/tests/test_group.py @@ -7,7 +7,7 @@ from django_bs_test import TestCase from django.contrib.auth.models import User from django.core.exceptions import ImproperlyConfigured -from wagtail.core.models import Page +from wagtail.models import Page from ls.joyous.models.groups import GroupPage from ls.joyous.models.groups import get_group_model diff --git a/ls/joyous/tests/test_hooks.py b/ls/joyous/tests/test_hooks.py index 4631ac8..b9a25de 100644 --- a/ls/joyous/tests/test_hooks.py +++ b/ls/joyous/tests/test_hooks.py @@ -5,7 +5,7 @@ from unittest.mock import Mock, patch from django.test import TestCase, RequestFactory from django.contrib.auth.models import User -from wagtail.core.models import Page +from wagtail.models import Page from ls.joyous.models.calendar import CalendarPage, CalendarPageForm from ls.joyous.wagtail_hooks import handlePageExport, stashRequest diff --git a/ls/joyous/tests/test_ical.py b/ls/joyous/tests/test_ical.py index afbe4e9..d656c2f 100644 --- a/ls/joyous/tests/test_ical.py +++ b/ls/joyous/tests/test_ical.py @@ -13,7 +13,7 @@ from django.contrib import messages from django.test import TestCase, RequestFactory from django.utils import timezone -from wagtail.core.models import Site, Page +from wagtail.models import Site, Page from ls.joyous.models.calendar import CalendarPage from ls.joyous.models import (SimpleEventPage, MultidayEventPage, RecurringEventPage, CancellationPage, MultidayRecurringEventPage, diff --git a/ls/joyous/tests/test_multiday_event.py b/ls/joyous/tests/test_multiday_event.py index 44ae19b..0fcb519 100644 --- a/ls/joyous/tests/test_multiday_event.py +++ b/ls/joyous/tests/test_multiday_event.py @@ -7,7 +7,7 @@ from django.test import TestCase from django.contrib.auth.models import User from django.utils import timezone -from wagtail.core.models import Page +from wagtail.models import Page from ls.joyous.models import CalendarPage from ls.joyous.models import MultidayEventPage from freezegun import freeze_time diff --git a/ls/joyous/tests/test_multiday_recurring_event.py b/ls/joyous/tests/test_multiday_recurring_event.py index acff2a3..5bfbb4e 100644 --- a/ls/joyous/tests/test_multiday_recurring_event.py +++ b/ls/joyous/tests/test_multiday_recurring_event.py @@ -8,7 +8,7 @@ from django.test import TestCase, RequestFactory from django.contrib.auth.models import User from django.utils import timezone -from wagtail.core.models import Page, PageViewRestriction +from wagtail.models import Page, PageViewRestriction from ls.joyous.utils.recurrence import Recurrence from ls.joyous.utils.recurrence import DAILY, WEEKLY, YEARLY from ls.joyous.utils.recurrence import SA, MO, TU, TH, FR diff --git a/ls/joyous/tests/test_pages.py b/ls/joyous/tests/test_pages.py index d2b0aca..fc0ce0f 100644 --- a/ls/joyous/tests/test_pages.py +++ b/ls/joyous/tests/test_pages.py @@ -8,8 +8,8 @@ from django.contrib.auth.models import Group, Permission from django.utils import translation from wagtail.tests.utils import WagtailPageTests -from wagtail.tests.utils.form_data import nested_form_data, rich_text -from wagtail.core.models import Page +from wagtail.test.utils.form_data import nested_form_data, rich_text +from wagtail.models import Page from ls.joyous.models import (SimpleEventPage, MultidayEventPage, RecurringEventPage, MultidayRecurringEventPage, ExtraInfoPage, CancellationPage, PostponementPage, RescheduleMultidayEventPage, diff --git a/ls/joyous/tests/test_postponement.py b/ls/joyous/tests/test_postponement.py index 71423f9..e1ee293 100644 --- a/ls/joyous/tests/test_postponement.py +++ b/ls/joyous/tests/test_postponement.py @@ -8,9 +8,9 @@ from django_bs_test import TestCase from django.contrib.auth.models import User from django.utils import timezone -from wagtail.core.models import Page -import wagtail.core.models -from wagtail.tests.utils.form_data import rich_text +from wagtail.models import Page +import wagtail.models +from wagtail.test.utils.form_data import rich_text from ls.joyous.models import (GeneralCalendarPage, RecurringEventPage, CancellationPage, PostponementPage) from ls.joyous.utils.recurrence import Recurrence, WEEKLY, MONTHLY, MO, TU, WE, FR @@ -192,11 +192,11 @@ def testCancellationView(self): def testCancellationUrl(self): self.assertEqual(self.postponement.getCancellationUrl(self.request), "/events/test-meeting/1990-10-10-postponement/from/") - was = wagtail.core.models.WAGTAIL_APPEND_SLASH - wagtail.core.models.WAGTAIL_APPEND_SLASH = False + was = wagtail.models.WAGTAIL_APPEND_SLASH + wagtail.models.WAGTAIL_APPEND_SLASH = False self.assertEqual(self.postponement.getCancellationUrl(self.request), "/events/test-meeting/1990-10-10-postponement/from") - wagtail.core.models.WAGTAIL_APPEND_SLASH = was + wagtail.models.WAGTAIL_APPEND_SLASH = was # ------------------------------------------------------------------------------ class TestTZ(TestCase): diff --git a/ls/joyous/tests/test_recurring_event.py b/ls/joyous/tests/test_recurring_event.py index 37ff99e..d5972f0 100644 --- a/ls/joyous/tests/test_recurring_event.py +++ b/ls/joyous/tests/test_recurring_event.py @@ -8,7 +8,7 @@ from django.test import TestCase, RequestFactory from django.contrib.auth.models import User from django.utils import timezone -from wagtail.core.models import Site, Page +from wagtail.models import Site, Page from ls.joyous.utils.recurrence import Recurrence from ls.joyous.utils.recurrence import DAILY, WEEKLY, MONTHLY from ls.joyous.utils.recurrence import TU, TH, SA, SU, EVERYWEEKDAY diff --git a/ls/joyous/tests/test_reschedule_multiday_event.py b/ls/joyous/tests/test_reschedule_multiday_event.py index e3bd039..f561433 100644 --- a/ls/joyous/tests/test_reschedule_multiday_event.py +++ b/ls/joyous/tests/test_reschedule_multiday_event.py @@ -8,8 +8,8 @@ from django_bs_test import TestCase from django.contrib.auth.models import User from django.utils import timezone -from wagtail.core.models import Page -from wagtail.tests.utils.form_data import nested_form_data, rich_text +from wagtail.models import Page +from wagtail.test.utils.form_data import nested_form_data, rich_text from ls.joyous.models import (GeneralCalendarPage, MultidayRecurringEventPage, RescheduleMultidayEventPage) from ls.joyous.utils.recurrence import Recurrence, WEEKLY, MONTHLY, MO, TU, WE, FR diff --git a/ls/joyous/tests/test_rss.py b/ls/joyous/tests/test_rss.py index e406e3a..a006f64 100644 --- a/ls/joyous/tests/test_rss.py +++ b/ls/joyous/tests/test_rss.py @@ -14,7 +14,7 @@ from lxml import etree from django_bs_test import TestCase from django.utils import timezone -from wagtail.core.models import Site, Page +from wagtail.models import Site, Page from wagtail.images.models import Image from wagtail.images.tests.utils import get_test_image_file from ls.joyous.models import CalendarPage diff --git a/ls/joyous/tests/test_signals.py b/ls/joyous/tests/test_signals.py index 1d78b0f..341cb7c 100644 --- a/ls/joyous/tests/test_signals.py +++ b/ls/joyous/tests/test_signals.py @@ -3,7 +3,7 @@ # ------------------------------------------------------------------------------ import sys import datetime as dt -from wagtail.core.models import Page +from wagtail.models import Page from django.test import TestCase, RequestFactory from django.contrib.auth.models import User, AnonymousUser from ls.joyous.models import RecurringEventPage, PostponementPage, GeneralCalendarPage diff --git a/ls/joyous/tests/test_simple_event.py b/ls/joyous/tests/test_simple_event.py index bc2db72..53fecf4 100644 --- a/ls/joyous/tests/test_simple_event.py +++ b/ls/joyous/tests/test_simple_event.py @@ -8,7 +8,7 @@ from django_bs_test import TestCase from django.contrib.auth.models import User, AnonymousUser, Group from django.utils import timezone -from wagtail.core.models import Page, PageViewRestriction +from wagtail.models import Page, PageViewRestriction from ls.joyous.models import SpecificCalendarPage from ls.joyous.models import SimpleEventPage, ThisEvent, EventsOnDay from ls.joyous.models import get_group_model diff --git a/ls/joyous/tests/test_templatetags.py b/ls/joyous/tests/test_templatetags.py index b046d46..fb5c5b6 100644 --- a/ls/joyous/tests/test_templatetags.py +++ b/ls/joyous/tests/test_templatetags.py @@ -7,7 +7,7 @@ from django.utils import timezone from django.template import Context, Template, TemplateSyntaxError from django.test import TestCase, RequestFactory -from wagtail.core.models import Site, Page +from wagtail.models import Site, Page from bs4 import BeautifulSoup from ls.joyous.utils.recurrence import Recurrence from ls.joyous.utils.recurrence import (DAILY, WEEKLY, MONTHLY, YEARLY, diff --git a/ls/joyous/tests/test_this_event.py b/ls/joyous/tests/test_this_event.py index cc97551..80fed90 100644 --- a/ls/joyous/tests/test_this_event.py +++ b/ls/joyous/tests/test_this_event.py @@ -5,7 +5,7 @@ import datetime as dt from django_bs_test import TestCase from django.contrib.auth.models import User -from wagtail.core.models import Page +from wagtail.models import Page from ls.joyous.models import SpecificCalendarPage from ls.joyous.models import SimpleEventPage, ThisEvent diff --git a/ls/joyous/tests/test_vcalendar.py b/ls/joyous/tests/test_vcalendar.py index d19b771..5e7096e 100644 --- a/ls/joyous/tests/test_vcalendar.py +++ b/ls/joyous/tests/test_vcalendar.py @@ -9,7 +9,7 @@ from django.contrib import messages from django.utils import timezone from django.test import TestCase, RequestFactory -from wagtail.core.models import Site, Page, PageViewRestriction +from wagtail.models import Site, Page, PageViewRestriction from ls.joyous.utils.recurrence import Recurrence from ls.joyous.utils.recurrence import DAILY, WEEKLY, YEARLY, MO, TU, WE, TH, FR, SA from ls.joyous.models import (CalendarPage, SimpleEventPage, RecurringEventPage, diff --git a/ls/joyous/tests/test_vevents.py b/ls/joyous/tests/test_vevents.py index b1fba8c..08882ee 100644 --- a/ls/joyous/tests/test_vevents.py +++ b/ls/joyous/tests/test_vevents.py @@ -7,7 +7,7 @@ from icalendar import vDatetime from django.contrib.auth.models import User from django.test import TestCase, RequestFactory -from wagtail.core.models import Site, Page +from wagtail.models import Site, Page from ls.joyous.models.calendar import CalendarPage from ls.joyous.models import (SimpleEventPage, MultidayEventPage, RecurringEventPage, MultidayRecurringEventPage, diff --git a/ls/joyous/tests/test_vutils.py b/ls/joyous/tests/test_vutils.py index 43e4f0d..086bc54 100644 --- a/ls/joyous/tests/test_vutils.py +++ b/ls/joyous/tests/test_vutils.py @@ -6,7 +6,7 @@ import pytz from django.test import TestCase from django.utils import timezone -from wagtail.core.models import Page +from wagtail.models import Page from icalendar import vDatetime, vDate, vRecur, vDDDTypes, vText from ls.joyous.utils.telltime import getLocalDatetime from ls.joyous.formats.ical import (VResults, vDt, vSmart, TimeZoneSpan, VMatch, diff --git a/ls/joyous/tests/testutils.py b/ls/joyous/tests/testutils.py index f5f4623..b8f54d7 100644 --- a/ls/joyous/tests/testutils.py +++ b/ls/joyous/tests/testutils.py @@ -6,7 +6,7 @@ from functools import wraps from django.utils import timezone from dateutil import parser -from wagtail.core.models import Site, Page +from wagtail.models import Site, Page from freezegun import freeze_time # ------------------------------------------------------------------------------ diff --git a/ls/joyous/tests/urls.py b/ls/joyous/tests/urls.py index 4862105..0d16abd 100644 --- a/ls/joyous/tests/urls.py +++ b/ls/joyous/tests/urls.py @@ -5,7 +5,7 @@ from django.contrib import admin from wagtail.admin import urls as wagtailadmin_urls -from wagtail.core import urls as wagtail_urls +from wagtail import urls as wagtail_urls from wagtail.documents import urls as wagtaildocs_urls urlpatterns = [ diff --git a/ls/joyous/wagtail_hooks.py b/ls/joyous/wagtail_hooks.py index 7cd090f..78d1ce5 100644 --- a/ls/joyous/wagtail_hooks.py +++ b/ls/joyous/wagtail_hooks.py @@ -5,7 +5,7 @@ from django.templatetags.static import static from django.http import HttpResponse from django.utils.html import format_html -from wagtail.core import hooks +from wagtail import hooks from wagtail.contrib.modeladmin.options import ModelAdmin from wagtail.contrib.modeladmin.options import modeladmin_register from .models import EventCategory, CalendarPage, CalendarPageForm diff --git a/setup.py b/setup.py index f9cded5..8e149ca 100644 --- a/setup.py +++ b/setup.py @@ -34,6 +34,7 @@ def run(self): "Framework :: Wagtail", "Framework :: Wagtail :: 2", "Framework :: Wagtail :: 3", + "Framework :: Wagtail :: 5" "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", @@ -68,6 +69,7 @@ def run(self): "num2words", "python-dateutil", "feedgen", + "wagtail>=5,<6", ], tests_require=["coverage", "django-beautifulsoup-test", From 4f492d03004136f4fd9c78e8756d42499228b7d4 Mon Sep 17 00:00:00 2001 From: Luk5553 <122272282+Luk5553@users.noreply.github.com> Date: Mon, 7 Aug 2023 13:59:32 +0200 Subject: [PATCH 02/10] Delete unnecessary file. --- .idea/.gitignore | 8 ------- .../inspectionProfiles/profiles_settings.xml | 6 ----- .idea/ls.joyous.iml | 22 ------------------- .idea/misc.xml | 4 ---- .idea/modules.xml | 8 ------- .idea/vcs.xml | 6 ----- 6 files changed, 54 deletions(-) delete mode 100644 .idea/.gitignore delete mode 100644 .idea/inspectionProfiles/profiles_settings.xml delete mode 100644 .idea/ls.joyous.iml delete mode 100644 .idea/misc.xml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 13566b8..0000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Editor-based HTTP Client requests -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml deleted file mode 100644 index 105ce2d..0000000 --- a/.idea/inspectionProfiles/profiles_settings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/ls.joyous.iml b/.idea/ls.joyous.iml deleted file mode 100644 index 8b1d2d0..0000000 --- a/.idea/ls.joyous.iml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 3662515..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index fd49347..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1dd..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file From 04bb1d701918f306d88ed9aa545cdf8abd420536 Mon Sep 17 00:00:00 2001 From: lukas Date: Mon, 7 Aug 2023 14:55:04 +0200 Subject: [PATCH 03/10] Minor change in setup --- setup.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/setup.py b/setup.py index 8e149ca..9c253c1 100644 --- a/setup.py +++ b/setup.py @@ -32,9 +32,7 @@ def run(self): classifiers=["Development Status :: 5 - Production/Stable", "Framework :: Django", "Framework :: Wagtail", - "Framework :: Wagtail :: 2", - "Framework :: Wagtail :: 3", - "Framework :: Wagtail :: 5" + "Framework :: Wagtail :: 5", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", From 1ea5be28409af3754a73441f731490ca4e683a89 Mon Sep 17 00:00:00 2001 From: Lukas Date: Tue, 3 Oct 2023 17:18:52 +0200 Subject: [PATCH 04/10] regular expression fix --- .idea/.gitignore | 3 +++ .idea/inspectionProfiles/profiles_settings.xml | 6 ++++++ .idea/ls.joyous.iml | 12 ++++++++++++ .idea/misc.xml | 6 ++++++ .idea/modules.xml | 8 ++++++++ .idea/vcs.xml | 6 ++++++ ls/joyous/models/calendar.py | 2 +- 7 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/ls.joyous.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/ls.joyous.iml b/.idea/ls.joyous.iml new file mode 100644 index 0000000..8b8c395 --- /dev/null +++ b/.idea/ls.joyous.iml @@ -0,0 +1,12 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..3925182 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..fd49347 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/ls/joyous/models/calendar.py b/ls/joyous/models/calendar.py index 3f84440..6ab51c1 100644 --- a/ls/joyous/models/calendar.py +++ b/ls/joyous/models/calendar.py @@ -156,7 +156,7 @@ def routeDefault(self, request, year=None): else: return self.serveMonth(request, year) - @route(r"^{YYYY}/{Mon}/$(?i)".format(**DatePictures)) + @route(r"^{YYYY}/{Mon}/$".format(**DatePictures)) def routeByMonthAbbr(self, request, year, monthAbbr): """Route a request with a month abbreviation to the monthly view.""" month = (DatePictures['Mon'].index(monthAbbr.lower()) // 4) + 1 From 77c336f3e7eadab07df584fff242afc8eae5a36d Mon Sep 17 00:00:00 2001 From: Lukas Date: Tue, 3 Oct 2023 21:08:47 +0200 Subject: [PATCH 05/10] minor bug fix --- ls/joyous/utils/manythings.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ls/joyous/utils/manythings.py b/ls/joyous/utils/manythings.py index 22444f7..5c99309 100644 --- a/ls/joyous/utils/manythings.py +++ b/ls/joyous/utils/manythings.py @@ -60,7 +60,7 @@ def toTheOrdinal(n, inTitleCase=True): retval = _("the") if inTitleCase: retval = retval.capitalize() - retval += " "+_n2w(n, to="ordinal_num") + retval += " " + str(_n2w(n, to="ordinal_num")) return retval if inTitleCase: retval = retval.capitalize() From ed27bcccf0210206ea7bb6b8f231162fae16d482 Mon Sep 17 00:00:00 2001 From: Lukas Date: Tue, 3 Oct 2023 21:15:10 +0200 Subject: [PATCH 06/10] Remove unwanted files from version control --- .idea/.gitignore | 3 --- .idea/inspectionProfiles/profiles_settings.xml | 6 ------ .idea/ls.joyous.iml | 12 ------------ .idea/misc.xml | 6 ------ .idea/modules.xml | 8 -------- .idea/vcs.xml | 6 ------ 6 files changed, 41 deletions(-) delete mode 100644 .idea/.gitignore delete mode 100644 .idea/inspectionProfiles/profiles_settings.xml delete mode 100644 .idea/ls.joyous.iml delete mode 100644 .idea/misc.xml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 26d3352..0000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml deleted file mode 100644 index 105ce2d..0000000 --- a/.idea/inspectionProfiles/profiles_settings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/ls.joyous.iml b/.idea/ls.joyous.iml deleted file mode 100644 index 8b8c395..0000000 --- a/.idea/ls.joyous.iml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 3925182..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index fd49347..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1dd..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file From 3db04bd0eaec1c8af98893bd5e62a42227de6f10 Mon Sep 17 00:00:00 2001 From: Lukas Date: Tue, 3 Oct 2023 21:15:29 +0200 Subject: [PATCH 07/10] gitignore update --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 2e8a818..f0912c0 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,7 @@ *.wpu *~ .cache +.idea .coverage .tox .webassets-cache From b3513d0c30db973ceee9634ae844a5540eead46f Mon Sep 17 00:00:00 2001 From: Lukas Date: Mon, 5 Feb 2024 09:44:58 +0100 Subject: [PATCH 08/10] migrations --- .../0018_alter_grouppage_page_ptr.py | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 ls/joyous/migrations/0018_alter_grouppage_page_ptr.py diff --git a/ls/joyous/migrations/0018_alter_grouppage_page_ptr.py b/ls/joyous/migrations/0018_alter_grouppage_page_ptr.py new file mode 100644 index 0000000..05b0353 --- /dev/null +++ b/ls/joyous/migrations/0018_alter_grouppage_page_ptr.py @@ -0,0 +1,26 @@ +# Generated by Django 4.2.9 on 2024-02-05 07:42 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + dependencies = [ + ("wagtailcore", "0089_log_entry_data_json_null_to_object"), + ("joyous", "0017_extcancellationpage"), + ] + + operations = [ + migrations.AlterField( + model_name="grouppage", + name="page_ptr", + field=models.OneToOneField( + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + related_name="%(app_label)s_%(model_name)s", + serialize=False, + to="wagtailcore.page", + ), + ), + ] From 99a7a62b514a2fd31972aae84306f12b03c85d17 Mon Sep 17 00:00:00 2001 From: Lukas Date: Sat, 19 Apr 2025 16:49:12 +0200 Subject: [PATCH 09/10] wagtail update --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 9c253c1..5c22c1f 100644 --- a/setup.py +++ b/setup.py @@ -67,7 +67,7 @@ def run(self): "num2words", "python-dateutil", "feedgen", - "wagtail>=5,<6", + "wagtail>=6,<7", ], tests_require=["coverage", "django-beautifulsoup-test", From c2c6142dc3163e54d5cef9b75c56416131cf1b25 Mon Sep 17 00:00:00 2001 From: Lukas Date: Sat, 19 Apr 2025 20:46:24 +0200 Subject: [PATCH 10/10] minor change --- ls/joyous/wagtail_hooks.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ls/joyous/wagtail_hooks.py b/ls/joyous/wagtail_hooks.py index 78d1ce5..bd09d5b 100644 --- a/ls/joyous/wagtail_hooks.py +++ b/ls/joyous/wagtail_hooks.py @@ -6,8 +6,8 @@ from django.http import HttpResponse from django.utils.html import format_html from wagtail import hooks -from wagtail.contrib.modeladmin.options import ModelAdmin -from wagtail.contrib.modeladmin.options import modeladmin_register +from wagtail_modeladmin.options import ModelAdmin +from wagtail_modeladmin.options import modeladmin_register from .models import EventCategory, CalendarPage, CalendarPageForm from .formats import NullHandler, ICalHandler, GoogleCalendarHandler, RssHandler