From d25766c6b1dc9ccc9dbb1cd022cc7e6ab82be84f Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sat, 25 Apr 2026 21:58:50 +0200 Subject: [PATCH 01/47] requirements: Switch to Wagtail 3 --- requirements/base.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/base.in b/requirements/base.in index c42dab1..7c6e97c 100644 --- a/requirements/base.in +++ b/requirements/base.in @@ -12,7 +12,7 @@ sentence-transformers html2text # Wagtail -wagtail +wagtail ~= 3.0.3 wagtail-modeltranslation wagtail-orderable From ce694602128d631039cab90d09d0c01b9208c37b Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sat, 25 Apr 2026 21:57:18 +0200 Subject: [PATCH 02/47] config: Fix debug toolbar warning See https://github.com/django-commons/django-debug-toolbar/issues/1550 --- config/settings/local.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/settings/local.py b/config/settings/local.py index 27785ef..296d10a 100644 --- a/config/settings/local.py +++ b/config/settings/local.py @@ -24,6 +24,9 @@ # TEMPLATES # ------------------------------------------------------------------------------ TEMPLATES[0]['OPTIONS']['debug'] = DEBUG # noqa F405 +SILENCED_SYSTEM_CHECKS = [ + "debug_toolbar.W006", # See https://github.com/django-commons/django-debug-toolbar/issues/1550 +] # EMAIL # ------------------------------------------------------------------------------ From 4d294d950187c6059e080a006ce04a0f1851654d Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sat, 25 Apr 2026 22:01:28 +0200 Subject: [PATCH 03/47] config: Replace obsolete postgres_search --- config/settings/base.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/config/settings/base.py b/config/settings/base.py index 65afa16..d1afdfb 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -58,7 +58,6 @@ 'wagtail.search', 'wagtail.admin', 'wagtail.core', - 'wagtail.contrib.postgres_search', 'wagtail.contrib.search_promotions', 'wagtail.contrib.table_block', 'wagtail.contrib.modeladmin', @@ -244,7 +243,7 @@ # SEARCH WAGTAILSEARCH_BACKENDS = { 'default': { - 'BACKEND': 'wagtail.contrib.postgres_search.backend', + 'BACKEND': 'wagtail.search.backends.database', } } From 0fbec47e058fe99f9719afc869221546e4558df1 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sat, 25 Apr 2026 22:24:49 +0200 Subject: [PATCH 04/47] base/views: Remove obsolete is_safe_url() --- mpicms/base/views.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/mpicms/base/views.py b/mpicms/base/views.py index c428df7..affdf21 100644 --- a/mpicms/base/views.py +++ b/mpicms/base/views.py @@ -3,7 +3,6 @@ from django.shortcuts import get_object_or_404, redirect from django.core.exceptions import PermissionDenied from django.views.decorators.http import require_POST -from django.utils.http import is_safe_url from django.utils.translation import gettext as _ from wagtail.admin import messages @@ -100,7 +99,7 @@ def subscribe(request, page_id): # Redirect redirect_to = request.POST.get('next', None) - if redirect_to and is_safe_url(url=redirect_to, allowed_hosts={request.get_host()}): + if redirect_to: return redirect(redirect_to) else: return redirect('wagtailadmin_explore', page.get_parent().id) @@ -117,7 +116,7 @@ def unsubscribe(request, page_id): # Redirect redirect_to = request.POST.get('next', None) - if redirect_to and is_safe_url(url=redirect_to, allowed_hosts={request.get_host()}): + if redirect_to: return redirect(redirect_to) else: return redirect('wagtailadmin_explore', page.get_parent().id) From a3ade51c442cdf92b43bcfd4c06038202e282306 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sat, 25 Apr 2026 22:25:19 +0200 Subject: [PATCH 05/47] Remove version freeze of wagtailvideos --- requirements/base.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/base.in b/requirements/base.in index 7c6e97c..be214a3 100644 --- a/requirements/base.in +++ b/requirements/base.in @@ -20,4 +20,4 @@ markdown pygments ics django-auth-ldap -git+https://github.com/neon-jungle/wagtailvideos@3cd93351b67c7d72a0b6b4ac74a62410d5e6bccb +wagtailvideos From d20396fbaef87c967b38a7fa0dd802f0166df83b Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sat, 25 Apr 2026 22:26:34 +0200 Subject: [PATCH 06/47] users/views: Replace ugettext with gettext --- mpicms/users/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mpicms/users/views.py b/mpicms/users/views.py index b1f7fd2..103b469 100644 --- a/mpicms/users/views.py +++ b/mpicms/users/views.py @@ -1,7 +1,7 @@ from django.contrib.auth import update_session_auth_hash from django.shortcuts import get_object_or_404, redirect, render from django.urls import reverse -from django.utils.translation import ugettext as _ +from django.utils.translation import gettext as _ from wagtail.admin import messages from wagtail.admin.auth import permission_required From 84fb2cc509c82ac3b6cee047020938b927212c7b Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sat, 25 Apr 2026 22:34:27 +0200 Subject: [PATCH 07/47] users/forms: Remove obsolete comment --- mpicms/users/forms.py | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/mpicms/users/forms.py b/mpicms/users/forms.py index 68cd12d..fb3f79d 100644 --- a/mpicms/users/forms.py +++ b/mpicms/users/forms.py @@ -7,23 +7,6 @@ User ) - -# from django import forms -# from django.utils.translation import ugettext_lazy as _ - -# from wagtail.users.forms import UserEditForm, UserCreationForm - - -# class CustomUserEditForm(UserEditForm): -# phone = forms.IntegerField(label=_("Phone")) -# office = forms.CharField(label=("Office")) - - -# class CustomUserCreationForm(UserCreationForm): -# phone = forms.IntegerField(label=_("Phone")) -# office = forms.CharField(label=("Office")) - - class UserEditForm(WagtailUserEditForm): password_required = False From 41af03c644aec3f20c5c4c8a64d810826636496a Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sat, 25 Apr 2026 22:34:47 +0200 Subject: [PATCH 08/47] settings: Add WAGTAILADMIN_BASE_URL --- config/settings/base.py | 1 + 1 file changed, 1 insertion(+) diff --git a/config/settings/base.py b/config/settings/base.py index d1afdfb..04c08b4 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -234,6 +234,7 @@ # WAGTAIL WAGTAIL_SITE_NAME = 'MPI CMS' +WAGTAILADMIN_BASE_URL = "https://intranet.molgen.mpg.de" # WAGTAIL_USER_EDIT_FORM = 'mpicms.users.forms.CustomUserEditForm' # WAGTAIL_USER_CREATION_FORM = 'mpicms.users.forms.CustomUserCreationForm' # WAGTAIL_USER_CUSTOM_FIELDS = ['phone', 'office'] From e21f03dd08fc90f0c183c435ad46ebd497244031 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sat, 25 Apr 2026 22:39:02 +0200 Subject: [PATCH 09/47] settings: Add DEFAULT_AUTO_FIELD Avoid W042 warnings like base.FeaturedImage: (models.W042) Auto-created primary key used when not defining a primary key type, by default 'django.db.models.AutoField'. HINT: Configure the DEFAULT_AUTO_FIELD setting or the BaseAppConfig.default_auto_field attribute to point to a subclass of AutoField, e.g. 'django.db.models.BigAutoField'. --- config/settings/base.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/settings/base.py b/config/settings/base.py index 04c08b4..08aa558 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -18,6 +18,8 @@ USE_L10N = True USE_TZ = True +DEFAULT_AUTO_FIELD = 'django.db.models.AutoField' + # DATABASES # ------------------------------------------------------------------------------ DATABASES = { From eadc8921ba2c498fa1070597e4e45a24ae999132 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sat, 25 Apr 2026 22:51:23 +0200 Subject: [PATCH 10/47] models: Add missing search_fields bases Avoid warning like base.FormPage: (wagtailsearch.W001) Core Page fields missing in `search_fields` HINT: Ensure that FormPage extends the Page model search fields `search_fields = Page.search_fields + [...]` --- mpicms/base/mixins.py | 4 ++-- mpicms/base/models.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mpicms/base/mixins.py b/mpicms/base/mixins.py index 7696505..74d3b3c 100644 --- a/mpicms/base/mixins.py +++ b/mpicms/base/mixins.py @@ -55,7 +55,7 @@ class BodyMixin(Page): FieldPanel('show_toc') ] - search_fields = [ + search_fields = Page.search_fields + [ index.SearchField('body'), index.SearchField("search_description"), ] @@ -98,7 +98,7 @@ class SideBarMixin(Page): StreamFieldPanel('sidebar'), ] - search_fields = [ + search_fields = Page.search_fields + [ index.SearchField('sidebar'), ] diff --git a/mpicms/base/models.py b/mpicms/base/models.py index abccb72..6937955 100644 --- a/mpicms/base/models.py +++ b/mpicms/base/models.py @@ -130,7 +130,7 @@ class Meta: # noqa class PhonelistPage(BasePage): content_panels = Page.content_panels promote_panels = Page.promote_panels - search_fields = [ + search_fields = Page.search_fields + [ index.SearchField("search_description"), ] From 88ecbeb0931a370adb92288cc167fe7a9837727c Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sun, 26 Apr 2026 10:49:58 +0200 Subject: [PATCH 11/47] requirements: Update Wagtail from 3.x to 4.x --- requirements/base.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/base.in b/requirements/base.in index be214a3..3aafd70 100644 --- a/requirements/base.in +++ b/requirements/base.in @@ -12,7 +12,7 @@ sentence-transformers html2text # Wagtail -wagtail ~= 3.0.3 +wagtail ~= 4.2.4 wagtail-modeltranslation wagtail-orderable From f557ca311bbc71980dbdc9bbcdbe09d456e4bda3 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sun, 26 Apr 2026 11:34:17 +0200 Subject: [PATCH 12/47] Fix module names for Wagtail 4.x --- config/settings/base.py | 2 +- config/urls.py | 2 +- mpicms/base/blocks.py | 2 +- mpicms/base/migrations/0001_initial.py | 18 +++++++-------- .../migrations/0002_auto_20190525_1616.py | 10 ++++----- .../migrations/0010_auto_20190605_1313.py | 8 +++---- .../migrations/0012_auto_20190607_1139.py | 10 ++++----- .../migrations/0015_auto_20190615_1127.py | 8 +++---- mpicms/base/migrations/0019_chooserpage.py | 10 ++++----- .../migrations/0020_auto_20190624_1239.py | 10 ++++----- .../migrations/0021_auto_20190624_1346.py | 16 +++++++------- .../migrations/0022_auto_20190624_1350.py | 16 +++++++------- .../migrations/0023_auto_20190624_1358.py | 16 +++++++------- .../base/migrations/0024_homepage_sidebar.py | 6 ++--- .../migrations/0025_auto_20190703_1615.py | 6 ++--- .../migrations/0026_auto_20190703_1620.py | 6 ++--- .../migrations/0027_auto_20190703_1645.py | 6 ++--- .../migrations/0028_auto_20190703_1705.py | 10 ++++----- .../migrations/0029_auto_20190709_1653.py | 10 ++++----- .../migrations/0030_rootpage_footer_items.py | 6 ++--- .../migrations/0031_auto_20190712_1221.py | 6 ++--- .../migrations/0032_auto_20190712_1224.py | 6 ++--- .../migrations/0033_auto_20190712_1230.py | 8 +++---- .../migrations/0034_auto_20190712_1238.py | 4 ++-- .../migrations/0035_auto_20190712_1247.py | 6 ++--- .../migrations/0036_auto_20190712_1254.py | 6 ++--- .../migrations/0037_auto_20190712_1314.py | 18 +++++++-------- .../migrations/0038_auto_20190712_1318.py | 10 ++++----- .../migrations/0039_auto_20190723_1755.py | 8 +++---- .../migrations/0042_auto_20190903_1751.py | 16 +++++++------- .../migrations/0043_auto_20190909_1515.py | 16 +++++++------- .../migrations/0044_auto_20190909_1537.py | 10 ++++----- .../migrations/0045_auto_20190911_0927.py | 10 ++++----- .../migrations/0046_auto_20190911_0955.py | 10 ++++----- .../migrations/0047_auto_20190911_0957.py | 10 ++++----- .../migrations/0051_formfield_formpage.py | 22 +++++++++---------- .../migrations/0053_auto_20210114_1926.py | 16 +++++++------- mpicms/base/mixins.py | 8 +++---- mpicms/base/models.py | 14 ++++++------ mpicms/base/tests.py | 2 +- mpicms/base/views.py | 4 ++-- mpicms/base/wagtail_hooks.py | 2 +- mpicms/chat/services.py | 2 +- mpicms/events/migrations/0001_initial.py | 8 +++---- .../migrations/0004_auto_20190624_1346.py | 10 ++++----- .../migrations/0005_auto_20190624_1350.py | 10 ++++----- .../migrations/0006_auto_20190624_1358.py | 10 ++++----- .../migrations/0010_auto_20190903_1751.py | 10 ++++----- .../migrations/0011_auto_20190909_1515.py | 10 ++++----- .../migrations/0014_auto_20210114_1926.py | 10 ++++----- mpicms/events/models.py | 4 ++-- mpicms/news/migrations/0001_initial.py | 8 +++---- .../migrations/0009_auto_20190615_1124.py | 8 +++---- .../migrations/0011_auto_20190624_1346.py | 10 ++++----- .../migrations/0012_auto_20190624_1350.py | 10 ++++----- .../migrations/0013_auto_20190624_1358.py | 10 ++++----- .../migrations/0016_auto_20190903_1751.py | 10 ++++----- .../migrations/0017_auto_20190909_1515.py | 10 ++++----- .../news/migrations/0022_newsentry_sidebar.py | 6 ++--- .../migrations/0023_auto_20200304_1706.py | 8 +++---- .../migrations/0024_auto_20210114_1926.py | 10 ++++----- mpicms/news/models.py | 4 ++-- mpicms/personal/models.py | 2 +- .../publications/migrations/0001_initial.py | 10 ++++----- .../migrations/0002_auto_20190905_1119.py | 10 ++++----- .../migrations/0003_auto_20190905_1120.py | 8 +++---- mpicms/publications/models.py | 4 ++-- mpicms/users/templatetags/users_tags.py | 2 +- mpicms/users/views.py | 2 +- scripts/ai.py | 2 +- 70 files changed, 299 insertions(+), 299 deletions(-) diff --git a/config/settings/base.py b/config/settings/base.py index 08aa558..f6c872f 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -59,7 +59,7 @@ 'wagtail.images', 'wagtail.search', 'wagtail.admin', - 'wagtail.core', + 'wagtail', 'wagtail.contrib.search_promotions', 'wagtail.contrib.table_block', 'wagtail.contrib.modeladmin', diff --git a/config/urls.py b/config/urls.py index 08f2404..24c3b51 100644 --- a/config/urls.py +++ b/config/urls.py @@ -1,6 +1,6 @@ from wagtail.admin import urls as wagtailadmin_urls from wagtail.documents import urls as wagtaildocs_urls -from wagtail.core import urls as wagtail_urls +from wagtail import urls as wagtail_urls from wagtail.contrib.sitemaps.views import sitemap from django.conf import settings diff --git a/mpicms/base/blocks.py b/mpicms/base/blocks.py index c23927d..d23a203 100644 --- a/mpicms/base/blocks.py +++ b/mpicms/base/blocks.py @@ -1,7 +1,7 @@ from django.utils.translation import gettext_lazy as _ from django.utils.functional import cached_property -from wagtail.core import blocks +from wagtail import blocks from wagtail.snippets.blocks import SnippetChooserBlock from wagtail.contrib.table_block.blocks import TableBlock as WagtailTableBlock import wagtailvideos.models diff --git a/mpicms/base/migrations/0001_initial.py b/mpicms/base/migrations/0001_initial.py index 561ee94..2aa32ec 100644 --- a/mpicms/base/migrations/0001_initial.py +++ b/mpicms/base/migrations/0001_initial.py @@ -2,8 +2,8 @@ from django.db import migrations, models import django.db.models.deletion -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.images.blocks @@ -20,10 +20,10 @@ class Migration(migrations.Migration): name='CategoryPage', 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')), - ('body', wagtail.core.fields.StreamField([('heading', wagtail.core.blocks.CharBlock(classname='full title')), ('text', wagtail.core.blocks.RichTextBlock()), ('image', wagtail.images.blocks.ImageChooserBlock()), ('url', wagtail.core.blocks.URLBlock())], blank=True)), - ('body_en', wagtail.core.fields.StreamField([('heading', wagtail.core.blocks.CharBlock(classname='full title')), ('text', wagtail.core.blocks.RichTextBlock()), ('image', wagtail.images.blocks.ImageChooserBlock()), ('url', wagtail.core.blocks.URLBlock())], blank=True, null=True)), - ('body_de', wagtail.core.fields.StreamField([('heading', wagtail.core.blocks.CharBlock(classname='full title')), ('text', wagtail.core.blocks.RichTextBlock()), ('image', wagtail.images.blocks.ImageChooserBlock()), ('url', wagtail.core.blocks.URLBlock())], blank=True, null=True)), - ('side_content', wagtail.core.fields.StreamField([('information', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(classname='full title')), ('content', wagtail.core.blocks.TextBlock())], icon='list-ul'))], blank=True)), + ('body', wagtail.fields.StreamField([('heading', wagtail.blocks.CharBlock(classname='full title')), ('text', wagtail.blocks.RichTextBlock()), ('image', wagtail.images.blocks.ImageChooserBlock()), ('url', wagtail.blocks.URLBlock())], blank=True)), + ('body_en', wagtail.fields.StreamField([('heading', wagtail.blocks.CharBlock(classname='full title')), ('text', wagtail.blocks.RichTextBlock()), ('image', wagtail.images.blocks.ImageChooserBlock()), ('url', wagtail.blocks.URLBlock())], blank=True, null=True)), + ('body_de', wagtail.fields.StreamField([('heading', wagtail.blocks.CharBlock(classname='full title')), ('text', wagtail.blocks.RichTextBlock()), ('image', wagtail.images.blocks.ImageChooserBlock()), ('url', wagtail.blocks.URLBlock())], blank=True, null=True)), + ('side_content', wagtail.fields.StreamField([('information', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(classname='full title')), ('content', wagtail.blocks.TextBlock())], icon='list-ul'))], blank=True)), ], options={ 'abstract': False, @@ -44,9 +44,9 @@ class Migration(migrations.Migration): name='WikiPage', 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')), - ('body', wagtail.core.fields.StreamField([('heading', wagtail.core.blocks.CharBlock(classname='full title')), ('text', wagtail.core.blocks.RichTextBlock()), ('image', wagtail.images.blocks.ImageChooserBlock()), ('url', wagtail.core.blocks.URLBlock())], blank=True)), - ('body_en', wagtail.core.fields.StreamField([('heading', wagtail.core.blocks.CharBlock(classname='full title')), ('text', wagtail.core.blocks.RichTextBlock()), ('image', wagtail.images.blocks.ImageChooserBlock()), ('url', wagtail.core.blocks.URLBlock())], blank=True, null=True)), - ('body_de', wagtail.core.fields.StreamField([('heading', wagtail.core.blocks.CharBlock(classname='full title')), ('text', wagtail.core.blocks.RichTextBlock()), ('image', wagtail.images.blocks.ImageChooserBlock()), ('url', wagtail.core.blocks.URLBlock())], blank=True, null=True)), + ('body', wagtail.fields.StreamField([('heading', wagtail.blocks.CharBlock(classname='full title')), ('text', wagtail.blocks.RichTextBlock()), ('image', wagtail.images.blocks.ImageChooserBlock()), ('url', wagtail.blocks.URLBlock())], blank=True)), + ('body_en', wagtail.fields.StreamField([('heading', wagtail.blocks.CharBlock(classname='full title')), ('text', wagtail.blocks.RichTextBlock()), ('image', wagtail.images.blocks.ImageChooserBlock()), ('url', wagtail.blocks.URLBlock())], blank=True, null=True)), + ('body_de', wagtail.fields.StreamField([('heading', wagtail.blocks.CharBlock(classname='full title')), ('text', wagtail.blocks.RichTextBlock()), ('image', wagtail.images.blocks.ImageChooserBlock()), ('url', wagtail.blocks.URLBlock())], blank=True, null=True)), ('date', models.DateField(auto_now_add=True, verbose_name='Post date')), ], options={ diff --git a/mpicms/base/migrations/0002_auto_20190525_1616.py b/mpicms/base/migrations/0002_auto_20190525_1616.py index 7f4bfe9..36d9872 100644 --- a/mpicms/base/migrations/0002_auto_20190525_1616.py +++ b/mpicms/base/migrations/0002_auto_20190525_1616.py @@ -1,7 +1,7 @@ # Generated by Django 2.2.1 on 2019-05-25 14:16 from django.db import migrations -import wagtail.core.fields +import wagtail.fields class Migration(migrations.Migration): @@ -22,21 +22,21 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='categorypage', name='body', - field=wagtail.core.fields.RichTextField(blank=True, verbose_name='content'), + field=wagtail.fields.RichTextField(blank=True, verbose_name='content'), ), migrations.AlterField( model_name='categorypage', name='body_de', - field=wagtail.core.fields.RichTextField(blank=True, null=True, verbose_name='content'), + field=wagtail.fields.RichTextField(blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='categorypage', name='body_en', - field=wagtail.core.fields.RichTextField(blank=True, null=True, verbose_name='content'), + field=wagtail.fields.RichTextField(blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='categorypage', name='side_content', - field=wagtail.core.fields.RichTextField(blank=True, help_text='Information displayed on the page in the sidebar', verbose_name='sidebar content'), + field=wagtail.fields.RichTextField(blank=True, help_text='Information displayed on the page in the sidebar', verbose_name='sidebar content'), ), ] diff --git a/mpicms/base/migrations/0010_auto_20190605_1313.py b/mpicms/base/migrations/0010_auto_20190605_1313.py index feada4e..35e9d17 100644 --- a/mpicms/base/migrations/0010_auto_20190605_1313.py +++ b/mpicms/base/migrations/0010_auto_20190605_1313.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): @@ -19,9 +19,9 @@ class Migration(migrations.Migration): ('title', models.CharField(max_length=200)), ('title_en', models.CharField(max_length=200, null=True)), ('title_de', models.CharField(max_length=200, null=True)), - ('text', wagtail.core.fields.RichTextField()), - ('text_en', wagtail.core.fields.RichTextField(null=True)), - ('text_de', wagtail.core.fields.RichTextField(null=True)), + ('text', wagtail.fields.RichTextField()), + ('text_en', wagtail.fields.RichTextField(null=True)), + ('text_de', wagtail.fields.RichTextField(null=True)), ], ), migrations.AddField( diff --git a/mpicms/base/migrations/0012_auto_20190607_1139.py b/mpicms/base/migrations/0012_auto_20190607_1139.py index f1c5789..3d625b7 100644 --- a/mpicms/base/migrations/0012_auto_20190607_1139.py +++ b/mpicms/base/migrations/0012_auto_20190607_1139.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): @@ -27,17 +27,17 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='banner', name='text', - field=wagtail.core.fields.RichTextField(verbose_name='text'), + field=wagtail.fields.RichTextField(verbose_name='text'), ), migrations.AlterField( model_name='banner', name='text_de', - field=wagtail.core.fields.RichTextField(null=True, verbose_name='text'), + field=wagtail.fields.RichTextField(null=True, verbose_name='text'), ), migrations.AlterField( model_name='banner', name='text_en', - field=wagtail.core.fields.RichTextField(null=True, verbose_name='text'), + field=wagtail.fields.RichTextField(null=True, verbose_name='text'), ), migrations.AlterField( model_name='banner', @@ -72,7 +72,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='categorypage', name='side_content', - field=wagtail.core.fields.RichTextField(blank=True, help_text='Text displayed in the sidebar of all child pages', verbose_name='sidebar content'), + field=wagtail.fields.RichTextField(blank=True, help_text='Text displayed in the sidebar of all child pages', verbose_name='sidebar content'), ), migrations.AlterField( model_name='contacts', diff --git a/mpicms/base/migrations/0015_auto_20190615_1127.py b/mpicms/base/migrations/0015_auto_20190615_1127.py index 6afb943..125f9d3 100644 --- a/mpicms/base/migrations/0015_auto_20190615_1127.py +++ b/mpicms/base/migrations/0015_auto_20190615_1127.py @@ -1,7 +1,7 @@ # Generated by Django 2.2.2 on 2019-06-15 09:27 from django.db import migrations -import wagtail.core.fields +import wagtail.fields class Migration(migrations.Migration): @@ -14,16 +14,16 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='wikipage', name='body', - field=wagtail.core.fields.RichTextField(blank=True, verbose_name='content'), + field=wagtail.fields.RichTextField(blank=True, verbose_name='content'), ), migrations.AlterField( model_name='wikipage', name='body_de', - field=wagtail.core.fields.RichTextField(blank=True, null=True, verbose_name='content'), + field=wagtail.fields.RichTextField(blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='wikipage', name='body_en', - field=wagtail.core.fields.RichTextField(blank=True, null=True, verbose_name='content'), + field=wagtail.fields.RichTextField(blank=True, null=True, verbose_name='content'), ), ] diff --git a/mpicms/base/migrations/0019_chooserpage.py b/mpicms/base/migrations/0019_chooserpage.py index de24c21..160a4ac 100644 --- a/mpicms/base/migrations/0019_chooserpage.py +++ b/mpicms/base/migrations/0019_chooserpage.py @@ -3,8 +3,8 @@ from django.db import migrations, models import django.db.models.deletion import mpicms.base.blocks -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -19,9 +19,9 @@ class Migration(migrations.Migration): name='ChooserPage', 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')), - ('body', wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown'))])), - ('body_en', wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown'))], null=True)), - ('body_de', wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown'))], null=True)), + ('body', wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown'))])), + ('body_en', wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown'))], null=True)), + ('body_de', wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown'))], null=True)), ], options={ 'verbose_name': 'chooser page', diff --git a/mpicms/base/migrations/0020_auto_20190624_1239.py b/mpicms/base/migrations/0020_auto_20190624_1239.py index 5bfb224..852d505 100644 --- a/mpicms/base/migrations/0020_auto_20190624_1239.py +++ b/mpicms/base/migrations/0020_auto_20190624_1239.py @@ -3,8 +3,8 @@ from django.db import migrations import mpicms.base.blocks import wagtail.contrib.table_block.blocks -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -17,16 +17,16 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='chooserpage', name='body', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))]), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))]), ), migrations.AlterField( model_name='chooserpage', name='body_de', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], null=True), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], null=True), ), migrations.AlterField( model_name='chooserpage', name='body_en', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], null=True), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], null=True), ), ] diff --git a/mpicms/base/migrations/0021_auto_20190624_1346.py b/mpicms/base/migrations/0021_auto_20190624_1346.py index e880bc8..169bc96 100644 --- a/mpicms/base/migrations/0021_auto_20190624_1346.py +++ b/mpicms/base/migrations/0021_auto_20190624_1346.py @@ -3,8 +3,8 @@ from django.db import migrations import mpicms.base.blocks import wagtail.contrib.table_block.blocks -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -21,32 +21,32 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='homepage', name='body', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))]), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))]), ), migrations.AlterField( model_name='homepage', name='body_de', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], null=True), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], null=True), ), migrations.AlterField( model_name='homepage', name='body_en', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], null=True), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], null=True), ), migrations.AlterField( model_name='wikipage', name='body', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))]), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))]), ), migrations.AlterField( model_name='wikipage', name='body_de', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], null=True), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], null=True), ), migrations.AlterField( model_name='wikipage', name='body_en', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], null=True), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], null=True), ), migrations.DeleteModel( name='ChooserPage', diff --git a/mpicms/base/migrations/0022_auto_20190624_1350.py b/mpicms/base/migrations/0022_auto_20190624_1350.py index 42e536c..d9d3f40 100644 --- a/mpicms/base/migrations/0022_auto_20190624_1350.py +++ b/mpicms/base/migrations/0022_auto_20190624_1350.py @@ -3,8 +3,8 @@ from django.db import migrations import mpicms.base.blocks import wagtail.contrib.table_block.blocks -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -17,31 +17,31 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='homepage', name='body', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True), ), migrations.AlterField( model_name='homepage', name='body_de', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True), ), migrations.AlterField( model_name='homepage', name='body_en', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True), ), migrations.AlterField( model_name='wikipage', name='body', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True), ), migrations.AlterField( model_name='wikipage', name='body_de', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True), ), migrations.AlterField( model_name='wikipage', name='body_en', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True), ), ] diff --git a/mpicms/base/migrations/0023_auto_20190624_1358.py b/mpicms/base/migrations/0023_auto_20190624_1358.py index 08c0e9a..884a23c 100644 --- a/mpicms/base/migrations/0023_auto_20190624_1358.py +++ b/mpicms/base/migrations/0023_auto_20190624_1358.py @@ -3,8 +3,8 @@ from django.db import migrations import mpicms.base.blocks import wagtail.contrib.table_block.blocks -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -17,31 +17,31 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='homepage', name='body', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, verbose_name='content'), ), migrations.AlterField( model_name='homepage', name='body_de', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='homepage', name='body_en', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='wikipage', name='body', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, verbose_name='content'), ), migrations.AlterField( model_name='wikipage', name='body_de', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='wikipage', name='body_en', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), ), ] diff --git a/mpicms/base/migrations/0024_homepage_sidebar.py b/mpicms/base/migrations/0024_homepage_sidebar.py index ce55da9..2db95a5 100644 --- a/mpicms/base/migrations/0024_homepage_sidebar.py +++ b/mpicms/base/migrations/0024_homepage_sidebar.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.2 on 2019-07-03 14:07 from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.snippets.blocks @@ -16,6 +16,6 @@ class Migration(migrations.Migration): migrations.AddField( model_name='homepage', name='sidebar', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.core.blocks.ListBlock(wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')))], blank=True, verbose_name='sidebar content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')))], blank=True, verbose_name='sidebar content'), ), ] diff --git a/mpicms/base/migrations/0025_auto_20190703_1615.py b/mpicms/base/migrations/0025_auto_20190703_1615.py index 0628eb8..cd8f157 100644 --- a/mpicms/base/migrations/0025_auto_20190703_1615.py +++ b/mpicms/base/migrations/0025_auto_20190703_1615.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.2 on 2019-07-03 14:15 from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.snippets.blocks @@ -16,6 +16,6 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='homepage', name='sidebar', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.core.blocks.StructBlock([('contact', wagtail.core.blocks.ListBlock(wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact'))), ('information', wagtail.core.blocks.TextBlock())]))], blank=True, verbose_name='sidebar content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.StructBlock([('contact', wagtail.blocks.ListBlock(wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact'))), ('information', wagtail.blocks.TextBlock())]))], blank=True, verbose_name='sidebar content'), ), ] diff --git a/mpicms/base/migrations/0026_auto_20190703_1620.py b/mpicms/base/migrations/0026_auto_20190703_1620.py index c1de47e..1614c76 100644 --- a/mpicms/base/migrations/0026_auto_20190703_1620.py +++ b/mpicms/base/migrations/0026_auto_20190703_1620.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.2 on 2019-07-03 14:20 from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.snippets.blocks @@ -16,6 +16,6 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='homepage', name='sidebar', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(required=False))])))], blank=True, verbose_name='sidebar content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(required=False))])))], blank=True, verbose_name='sidebar content'), ), ] diff --git a/mpicms/base/migrations/0027_auto_20190703_1645.py b/mpicms/base/migrations/0027_auto_20190703_1645.py index 838cd87..323e443 100644 --- a/mpicms/base/migrations/0027_auto_20190703_1645.py +++ b/mpicms/base/migrations/0027_auto_20190703_1645.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.2 on 2019-07-03 14:45 from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.snippets.blocks @@ -20,7 +20,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='homepage', name='sidebar', - field=wagtail.core.fields.StreamField([('Editor', wagtail.core.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'])), ('Contacts', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(required=False))])))], blank=True, verbose_name='sidebar content'), + field=wagtail.fields.StreamField([('Editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'])), ('Contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(required=False))])))], blank=True, verbose_name='sidebar content'), ), migrations.DeleteModel( name='ContactRelation', diff --git a/mpicms/base/migrations/0028_auto_20190703_1705.py b/mpicms/base/migrations/0028_auto_20190703_1705.py index 1e6166e..995863d 100644 --- a/mpicms/base/migrations/0028_auto_20190703_1705.py +++ b/mpicms/base/migrations/0028_auto_20190703_1705.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.2 on 2019-07-03 15:05 from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.snippets.blocks @@ -16,16 +16,16 @@ class Migration(migrations.Migration): migrations.AddField( model_name='homepage', name='sidebar_de', - field=wagtail.core.fields.StreamField([('Editor', wagtail.core.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'])), ('Contacts', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(required=False))]), icon='user'))], blank=True, null=True, verbose_name='sidebar content'), + field=wagtail.fields.StreamField([('Editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'])), ('Contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(required=False))]), icon='user'))], blank=True, null=True, verbose_name='sidebar content'), ), migrations.AddField( model_name='homepage', name='sidebar_en', - field=wagtail.core.fields.StreamField([('Editor', wagtail.core.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'])), ('Contacts', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(required=False))]), icon='user'))], blank=True, null=True, verbose_name='sidebar content'), + field=wagtail.fields.StreamField([('Editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'])), ('Contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(required=False))]), icon='user'))], blank=True, null=True, verbose_name='sidebar content'), ), migrations.AlterField( model_name='homepage', name='sidebar', - field=wagtail.core.fields.StreamField([('Editor', wagtail.core.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'])), ('Contacts', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(required=False))]), icon='user'))], blank=True, verbose_name='sidebar content'), + field=wagtail.fields.StreamField([('Editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'])), ('Contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(required=False))]), icon='user'))], blank=True, verbose_name='sidebar content'), ), ] diff --git a/mpicms/base/migrations/0029_auto_20190709_1653.py b/mpicms/base/migrations/0029_auto_20190709_1653.py index 1ac2b37..b4da5f3 100644 --- a/mpicms/base/migrations/0029_auto_20190709_1653.py +++ b/mpicms/base/migrations/0029_auto_20190709_1653.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.2 on 2019-07-09 14:53 from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.snippets.blocks @@ -16,16 +16,16 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='homepage', name='sidebar', - field=wagtail.core.fields.StreamField([('Editor', wagtail.core.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'])), ('Contacts', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(required=False))]), icon='user', template='base/blocks/contact_block.html'))], blank=True, verbose_name='sidebar content'), + field=wagtail.fields.StreamField([('Editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'])), ('Contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(required=False))]), icon='user', template='base/blocks/contact_block.html'))], blank=True, verbose_name='sidebar content'), ), migrations.AlterField( model_name='homepage', name='sidebar_de', - field=wagtail.core.fields.StreamField([('Editor', wagtail.core.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'])), ('Contacts', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(required=False))]), icon='user', template='base/blocks/contact_block.html'))], blank=True, null=True, verbose_name='sidebar content'), + field=wagtail.fields.StreamField([('Editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'])), ('Contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(required=False))]), icon='user', template='base/blocks/contact_block.html'))], blank=True, null=True, verbose_name='sidebar content'), ), migrations.AlterField( model_name='homepage', name='sidebar_en', - field=wagtail.core.fields.StreamField([('Editor', wagtail.core.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'])), ('Contacts', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(required=False))]), icon='user', template='base/blocks/contact_block.html'))], blank=True, null=True, verbose_name='sidebar content'), + field=wagtail.fields.StreamField([('Editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'])), ('Contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(required=False))]), icon='user', template='base/blocks/contact_block.html'))], blank=True, null=True, verbose_name='sidebar content'), ), ] diff --git a/mpicms/base/migrations/0030_rootpage_footer_items.py b/mpicms/base/migrations/0030_rootpage_footer_items.py index 57d2f04..21cb4c8 100644 --- a/mpicms/base/migrations/0030_rootpage_footer_items.py +++ b/mpicms/base/migrations/0030_rootpage_footer_items.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.2 on 2019-07-12 10:04 from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -15,6 +15,6 @@ class Migration(migrations.Migration): migrations.AddField( model_name='rootpage', name='footer_items', - field=wagtail.core.fields.StreamField([('Menu', wagtail.core.blocks.StructBlock([('Title', wagtail.core.blocks.CharBlock()), ('Items', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('Title', wagtail.core.blocks.CharBlock()), ('URL', wagtail.core.blocks.URLBlock())])))], icon='list-ul'))], blank=True), + field=wagtail.fields.StreamField([('Menu', wagtail.blocks.StructBlock([('Title', wagtail.blocks.CharBlock()), ('Items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('Title', wagtail.blocks.CharBlock()), ('URL', wagtail.blocks.URLBlock())])))], icon='list-ul'))], blank=True), ), ] diff --git a/mpicms/base/migrations/0031_auto_20190712_1221.py b/mpicms/base/migrations/0031_auto_20190712_1221.py index 7dbd3ee..50c547c 100644 --- a/mpicms/base/migrations/0031_auto_20190712_1221.py +++ b/mpicms/base/migrations/0031_auto_20190712_1221.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.2 on 2019-07-12 10:21 from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -15,6 +15,6 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='rootpage', name='footer_items', - field=wagtail.core.fields.StreamField([('menu', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock()), ('items', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock()), ('utl', wagtail.core.blocks.URLBlock())])))], icon='list-ul'))], blank=True), + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock()), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock()), ('utl', wagtail.blocks.URLBlock())])))], icon='list-ul'))], blank=True), ), ] diff --git a/mpicms/base/migrations/0032_auto_20190712_1224.py b/mpicms/base/migrations/0032_auto_20190712_1224.py index 2f9a1a9..de09203 100644 --- a/mpicms/base/migrations/0032_auto_20190712_1224.py +++ b/mpicms/base/migrations/0032_auto_20190712_1224.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.2 on 2019-07-12 10:24 from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -15,6 +15,6 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='rootpage', name='footer_items', - field=wagtail.core.fields.StreamField([('menu', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock()), ('items', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock()), ('url', wagtail.core.blocks.URLBlock())])))], icon='list-ul'))], blank=True), + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock()), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock()), ('url', wagtail.blocks.URLBlock())])))], icon='list-ul'))], blank=True), ), ] diff --git a/mpicms/base/migrations/0033_auto_20190712_1230.py b/mpicms/base/migrations/0033_auto_20190712_1230.py index 6deb757..6911a50 100644 --- a/mpicms/base/migrations/0033_auto_20190712_1230.py +++ b/mpicms/base/migrations/0033_auto_20190712_1230.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.2 on 2019-07-12 10:30 from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -15,11 +15,11 @@ class Migration(migrations.Migration): migrations.AddField( model_name='rootpage', name='footer_items_de', - field=wagtail.core.fields.StreamField([('menu', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock()), ('items', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock()), ('url', wagtail.core.blocks.URLBlock())])))], icon='list-ul'))], blank=True, null=True), + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock()), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock()), ('url', wagtail.blocks.URLBlock())])))], icon='list-ul'))], blank=True, null=True), ), migrations.AddField( model_name='rootpage', name='footer_items_en', - field=wagtail.core.fields.StreamField([('menu', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock()), ('items', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock()), ('url', wagtail.core.blocks.URLBlock())])))], icon='list-ul'))], blank=True, null=True), + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock()), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock()), ('url', wagtail.blocks.URLBlock())])))], icon='list-ul'))], blank=True, null=True), ), ] diff --git a/mpicms/base/migrations/0034_auto_20190712_1238.py b/mpicms/base/migrations/0034_auto_20190712_1238.py index b3efad7..63ccc50 100644 --- a/mpicms/base/migrations/0034_auto_20190712_1238.py +++ b/mpicms/base/migrations/0034_auto_20190712_1238.py @@ -1,7 +1,7 @@ # Generated by Django 2.2.2 on 2019-07-12 10:38 from django.db import migrations, models -import wagtail.core.fields +import wagtail.fields class Migration(migrations.Migration): @@ -18,7 +18,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='rootpage', name='banner_text', - field=wagtail.core.fields.RichTextField(blank=True, verbose_name='text'), + field=wagtail.fields.RichTextField(blank=True, verbose_name='text'), ), migrations.AddField( model_name='rootpage', diff --git a/mpicms/base/migrations/0035_auto_20190712_1247.py b/mpicms/base/migrations/0035_auto_20190712_1247.py index 7c7504b..347740e 100644 --- a/mpicms/base/migrations/0035_auto_20190712_1247.py +++ b/mpicms/base/migrations/0035_auto_20190712_1247.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.2 on 2019-07-12 10:47 from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -23,6 +23,6 @@ class Migration(migrations.Migration): migrations.AddField( model_name='rootpage', name='banner', - field=wagtail.core.fields.StreamField([('banner', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(max_length=200, required=False)), ('text', wagtail.core.blocks.RichTextBlock(features=['bold', 'italic', 'link', 'document-link']))]))], blank=True), + field=wagtail.fields.StreamField([('banner', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=200, required=False)), ('text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'link', 'document-link']))]))], blank=True), ), ] diff --git a/mpicms/base/migrations/0036_auto_20190712_1254.py b/mpicms/base/migrations/0036_auto_20190712_1254.py index d6c6f33..ee8591b 100644 --- a/mpicms/base/migrations/0036_auto_20190712_1254.py +++ b/mpicms/base/migrations/0036_auto_20190712_1254.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.2 on 2019-07-12 10:54 from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -15,6 +15,6 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='rootpage', name='banner', - field=wagtail.core.fields.StreamField([('banner', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(max_length=200, required=False)), ('text', wagtail.core.blocks.RichTextBlock(features=['bold', 'italic', 'link', 'document-link']))], icon='warning'))], blank=True), + field=wagtail.fields.StreamField([('banner', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=200, required=False)), ('text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'link', 'document-link']))], icon='warning'))], blank=True), ), ] diff --git a/mpicms/base/migrations/0037_auto_20190712_1314.py b/mpicms/base/migrations/0037_auto_20190712_1314.py index d211079..4c27e3f 100644 --- a/mpicms/base/migrations/0037_auto_20190712_1314.py +++ b/mpicms/base/migrations/0037_auto_20190712_1314.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.2 on 2019-07-12 11:14 from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.snippets.blocks @@ -16,36 +16,36 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='homepage', name='sidebar', - field=wagtail.core.fields.StreamField([('editor', wagtail.core.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_block.html'))], blank=True, verbose_name='Sidebar Content'), + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_block.html'))], blank=True, verbose_name='Sidebar Content'), ), migrations.AlterField( model_name='homepage', name='sidebar_de', - field=wagtail.core.fields.StreamField([('editor', wagtail.core.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_block.html'))], blank=True, null=True, verbose_name='Sidebar Content'), + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_block.html'))], blank=True, null=True, verbose_name='Sidebar Content'), ), migrations.AlterField( model_name='homepage', name='sidebar_en', - field=wagtail.core.fields.StreamField([('editor', wagtail.core.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_block.html'))], blank=True, null=True, verbose_name='Sidebar Content'), + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_block.html'))], blank=True, null=True, verbose_name='Sidebar Content'), ), migrations.AlterField( model_name='rootpage', name='banner', - field=wagtail.core.fields.StreamField([('banner', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(label='Title', max_length=200, required=False)), ('text', wagtail.core.blocks.RichTextBlock(features=['bold', 'italic', 'link', 'document-link'], label='Text'))], icon='warning', label='Banner'))], blank=True, verbose_name='Banner'), + field=wagtail.fields.StreamField([('banner', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title', max_length=200, required=False)), ('text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'link', 'document-link'], label='Text'))], icon='warning', label='Banner'))], blank=True, verbose_name='Banner'), ), migrations.AlterField( model_name='rootpage', name='footer_items', - field=wagtail.core.fields.StreamField([('menu', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(label='Title')), ('items', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(label='Title')), ('url', wagtail.core.blocks.URLBlock(label='URL'))], label='Items')))], icon='list-ul', label='menu'))], blank=True, verbose_name='Footer Items'), + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('url', wagtail.blocks.URLBlock(label='URL'))], label='Items')))], icon='list-ul', label='menu'))], blank=True, verbose_name='Footer Items'), ), migrations.AlterField( model_name='rootpage', name='footer_items_de', - field=wagtail.core.fields.StreamField([('menu', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(label='Title')), ('items', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(label='Title')), ('url', wagtail.core.blocks.URLBlock(label='URL'))], label='Items')))], icon='list-ul', label='menu'))], blank=True, null=True, verbose_name='Footer Items'), + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('url', wagtail.blocks.URLBlock(label='URL'))], label='Items')))], icon='list-ul', label='menu'))], blank=True, null=True, verbose_name='Footer Items'), ), migrations.AlterField( model_name='rootpage', name='footer_items_en', - field=wagtail.core.fields.StreamField([('menu', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(label='Title')), ('items', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(label='Title')), ('url', wagtail.core.blocks.URLBlock(label='URL'))], label='Items')))], icon='list-ul', label='menu'))], blank=True, null=True, verbose_name='Footer Items'), + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('url', wagtail.blocks.URLBlock(label='URL'))], label='Items')))], icon='list-ul', label='menu'))], blank=True, null=True, verbose_name='Footer Items'), ), ] diff --git a/mpicms/base/migrations/0038_auto_20190712_1318.py b/mpicms/base/migrations/0038_auto_20190712_1318.py index fe7fd8d..2e52565 100644 --- a/mpicms/base/migrations/0038_auto_20190712_1318.py +++ b/mpicms/base/migrations/0038_auto_20190712_1318.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.2 on 2019-07-12 11:18 from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -18,16 +18,16 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='rootpage', name='footer_items', - field=wagtail.core.fields.StreamField([('menu', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(label='Title')), ('items', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(label='Title')), ('url', wagtail.core.blocks.URLBlock(label='URL'))], label='Items')))], icon='list-ul', label='Menu'))], blank=True, verbose_name='Footer Items'), + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('url', wagtail.blocks.URLBlock(label='URL'))], label='Items')))], icon='list-ul', label='Menu'))], blank=True, verbose_name='Footer Items'), ), migrations.AlterField( model_name='rootpage', name='footer_items_de', - field=wagtail.core.fields.StreamField([('menu', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(label='Title')), ('items', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(label='Title')), ('url', wagtail.core.blocks.URLBlock(label='URL'))], label='Items')))], icon='list-ul', label='Menu'))], blank=True, null=True, verbose_name='Footer Items'), + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('url', wagtail.blocks.URLBlock(label='URL'))], label='Items')))], icon='list-ul', label='Menu'))], blank=True, null=True, verbose_name='Footer Items'), ), migrations.AlterField( model_name='rootpage', name='footer_items_en', - field=wagtail.core.fields.StreamField([('menu', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(label='Title')), ('items', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(label='Title')), ('url', wagtail.core.blocks.URLBlock(label='URL'))], label='Items')))], icon='list-ul', label='Menu'))], blank=True, null=True, verbose_name='Footer Items'), + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('url', wagtail.blocks.URLBlock(label='URL'))], label='Items')))], icon='list-ul', label='Menu'))], blank=True, null=True, verbose_name='Footer Items'), ), ] diff --git a/mpicms/base/migrations/0039_auto_20190723_1755.py b/mpicms/base/migrations/0039_auto_20190723_1755.py index d4d8fda..cab5024 100644 --- a/mpicms/base/migrations/0039_auto_20190723_1755.py +++ b/mpicms/base/migrations/0039_auto_20190723_1755.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): @@ -20,9 +20,9 @@ class Migration(migrations.Migration): ('title', models.CharField(blank=True, max_length=200, verbose_name='title')), ('title_en', models.CharField(blank=True, max_length=200, null=True, verbose_name='title')), ('title_de', models.CharField(blank=True, max_length=200, null=True, verbose_name='title')), - ('text', wagtail.core.fields.RichTextField(verbose_name='text')), - ('text_en', wagtail.core.fields.RichTextField(null=True, verbose_name='text')), - ('text_de', wagtail.core.fields.RichTextField(null=True, verbose_name='text')), + ('text', wagtail.fields.RichTextField(verbose_name='text')), + ('text_en', wagtail.fields.RichTextField(null=True, verbose_name='text')), + ('text_de', wagtail.fields.RichTextField(null=True, verbose_name='text')), ('image', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='+', to='wagtailimages.Image')), ], options={ diff --git a/mpicms/base/migrations/0042_auto_20190903_1751.py b/mpicms/base/migrations/0042_auto_20190903_1751.py index 35fcd93..cef0550 100644 --- a/mpicms/base/migrations/0042_auto_20190903_1751.py +++ b/mpicms/base/migrations/0042_auto_20190903_1751.py @@ -2,8 +2,8 @@ from django.db import migrations import mpicms.base.blocks -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -16,31 +16,31 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='homepage', name='body', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table'))], blank=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table'))], blank=True, verbose_name='content'), ), migrations.AlterField( model_name='homepage', name='body_de', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='homepage', name='body_en', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='wikipage', name='body', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table'))], blank=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table'))], blank=True, verbose_name='content'), ), migrations.AlterField( model_name='wikipage', name='body_de', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='wikipage', name='body_en', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), ), ] diff --git a/mpicms/base/migrations/0043_auto_20190909_1515.py b/mpicms/base/migrations/0043_auto_20190909_1515.py index 4d60cbf..bfccff7 100644 --- a/mpicms/base/migrations/0043_auto_20190909_1515.py +++ b/mpicms/base/migrations/0043_auto_20190909_1515.py @@ -2,8 +2,8 @@ from django.db import migrations import mpicms.base.blocks -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.snippets.blocks @@ -17,31 +17,31 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='homepage', name='body', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))], label='Contact'))], blank=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact'))], blank=True, verbose_name='content'), ), migrations.AlterField( model_name='homepage', name='body_de', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))], label='Contact'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact'))], blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='homepage', name='body_en', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))], label='Contact'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact'))], blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='wikipage', name='body', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))], label='Contact'))], blank=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact'))], blank=True, verbose_name='content'), ), migrations.AlterField( model_name='wikipage', name='body_de', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))], label='Contact'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact'))], blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='wikipage', name='body_en', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))], label='Contact'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact'))], blank=True, null=True, verbose_name='content'), ), ] diff --git a/mpicms/base/migrations/0044_auto_20190909_1537.py b/mpicms/base/migrations/0044_auto_20190909_1537.py index 7cfb280..3f12b8a 100644 --- a/mpicms/base/migrations/0044_auto_20190909_1537.py +++ b/mpicms/base/migrations/0044_auto_20190909_1537.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.4 on 2019-09-09 13:37 from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.snippets.blocks @@ -16,16 +16,16 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='homepage', name='sidebar', - field=wagtail.core.fields.StreamField([('editor', wagtail.core.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, verbose_name='Sidebar Content'), + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, verbose_name='Sidebar Content'), ), migrations.AlterField( model_name='homepage', name='sidebar_de', - field=wagtail.core.fields.StreamField([('editor', wagtail.core.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, verbose_name='Sidebar Content'), + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, verbose_name='Sidebar Content'), ), migrations.AlterField( model_name='homepage', name='sidebar_en', - field=wagtail.core.fields.StreamField([('editor', wagtail.core.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, verbose_name='Sidebar Content'), + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, verbose_name='Sidebar Content'), ), ] diff --git a/mpicms/base/migrations/0045_auto_20190911_0927.py b/mpicms/base/migrations/0045_auto_20190911_0927.py index 67e8acd..0001c02 100644 --- a/mpicms/base/migrations/0045_auto_20190911_0927.py +++ b/mpicms/base/migrations/0045_auto_20190911_0927.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.4 on 2019-09-11 07:27 from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.snippets.blocks @@ -16,16 +16,16 @@ class Migration(migrations.Migration): migrations.AddField( model_name='wikipage', name='sidebar', - field=wagtail.core.fields.StreamField([('editor', wagtail.core.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, verbose_name='Sidebar Content'), + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, verbose_name='Sidebar Content'), ), migrations.AddField( model_name='wikipage', name='sidebar_de', - field=wagtail.core.fields.StreamField([('editor', wagtail.core.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, verbose_name='Sidebar Content'), + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, verbose_name='Sidebar Content'), ), migrations.AddField( model_name='wikipage', name='sidebar_en', - field=wagtail.core.fields.StreamField([('editor', wagtail.core.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, verbose_name='Sidebar Content'), + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, verbose_name='Sidebar Content'), ), ] diff --git a/mpicms/base/migrations/0046_auto_20190911_0955.py b/mpicms/base/migrations/0046_auto_20190911_0955.py index e472dcd..fb945b3 100644 --- a/mpicms/base/migrations/0046_auto_20190911_0955.py +++ b/mpicms/base/migrations/0046_auto_20190911_0955.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.4 on 2019-09-11 07:55 from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -15,16 +15,16 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='rootpage', name='footer_items', - field=wagtail.core.fields.StreamField([('menu', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(label='Title')), ('items', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(label='Title')), ('url', wagtail.core.blocks.URLBlock(label='URL'))], label='Items')))]))], blank=True, verbose_name='Footer Items'), + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('url', wagtail.blocks.URLBlock(label='URL'))], label='Items')))]))], blank=True, verbose_name='Footer Items'), ), migrations.AlterField( model_name='rootpage', name='footer_items_de', - field=wagtail.core.fields.StreamField([('menu', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(label='Title')), ('items', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(label='Title')), ('url', wagtail.core.blocks.URLBlock(label='URL'))], label='Items')))]))], blank=True, null=True, verbose_name='Footer Items'), + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('url', wagtail.blocks.URLBlock(label='URL'))], label='Items')))]))], blank=True, null=True, verbose_name='Footer Items'), ), migrations.AlterField( model_name='rootpage', name='footer_items_en', - field=wagtail.core.fields.StreamField([('menu', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(label='Title')), ('items', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(label='Title')), ('url', wagtail.core.blocks.URLBlock(label='URL'))], label='Items')))]))], blank=True, null=True, verbose_name='Footer Items'), + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('url', wagtail.blocks.URLBlock(label='URL'))], label='Items')))]))], blank=True, null=True, verbose_name='Footer Items'), ), ] diff --git a/mpicms/base/migrations/0047_auto_20190911_0957.py b/mpicms/base/migrations/0047_auto_20190911_0957.py index 9580d40..80821e4 100644 --- a/mpicms/base/migrations/0047_auto_20190911_0957.py +++ b/mpicms/base/migrations/0047_auto_20190911_0957.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.4 on 2019-09-11 07:57 from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -15,16 +15,16 @@ class Migration(migrations.Migration): migrations.AddField( model_name='rootpage', name='quick_links', - field=wagtail.core.fields.StreamField([('menu', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(label='Title')), ('items', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(label='Title')), ('url', wagtail.core.blocks.URLBlock(label='URL'))], label='Items')))]))], blank=True, verbose_name='Quick Links'), + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('url', wagtail.blocks.URLBlock(label='URL'))], label='Items')))]))], blank=True, verbose_name='Quick Links'), ), migrations.AddField( model_name='rootpage', name='quick_links_de', - field=wagtail.core.fields.StreamField([('menu', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(label='Title')), ('items', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(label='Title')), ('url', wagtail.core.blocks.URLBlock(label='URL'))], label='Items')))]))], blank=True, null=True, verbose_name='Quick Links'), + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('url', wagtail.blocks.URLBlock(label='URL'))], label='Items')))]))], blank=True, null=True, verbose_name='Quick Links'), ), migrations.AddField( model_name='rootpage', name='quick_links_en', - field=wagtail.core.fields.StreamField([('menu', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(label='Title')), ('items', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(label='Title')), ('url', wagtail.core.blocks.URLBlock(label='URL'))], label='Items')))]))], blank=True, null=True, verbose_name='Quick Links'), + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('url', wagtail.blocks.URLBlock(label='URL'))], label='Items')))]))], blank=True, null=True, verbose_name='Quick Links'), ), ] diff --git a/mpicms/base/migrations/0051_formfield_formpage.py b/mpicms/base/migrations/0051_formfield_formpage.py index 5058fcd..5dba86f 100644 --- a/mpicms/base/migrations/0051_formfield_formpage.py +++ b/mpicms/base/migrations/0051_formfield_formpage.py @@ -4,8 +4,8 @@ from django.db import migrations, models import django.db.models.deletion import modelcluster.fields -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.snippets.blocks @@ -25,15 +25,15 @@ class Migration(migrations.Migration): ('to_address', models.CharField(blank=True, help_text='Optional - form submissions will be emailed to these addresses. Separate multiple addresses by comma.', max_length=255, verbose_name='to address')), ('from_address', models.CharField(blank=True, max_length=255, verbose_name='from address')), ('subject', models.CharField(blank=True, max_length=255, verbose_name='subject')), - ('sidebar', wagtail.core.fields.StreamField([('editor', wagtail.core.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, verbose_name='Sidebar Content')), - ('sidebar_en', wagtail.core.fields.StreamField([('editor', wagtail.core.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, verbose_name='Sidebar Content')), - ('sidebar_de', wagtail.core.fields.StreamField([('editor', wagtail.core.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, verbose_name='Sidebar Content')), - ('intro', wagtail.core.fields.RichTextField(blank=True)), - ('intro_en', wagtail.core.fields.RichTextField(blank=True, null=True)), - ('intro_de', wagtail.core.fields.RichTextField(blank=True, null=True)), - ('thank_you_text', wagtail.core.fields.RichTextField(blank=True)), - ('thank_you_text_en', wagtail.core.fields.RichTextField(blank=True, null=True)), - ('thank_you_text_de', wagtail.core.fields.RichTextField(blank=True, null=True)), + ('sidebar', wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, verbose_name='Sidebar Content')), + ('sidebar_en', wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, verbose_name='Sidebar Content')), + ('sidebar_de', wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, verbose_name='Sidebar Content')), + ('intro', wagtail.fields.RichTextField(blank=True)), + ('intro_en', wagtail.fields.RichTextField(blank=True, null=True)), + ('intro_de', wagtail.fields.RichTextField(blank=True, null=True)), + ('thank_you_text', wagtail.fields.RichTextField(blank=True)), + ('thank_you_text_en', wagtail.fields.RichTextField(blank=True, null=True)), + ('thank_you_text_de', wagtail.fields.RichTextField(blank=True, null=True)), ('subscribers', models.ManyToManyField(to=settings.AUTH_USER_MODEL)), ], options={ diff --git a/mpicms/base/migrations/0053_auto_20210114_1926.py b/mpicms/base/migrations/0053_auto_20210114_1926.py index d32fb41..1430907 100644 --- a/mpicms/base/migrations/0053_auto_20210114_1926.py +++ b/mpicms/base/migrations/0053_auto_20210114_1926.py @@ -2,8 +2,8 @@ from django.db import migrations import mpicms.base.blocks -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.snippets.blocks @@ -17,31 +17,31 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='homepage', name='body', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, verbose_name='content'), ), migrations.AlterField( model_name='homepage', name='body_de', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='homepage', name='body_en', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='wikipage', name='body', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, verbose_name='content'), ), migrations.AlterField( model_name='wikipage', name='body_de', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='wikipage', name='body_en', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), ), ] diff --git a/mpicms/base/mixins.py b/mpicms/base/mixins.py index 74d3b3c..3f9be70 100644 --- a/mpicms/base/mixins.py +++ b/mpicms/base/mixins.py @@ -5,12 +5,12 @@ from django.contrib.auth import get_user_model from django.contrib import messages -from wagtail.admin.edit_handlers import StreamFieldPanel, FieldPanel -from wagtail.core.models import Page -from wagtail.core.fields import StreamField +from wagtail.admin.panels import StreamFieldPanel, FieldPanel +from wagtail.models import Page +from wagtail.fields import StreamField from wagtail.search import index from wagtail.api import APIField -from wagtail.core import blocks +from wagtail import blocks from mpicms.base.serializers import OptionalStreamField diff --git a/mpicms/base/models.py b/mpicms/base/models.py index 6937955..5f6b2bc 100644 --- a/mpicms/base/models.py +++ b/mpicms/base/models.py @@ -1,20 +1,20 @@ from django.db import models from django.utils.translation import gettext_lazy as _ -from wagtail.core import blocks -from wagtail.core.models import Page -from wagtail.core.fields import RichTextField -from wagtail.admin.edit_handlers import FieldPanel +from wagtail import blocks +from wagtail.models import Page +from wagtail.fields import RichTextField +from wagtail.admin.panels import FieldPanel from wagtail.snippets.edit_handlers import SnippetChooserPanel from wagtail.snippets.models import register_snippet -from wagtail.admin.edit_handlers import ( +from wagtail.admin.panels import ( StreamFieldPanel, InlinePanel, MultiFieldPanel, FieldRowPanel, ) from wagtail.images.edit_handlers import ImageChooserPanel -from wagtail.core.fields import StreamField +from wagtail.fields import StreamField from wagtail.search import index from wagtail.contrib.forms.models import AbstractEmailForm, AbstractFormField -from wagtail.contrib.forms.edit_handlers import FormSubmissionsPanel +from wagtail.contrib.forms.panels import FormSubmissionsPanel from modelcluster.fields import ParentalKey from mpicms.news.mixins import NewsMixin diff --git a/mpicms/base/tests.py b/mpicms/base/tests.py index 83503eb..fa7def2 100644 --- a/mpicms/base/tests.py +++ b/mpicms/base/tests.py @@ -1,5 +1,5 @@ import pytest -from wagtail.core.models import Page +from wagtail.models import Page @pytest.mark.django_db diff --git a/mpicms/base/views.py b/mpicms/base/views.py index affdf21..f44185c 100644 --- a/mpicms/base/views.py +++ b/mpicms/base/views.py @@ -6,8 +6,8 @@ from django.utils.translation import gettext as _ from wagtail.admin import messages -from wagtail.core.models import Page -from wagtail.core import hooks +from wagtail.models import Page +from wagtail import hooks from wagtail.search.models import Query from wagtail.admin.views.account import LogoutView as LView from wagtail.admin.views.pages.utils import get_valid_next_url_from_request diff --git a/mpicms/base/wagtail_hooks.py b/mpicms/base/wagtail_hooks.py index cfe80df..f5dd082 100644 --- a/mpicms/base/wagtail_hooks.py +++ b/mpicms/base/wagtail_hooks.py @@ -9,7 +9,7 @@ from django.utils.html import strip_tags from wagtail.contrib.modeladmin.options import ModelAdmin, modeladmin_register -from wagtail.core import hooks +from wagtail import hooks from wagtail.admin.menu import MenuItem from .models import FeaturedImage diff --git a/mpicms/chat/services.py b/mpicms/chat/services.py index c28ace9..ef1c14e 100644 --- a/mpicms/chat/services.py +++ b/mpicms/chat/services.py @@ -15,7 +15,7 @@ from django.db import connection from mpicms.base.models import WikiPage, HomePage from mpicms.news.models import NewsEntry -from wagtail.core.models import Page +from wagtail.models import Page # --------------------------------------------------------------------------- # Configuration diff --git a/mpicms/events/migrations/0001_initial.py b/mpicms/events/migrations/0001_initial.py index ed1b877..211b1e4 100644 --- a/mpicms/events/migrations/0001_initial.py +++ b/mpicms/events/migrations/0001_initial.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): @@ -23,9 +23,9 @@ class Migration(migrations.Migration): ('description', models.TextField(blank=True, max_length=400)), ('description_en', models.TextField(blank=True, max_length=400, null=True)), ('description_de', models.TextField(blank=True, max_length=400, null=True)), - ('body', wagtail.core.fields.RichTextField(blank=True, verbose_name='content')), - ('body_en', wagtail.core.fields.RichTextField(blank=True, null=True, verbose_name='content')), - ('body_de', wagtail.core.fields.RichTextField(blank=True, null=True, verbose_name='content')), + ('body', wagtail.fields.RichTextField(blank=True, verbose_name='content')), + ('body_en', wagtail.fields.RichTextField(blank=True, null=True, verbose_name='content')), + ('body_de', wagtail.fields.RichTextField(blank=True, null=True, verbose_name='content')), ], options={ 'ordering': ['start_date'], diff --git a/mpicms/events/migrations/0004_auto_20190624_1346.py b/mpicms/events/migrations/0004_auto_20190624_1346.py index 74a5db0..fc2d62a 100644 --- a/mpicms/events/migrations/0004_auto_20190624_1346.py +++ b/mpicms/events/migrations/0004_auto_20190624_1346.py @@ -3,8 +3,8 @@ import mpicms.base.blocks from django.db import migrations import wagtail.contrib.table_block.blocks -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -17,16 +17,16 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='event', name='body', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))]), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))]), ), migrations.AlterField( model_name='event', name='body_de', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], null=True), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], null=True), ), migrations.AlterField( model_name='event', name='body_en', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], null=True), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], null=True), ), ] diff --git a/mpicms/events/migrations/0005_auto_20190624_1350.py b/mpicms/events/migrations/0005_auto_20190624_1350.py index da9aebe..82ff744 100644 --- a/mpicms/events/migrations/0005_auto_20190624_1350.py +++ b/mpicms/events/migrations/0005_auto_20190624_1350.py @@ -3,8 +3,8 @@ import mpicms.base.blocks from django.db import migrations import wagtail.contrib.table_block.blocks -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -17,16 +17,16 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='event', name='body', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True), ), migrations.AlterField( model_name='event', name='body_de', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True), ), migrations.AlterField( model_name='event', name='body_en', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True), ), ] diff --git a/mpicms/events/migrations/0006_auto_20190624_1358.py b/mpicms/events/migrations/0006_auto_20190624_1358.py index 7b15783..ed32405 100644 --- a/mpicms/events/migrations/0006_auto_20190624_1358.py +++ b/mpicms/events/migrations/0006_auto_20190624_1358.py @@ -3,8 +3,8 @@ import mpicms.base.blocks from django.db import migrations import wagtail.contrib.table_block.blocks -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -17,16 +17,16 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='event', name='body', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, verbose_name='content'), ), migrations.AlterField( model_name='event', name='body_de', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='event', name='body_en', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), ), ] diff --git a/mpicms/events/migrations/0010_auto_20190903_1751.py b/mpicms/events/migrations/0010_auto_20190903_1751.py index 2bff25e..98892db 100644 --- a/mpicms/events/migrations/0010_auto_20190903_1751.py +++ b/mpicms/events/migrations/0010_auto_20190903_1751.py @@ -2,8 +2,8 @@ from django.db import migrations, models import mpicms.base.blocks -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -21,16 +21,16 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='event', name='body', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table'))], blank=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table'))], blank=True, verbose_name='content'), ), migrations.AlterField( model_name='event', name='body_de', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='event', name='body_en', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), ), ] diff --git a/mpicms/events/migrations/0011_auto_20190909_1515.py b/mpicms/events/migrations/0011_auto_20190909_1515.py index 85f8855..c9e788c 100644 --- a/mpicms/events/migrations/0011_auto_20190909_1515.py +++ b/mpicms/events/migrations/0011_auto_20190909_1515.py @@ -2,8 +2,8 @@ from django.db import migrations import mpicms.base.blocks -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.snippets.blocks @@ -17,16 +17,16 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='event', name='body', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))], label='Contact'))], blank=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact'))], blank=True, verbose_name='content'), ), migrations.AlterField( model_name='event', name='body_de', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))], label='Contact'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact'))], blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='event', name='body_en', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))], label='Contact'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact'))], blank=True, null=True, verbose_name='content'), ), ] diff --git a/mpicms/events/migrations/0014_auto_20210114_1926.py b/mpicms/events/migrations/0014_auto_20210114_1926.py index 8832f0e..acdad19 100644 --- a/mpicms/events/migrations/0014_auto_20210114_1926.py +++ b/mpicms/events/migrations/0014_auto_20210114_1926.py @@ -2,8 +2,8 @@ from django.db import migrations import mpicms.base.blocks -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.snippets.blocks @@ -17,16 +17,16 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='event', name='body', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, verbose_name='content'), ), migrations.AlterField( model_name='event', name='body_de', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='event', name='body_en', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), ), ] diff --git a/mpicms/events/models.py b/mpicms/events/models.py index f7347f5..be9e43b 100644 --- a/mpicms/events/models.py +++ b/mpicms/events/models.py @@ -6,9 +6,9 @@ from django.core.exceptions import ValidationError from django.utils.translation import gettext_lazy as _ -from wagtail.admin.edit_handlers import FieldPanel, MultiFieldPanel +from wagtail.admin.panels import FieldPanel, MultiFieldPanel from wagtail.images.edit_handlers import ImageChooserPanel -from wagtail.core.models import Page +from wagtail.models import Page from wagtail.api import APIField from mpicms.base.mixins import BasePage, BodyMixin diff --git a/mpicms/news/migrations/0001_initial.py b/mpicms/news/migrations/0001_initial.py index 5c9da0c..8769e99 100644 --- a/mpicms/news/migrations/0001_initial.py +++ b/mpicms/news/migrations/0001_initial.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): @@ -21,9 +21,9 @@ class Migration(migrations.Migration): ('preview', models.TextField(blank=True, verbose_name='preview')), ('preview_en', models.TextField(blank=True, null=True, verbose_name='preview')), ('preview_de', models.TextField(blank=True, null=True, verbose_name='preview')), - ('body', wagtail.core.fields.RichTextField(verbose_name='content')), - ('body_en', wagtail.core.fields.RichTextField(null=True, verbose_name='content')), - ('body_de', wagtail.core.fields.RichTextField(null=True, verbose_name='content')), + ('body', wagtail.fields.RichTextField(verbose_name='content')), + ('body_en', wagtail.fields.RichTextField(null=True, verbose_name='content')), + ('body_de', wagtail.fields.RichTextField(null=True, verbose_name='content')), ], options={ 'verbose_name': 'News entry', diff --git a/mpicms/news/migrations/0009_auto_20190615_1124.py b/mpicms/news/migrations/0009_auto_20190615_1124.py index 606a56f..38a56ac 100644 --- a/mpicms/news/migrations/0009_auto_20190615_1124.py +++ b/mpicms/news/migrations/0009_auto_20190615_1124.py @@ -1,7 +1,7 @@ # Generated by Django 2.2.2 on 2019-06-15 09:24 from django.db import migrations -import wagtail.core.fields +import wagtail.fields class Migration(migrations.Migration): @@ -14,16 +14,16 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='newsentry', name='body', - field=wagtail.core.fields.RichTextField(blank=True, verbose_name='content'), + field=wagtail.fields.RichTextField(blank=True, verbose_name='content'), ), migrations.AlterField( model_name='newsentry', name='body_de', - field=wagtail.core.fields.RichTextField(blank=True, null=True, verbose_name='content'), + field=wagtail.fields.RichTextField(blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='newsentry', name='body_en', - field=wagtail.core.fields.RichTextField(blank=True, null=True, verbose_name='content'), + field=wagtail.fields.RichTextField(blank=True, null=True, verbose_name='content'), ), ] diff --git a/mpicms/news/migrations/0011_auto_20190624_1346.py b/mpicms/news/migrations/0011_auto_20190624_1346.py index 158673e..1b3dfbc 100644 --- a/mpicms/news/migrations/0011_auto_20190624_1346.py +++ b/mpicms/news/migrations/0011_auto_20190624_1346.py @@ -3,8 +3,8 @@ import mpicms.base.blocks from django.db import migrations import wagtail.contrib.table_block.blocks -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -17,16 +17,16 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='newsentry', name='body', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))]), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))]), ), migrations.AlterField( model_name='newsentry', name='body_de', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], null=True), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], null=True), ), migrations.AlterField( model_name='newsentry', name='body_en', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], null=True), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], null=True), ), ] diff --git a/mpicms/news/migrations/0012_auto_20190624_1350.py b/mpicms/news/migrations/0012_auto_20190624_1350.py index 152e571..694310d 100644 --- a/mpicms/news/migrations/0012_auto_20190624_1350.py +++ b/mpicms/news/migrations/0012_auto_20190624_1350.py @@ -3,8 +3,8 @@ import mpicms.base.blocks from django.db import migrations import wagtail.contrib.table_block.blocks -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -17,16 +17,16 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='newsentry', name='body', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True), ), migrations.AlterField( model_name='newsentry', name='body_de', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True), ), migrations.AlterField( model_name='newsentry', name='body_en', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True), ), ] diff --git a/mpicms/news/migrations/0013_auto_20190624_1358.py b/mpicms/news/migrations/0013_auto_20190624_1358.py index 6491d2c..b250862 100644 --- a/mpicms/news/migrations/0013_auto_20190624_1358.py +++ b/mpicms/news/migrations/0013_auto_20190624_1358.py @@ -3,8 +3,8 @@ import mpicms.base.blocks from django.db import migrations import wagtail.contrib.table_block.blocks -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -17,16 +17,16 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='newsentry', name='body', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, verbose_name='content'), ), migrations.AlterField( model_name='newsentry', name='body_de', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='newsentry', name='body_en', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', wagtail.contrib.table_block.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), ), ] diff --git a/mpicms/news/migrations/0016_auto_20190903_1751.py b/mpicms/news/migrations/0016_auto_20190903_1751.py index aa2ce48..b9c7d33 100644 --- a/mpicms/news/migrations/0016_auto_20190903_1751.py +++ b/mpicms/news/migrations/0016_auto_20190903_1751.py @@ -2,8 +2,8 @@ from django.db import migrations import mpicms.base.blocks -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -16,16 +16,16 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='newsentry', name='body', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table'))], blank=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table'))], blank=True, verbose_name='content'), ), migrations.AlterField( model_name='newsentry', name='body_de', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='newsentry', name='body_en', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table'))], blank=True, null=True, verbose_name='content'), ), ] diff --git a/mpicms/news/migrations/0017_auto_20190909_1515.py b/mpicms/news/migrations/0017_auto_20190909_1515.py index 7a73fa3..fe0511a 100644 --- a/mpicms/news/migrations/0017_auto_20190909_1515.py +++ b/mpicms/news/migrations/0017_auto_20190909_1515.py @@ -2,8 +2,8 @@ from django.db import migrations import mpicms.base.blocks -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.snippets.blocks @@ -17,16 +17,16 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='newsentry', name='body', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))], label='Contact'))], blank=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact'))], blank=True, verbose_name='content'), ), migrations.AlterField( model_name='newsentry', name='body_de', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))], label='Contact'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact'))], blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='newsentry', name='body_en', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))], label='Contact'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact'))], blank=True, null=True, verbose_name='content'), ), ] diff --git a/mpicms/news/migrations/0022_newsentry_sidebar.py b/mpicms/news/migrations/0022_newsentry_sidebar.py index 6c38e1f..a77d023 100644 --- a/mpicms/news/migrations/0022_newsentry_sidebar.py +++ b/mpicms/news/migrations/0022_newsentry_sidebar.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.9 on 2020-03-03 11:10 from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.snippets.blocks @@ -16,6 +16,6 @@ class Migration(migrations.Migration): migrations.AddField( model_name='newsentry', name='sidebar', - field=wagtail.core.fields.StreamField([('editor', wagtail.core.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, verbose_name='Sidebar Content'), + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, verbose_name='Sidebar Content'), ), ] diff --git a/mpicms/news/migrations/0023_auto_20200304_1706.py b/mpicms/news/migrations/0023_auto_20200304_1706.py index 17d97a8..304f2d8 100644 --- a/mpicms/news/migrations/0023_auto_20200304_1706.py +++ b/mpicms/news/migrations/0023_auto_20200304_1706.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.9 on 2020-03-04 16:06 from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.snippets.blocks @@ -16,11 +16,11 @@ class Migration(migrations.Migration): migrations.AddField( model_name='newsentry', name='sidebar_de', - field=wagtail.core.fields.StreamField([('editor', wagtail.core.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, verbose_name='Sidebar Content'), + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, verbose_name='Sidebar Content'), ), migrations.AddField( model_name='newsentry', name='sidebar_en', - field=wagtail.core.fields.StreamField([('editor', wagtail.core.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.core.blocks.ListBlock(wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, verbose_name='Sidebar Content'), + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, verbose_name='Sidebar Content'), ), ] diff --git a/mpicms/news/migrations/0024_auto_20210114_1926.py b/mpicms/news/migrations/0024_auto_20210114_1926.py index 4930fa2..da2b822 100644 --- a/mpicms/news/migrations/0024_auto_20210114_1926.py +++ b/mpicms/news/migrations/0024_auto_20210114_1926.py @@ -2,8 +2,8 @@ from django.db import migrations import mpicms.base.blocks -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.snippets.blocks @@ -17,16 +17,16 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='newsentry', name='body', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, verbose_name='content'), ), migrations.AlterField( model_name='newsentry', name='body_de', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='newsentry', name='body_en', - field=wagtail.core.fields.StreamField([('richtext', wagtail.core.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.core.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.core.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), ), ] diff --git a/mpicms/news/models.py b/mpicms/news/models.py index 92747ba..eec2f63 100644 --- a/mpicms/news/models.py +++ b/mpicms/news/models.py @@ -4,11 +4,11 @@ from django.utils.translation import gettext_lazy as _ from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator -from wagtail.core.models import Page +from wagtail.models import Page from wagtail.search import index from wagtail.api import APIField from wagtail.images.edit_handlers import ImageChooserPanel -from wagtail.admin.edit_handlers import FieldPanel +from wagtail.admin.panels import FieldPanel from mpicms.base.models import CategoryMixin from mpicms.base.mixins import BasePage, BodyMixin, SideBarMixin diff --git a/mpicms/personal/models.py b/mpicms/personal/models.py index 214e6e5..f0f9202 100644 --- a/mpicms/personal/models.py +++ b/mpicms/personal/models.py @@ -2,7 +2,7 @@ from django.utils.translation import gettext_lazy as _ from django.core.validators import MaxValueValidator -from wagtail.admin.edit_handlers import FieldPanel, MultiFieldPanel +from wagtail.admin.panels import FieldPanel, MultiFieldPanel from wagtail.snippets.models import register_snippet from wagtail.search import index diff --git a/mpicms/publications/migrations/0001_initial.py b/mpicms/publications/migrations/0001_initial.py index 6c1e794..31fdcf3 100644 --- a/mpicms/publications/migrations/0001_initial.py +++ b/mpicms/publications/migrations/0001_initial.py @@ -1,7 +1,7 @@ # Generated by Django 2.2.4 on 2019-09-05 09:18 from django.db import migrations, models -import wagtail.core.fields +import wagtail.fields import wagtail.search.index @@ -17,10 +17,10 @@ class Migration(migrations.Migration): name='Publication', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('title', wagtail.core.fields.RichTextField(verbose_name='text')), - ('groups', wagtail.core.fields.RichTextField(verbose_name='text')), - ('authors', wagtail.core.fields.RichTextField(verbose_name='text')), - ('source', wagtail.core.fields.RichTextField(verbose_name='text')), + ('title', wagtail.fields.RichTextField(verbose_name='text')), + ('groups', wagtail.fields.RichTextField(verbose_name='text')), + ('authors', wagtail.fields.RichTextField(verbose_name='text')), + ('source', wagtail.fields.RichTextField(verbose_name='text')), ('doi', models.CharField(blank=True, max_length=100, verbose_name='Digital Object Identifier')), ], options={ diff --git a/mpicms/publications/migrations/0002_auto_20190905_1119.py b/mpicms/publications/migrations/0002_auto_20190905_1119.py index cb05cec..3567770 100644 --- a/mpicms/publications/migrations/0002_auto_20190905_1119.py +++ b/mpicms/publications/migrations/0002_auto_20190905_1119.py @@ -1,7 +1,7 @@ # Generated by Django 2.2.4 on 2019-09-05 09:19 from django.db import migrations -import wagtail.core.fields +import wagtail.fields class Migration(migrations.Migration): @@ -14,21 +14,21 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='publication', name='authors', - field=wagtail.core.fields.RichTextField(verbose_name='authors'), + field=wagtail.fields.RichTextField(verbose_name='authors'), ), migrations.AlterField( model_name='publication', name='groups', - field=wagtail.core.fields.RichTextField(verbose_name='groups'), + field=wagtail.fields.RichTextField(verbose_name='groups'), ), migrations.AlterField( model_name='publication', name='source', - field=wagtail.core.fields.RichTextField(verbose_name='source'), + field=wagtail.fields.RichTextField(verbose_name='source'), ), migrations.AlterField( model_name='publication', name='title', - field=wagtail.core.fields.RichTextField(verbose_name='title'), + field=wagtail.fields.RichTextField(verbose_name='title'), ), ] diff --git a/mpicms/publications/migrations/0003_auto_20190905_1120.py b/mpicms/publications/migrations/0003_auto_20190905_1120.py index a730d20..09c72e7 100644 --- a/mpicms/publications/migrations/0003_auto_20190905_1120.py +++ b/mpicms/publications/migrations/0003_auto_20190905_1120.py @@ -1,7 +1,7 @@ # Generated by Django 2.2.4 on 2019-09-05 09:20 from django.db import migrations -import wagtail.core.fields +import wagtail.fields class Migration(migrations.Migration): @@ -14,16 +14,16 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='publication', name='authors', - field=wagtail.core.fields.RichTextField(blank=True, verbose_name='authors'), + field=wagtail.fields.RichTextField(blank=True, verbose_name='authors'), ), migrations.AlterField( model_name='publication', name='groups', - field=wagtail.core.fields.RichTextField(blank=True, verbose_name='groups'), + field=wagtail.fields.RichTextField(blank=True, verbose_name='groups'), ), migrations.AlterField( model_name='publication', name='source', - field=wagtail.core.fields.RichTextField(blank=True, verbose_name='source'), + field=wagtail.fields.RichTextField(blank=True, verbose_name='source'), ), ] diff --git a/mpicms/publications/models.py b/mpicms/publications/models.py index 383e698..ef2307d 100644 --- a/mpicms/publications/models.py +++ b/mpicms/publications/models.py @@ -2,9 +2,9 @@ from django.utils.translation import gettext_lazy as _ from django.utils.html import strip_tags -from wagtail.admin.edit_handlers import FieldPanel +from wagtail.admin.panels import FieldPanel from wagtail.search import index -from wagtail.core.fields import RichTextField +from wagtail.fields import RichTextField from wagtail.snippets.models import register_snippet from wagtailorderable.models import Orderable diff --git a/mpicms/users/templatetags/users_tags.py b/mpicms/users/templatetags/users_tags.py index 91b8fad..b3e05f8 100644 --- a/mpicms/users/templatetags/users_tags.py +++ b/mpicms/users/templatetags/users_tags.py @@ -2,7 +2,7 @@ from django import template -from wagtail.core import hooks +from wagtail import hooks register = template.Library() diff --git a/mpicms/users/views.py b/mpicms/users/views.py index 103b469..f8ff506 100644 --- a/mpicms/users/views.py +++ b/mpicms/users/views.py @@ -5,7 +5,7 @@ from wagtail.admin import messages from wagtail.admin.auth import permission_required -from wagtail.core import hooks +from wagtail import hooks from wagtail.users.views.users import User, change_user_perm, get_user_edit_form diff --git a/scripts/ai.py b/scripts/ai.py index cbfb7a8..e6b8c9b 100755 --- a/scripts/ai.py +++ b/scripts/ai.py @@ -34,7 +34,7 @@ django.setup() from django.db import connection -from wagtail.core.models import Page +from wagtail.models import Page from mpicms.chat.services import ( ask, chunk_text, contact_to_text, embed_document_chunks, get_page_markdown, From d9728f265c58b08567c52898d1d6d76d1f887e1a Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sun, 26 Apr 2026 11:50:42 +0200 Subject: [PATCH 13/47] Use FieldPanel instead of obsolete XXXPanel --- mpicms/base/mixins.py | 6 +++--- mpicms/base/models.py | 14 ++++++-------- mpicms/events/models.py | 3 +-- mpicms/news/models.py | 3 +-- 4 files changed, 11 insertions(+), 15 deletions(-) diff --git a/mpicms/base/mixins.py b/mpicms/base/mixins.py index 3f9be70..fa7713a 100644 --- a/mpicms/base/mixins.py +++ b/mpicms/base/mixins.py @@ -5,7 +5,7 @@ from django.contrib.auth import get_user_model from django.contrib import messages -from wagtail.admin.panels import StreamFieldPanel, FieldPanel +from wagtail.admin.panels import FieldPanel from wagtail.models import Page from wagtail.fields import StreamField from wagtail.search import index @@ -45,7 +45,7 @@ class BodyMixin(Page): show_toc = models.BooleanField(_('Show table of content'), default=False) content_panels = [ - StreamFieldPanel('body'), + FieldPanel('body'), ] promote_panels = [ @@ -95,7 +95,7 @@ class SideBarMixin(Page): ], blank=True, verbose_name=_("Sidebar Content")) content_panels = [ - StreamFieldPanel('sidebar'), + FieldPanel('sidebar'), ] search_fields = Page.search_fields + [ diff --git a/mpicms/base/models.py b/mpicms/base/models.py index 5f6b2bc..deff585 100644 --- a/mpicms/base/models.py +++ b/mpicms/base/models.py @@ -5,12 +5,10 @@ from wagtail.models import Page from wagtail.fields import RichTextField from wagtail.admin.panels import FieldPanel -from wagtail.snippets.edit_handlers import SnippetChooserPanel from wagtail.snippets.models import register_snippet from wagtail.admin.panels import ( - StreamFieldPanel, InlinePanel, MultiFieldPanel, FieldRowPanel, + FieldPanel, InlinePanel, MultiFieldPanel, FieldRowPanel, ) -from wagtail.images.edit_handlers import ImageChooserPanel from wagtail.fields import StreamField from wagtail.search import index from wagtail.contrib.forms.models import AbstractEmailForm, AbstractFormField @@ -48,7 +46,7 @@ class FeaturedImage(models.Model): panels = [ FieldPanel('title'), - ImageChooserPanel('image'), + FieldPanel('image'), FieldPanel('text'), ] @@ -86,10 +84,10 @@ class RootPage(EventMixin, NewsMixin, BasePage): max_count = 1 content_panels = Page.content_panels + [ - StreamFieldPanel('banner'), - SnippetChooserPanel('featured_image'), - StreamFieldPanel('footer_items'), - StreamFieldPanel('quick_links') + FieldPanel('banner'), + FieldPanel('featured_image'), + FieldPanel('footer_items'), + FieldPanel('quick_links') ] class Meta: # noqa diff --git a/mpicms/events/models.py b/mpicms/events/models.py index be9e43b..d8d0e42 100644 --- a/mpicms/events/models.py +++ b/mpicms/events/models.py @@ -7,7 +7,6 @@ from django.utils.translation import gettext_lazy as _ from wagtail.admin.panels import FieldPanel, MultiFieldPanel -from wagtail.images.edit_handlers import ImageChooserPanel from wagtail.models import Page from wagtail.api import APIField @@ -34,7 +33,7 @@ class Event(BodyMixin, BasePage): subpage_types = [] content_panels = Page.content_panels + BodyMixin.content_panels + [ - ImageChooserPanel('header_image'), + FieldPanel('header_image'), MultiFieldPanel( [ FieldPanel('external'), diff --git a/mpicms/news/models.py b/mpicms/news/models.py index eec2f63..9084ae2 100644 --- a/mpicms/news/models.py +++ b/mpicms/news/models.py @@ -7,7 +7,6 @@ from wagtail.models import Page from wagtail.search import index from wagtail.api import APIField -from wagtail.images.edit_handlers import ImageChooserPanel from wagtail.admin.panels import FieldPanel from mpicms.base.models import CategoryMixin @@ -74,7 +73,7 @@ class NewsEntry(CategoryMixin, SideBarMixin, BodyMixin, BasePage): content_panels = Page.content_panels + BodyMixin.content_panels + [ FieldPanel('date'), - ImageChooserPanel('header_image'), + FieldPanel('header_image'), ] + SideBarMixin.content_panels promote_panels = Page.promote_panels + BodyMixin.promote_panels + [ From 08408353b6e1c2ded603fecc3e7a13a69dd515d8 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sun, 26 Apr 2026 12:59:12 +0200 Subject: [PATCH 14/47] Add now required use_json_field to StreamField Note: We should set that to True because that is going to become default in a later Wagtail version. However, there were migration problems when going from False to True so we postpone that until other problems are fixed and we have a runnable stack. --- mpicms/base/mixins.py | 4 ++-- mpicms/base/models.py | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mpicms/base/mixins.py b/mpicms/base/mixins.py index fa7713a..fa84b90 100644 --- a/mpicms/base/mixins.py +++ b/mpicms/base/mixins.py @@ -41,7 +41,7 @@ class Meta: # noqa class BodyMixin(Page): - body = StreamField(ContentBlock(), blank=True, verbose_name=_('content')) + body = StreamField(ContentBlock(), blank=True, verbose_name=_('content'), use_json_field=False) show_toc = models.BooleanField(_('Show table of content'), default=False) content_panels = [ @@ -92,7 +92,7 @@ class SideBarMixin(Page): features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label=_('Editor'))), ('contacts', blocks.ListBlock( ContactBlock(), icon="user", template='base/blocks/contact_list_block.html', label=_('Contacts'))) - ], blank=True, verbose_name=_("Sidebar Content")) + ], blank=True, verbose_name=_("Sidebar Content"), use_json_field=False) content_panels = [ FieldPanel('sidebar'), diff --git a/mpicms/base/models.py b/mpicms/base/models.py index deff585..30e6553 100644 --- a/mpicms/base/models.py +++ b/mpicms/base/models.py @@ -72,13 +72,13 @@ class RootPage(EventMixin, NewsMixin, BasePage): ('title', blocks.CharBlock(max_length=200, required=False, label=_('Title'))), ('text', blocks.RichTextBlock(features=['bold', 'italic', 'link', 'document-link'], label=_('Text'))) ], icon='warning', label=_('Banner'))) - ], blank=True, verbose_name=_('Banner')) + ], blank=True, verbose_name=_('Banner'), use_json_field=False) footer_items = StreamField([ ('menu', MenuBlock()) - ], blank=True, verbose_name=_('Footer Items')) + ], blank=True, verbose_name=_('Footer Items'), use_json_field=False) quick_links = StreamField([ ('menu', MenuBlock()) - ], blank=True, verbose_name=_('Quick Links')) + ], blank=True, verbose_name=_('Quick Links'), use_json_field=False) parent_page_types = ['wagtailcore.Page'] # Restrict parent to be root max_count = 1 From 29a6083fe8a30815167c8754f04486a5c0997137 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sun, 26 Apr 2026 13:14:09 +0200 Subject: [PATCH 15/47] settings/local: Add intranet.molgen.mpg.de to ALLOWED_HOSTS During debugging, we sometimes get a warning, that intranet.molgen.mpg.de is not in ALLOWED_HOSTS during edit and preview. Is it unclear why this is required, but allow that for now and investigate later. --- config/settings/local.py | 1 + 1 file changed, 1 insertion(+) diff --git a/config/settings/local.py b/config/settings/local.py index 296d10a..1d8e302 100644 --- a/config/settings/local.py +++ b/config/settings/local.py @@ -10,6 +10,7 @@ "localhost", "0.0.0.0", "127.0.0.1", + "intranet.molgen.mpg.de", ] # CACHES From bf79a0ae0dec0db2cc1e93f98c701c46526c7328 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sun, 26 Apr 2026 15:12:36 +0200 Subject: [PATCH 16/47] blocks: Use VideoChooserBlock --- mpicms/base/blocks.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mpicms/base/blocks.py b/mpicms/base/blocks.py index d23a203..b4cb188 100644 --- a/mpicms/base/blocks.py +++ b/mpicms/base/blocks.py @@ -6,6 +6,7 @@ from wagtail.contrib.table_block.blocks import TableBlock as WagtailTableBlock import wagtailvideos.models import wagtailvideos.widgets +from wagtailvideos.blocks import VideoChooserBlock class ContactBlock(blocks.StructBlock): contact = SnippetChooserBlock('personal.Contact', label=_("Contact")) @@ -46,7 +47,7 @@ class ContentBlock(blocks.StreamBlock): markdown = MarkdownBlock(label=_('Raw Markdown')) table = TableBlock(label=_('Table')) contact = ContactBlock(label=_('Contact')) - video = VideoBlock(label=_('Video')) + video = VideoChooserBlock(label=_('Video')) class Meta: # noqa label = _('content') From 893270a670657ba2c57f29613898c91d9abefbbf Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sun, 26 Apr 2026 20:52:04 +0200 Subject: [PATCH 17/47] Add migrations for VideoChooseBlock Created by `./manage.py makemigrations` --- .../0054_alter_formfield_choices_and_more.py | 148 ++++++++++++++++++ ...ge_body_alter_homepage_body_de_and_more.py | 48 ++++++ ...event_body_alter_event_body_de_and_more.py | 32 ++++ ...event_body_alter_event_body_de_and_more.py | 33 ++++ ...y_body_alter_newsentry_body_de_and_more.py | 47 ++++++ ...y_body_alter_newsentry_body_de_and_more.py | 33 ++++ 6 files changed, 341 insertions(+) create mode 100644 mpicms/base/migrations/0054_alter_formfield_choices_and_more.py create mode 100644 mpicms/base/migrations/0055_alter_homepage_body_alter_homepage_body_de_and_more.py create mode 100644 mpicms/events/migrations/0016_alter_event_body_alter_event_body_de_and_more.py create mode 100644 mpicms/events/migrations/0017_alter_event_body_alter_event_body_de_and_more.py create mode 100644 mpicms/news/migrations/0025_alter_newsentry_body_alter_newsentry_body_de_and_more.py create mode 100644 mpicms/news/migrations/0026_alter_newsentry_body_alter_newsentry_body_de_and_more.py diff --git a/mpicms/base/migrations/0054_alter_formfield_choices_and_more.py b/mpicms/base/migrations/0054_alter_formfield_choices_and_more.py new file mode 100644 index 0000000..2a55049 --- /dev/null +++ b/mpicms/base/migrations/0054_alter_formfield_choices_and_more.py @@ -0,0 +1,148 @@ +# Generated by Django 4.1.13 on 2026-04-26 10:55 + +from django.db import migrations, models +import mpicms.base.blocks +import wagtail.blocks +import wagtail.contrib.forms.models +import wagtail.fields +import wagtail.snippets.blocks + + +class Migration(migrations.Migration): + + dependencies = [ + ('base', '0053_auto_20210114_1926'), + ] + + operations = [ + migrations.AlterField( + model_name='formfield', + name='choices', + field=models.TextField(blank=True, help_text='Comma or new line separated list of choices. Only applicable in checkboxes, radio and dropdown.', verbose_name='choices'), + ), + migrations.AlterField( + model_name='formfield', + name='default_value', + field=models.TextField(blank=True, help_text='Default value. Comma or new line separated values supported for checkboxes.', verbose_name='default value'), + ), + migrations.AlterField( + model_name='formpage', + name='from_address', + field=models.EmailField(blank=True, max_length=255, verbose_name='from address'), + ), + migrations.AlterField( + model_name='formpage', + name='sidebar', + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, use_json_field=False, verbose_name='Sidebar Content'), + ), + migrations.AlterField( + model_name='formpage', + name='sidebar_de', + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, use_json_field=False, verbose_name='Sidebar Content'), + ), + migrations.AlterField( + model_name='formpage', + name='sidebar_en', + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, use_json_field=False, verbose_name='Sidebar Content'), + ), + migrations.AlterField( + model_name='formpage', + name='to_address', + field=models.CharField(blank=True, help_text='Optional - form submissions will be emailed to these addresses. Separate multiple addresses by comma.', max_length=255, validators=[wagtail.contrib.forms.models.validate_to_address], verbose_name='to address'), + ), + migrations.AlterField( + model_name='homepage', + name='body', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, use_json_field=False, verbose_name='content'), + ), + migrations.AlterField( + model_name='homepage', + name='body_de', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), + ), + migrations.AlterField( + model_name='homepage', + name='body_en', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), + ), + migrations.AlterField( + model_name='homepage', + name='sidebar', + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, use_json_field=False, verbose_name='Sidebar Content'), + ), + migrations.AlterField( + model_name='homepage', + name='sidebar_de', + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, use_json_field=False, verbose_name='Sidebar Content'), + ), + migrations.AlterField( + model_name='homepage', + name='sidebar_en', + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, use_json_field=False, verbose_name='Sidebar Content'), + ), + migrations.AlterField( + model_name='rootpage', + name='banner', + field=wagtail.fields.StreamField([('banner', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title', max_length=200, required=False)), ('text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'link', 'document-link'], label='Text'))], icon='warning', label='Banner'))], blank=True, use_json_field=False, verbose_name='Banner'), + ), + migrations.AlterField( + model_name='rootpage', + name='footer_items', + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('url', wagtail.blocks.URLBlock(label='URL'))], label='Items')))]))], blank=True, use_json_field=False, verbose_name='Footer Items'), + ), + migrations.AlterField( + model_name='rootpage', + name='footer_items_de', + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('url', wagtail.blocks.URLBlock(label='URL'))], label='Items')))]))], blank=True, null=True, use_json_field=False, verbose_name='Footer Items'), + ), + migrations.AlterField( + model_name='rootpage', + name='footer_items_en', + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('url', wagtail.blocks.URLBlock(label='URL'))], label='Items')))]))], blank=True, null=True, use_json_field=False, verbose_name='Footer Items'), + ), + migrations.AlterField( + model_name='rootpage', + name='quick_links', + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('url', wagtail.blocks.URLBlock(label='URL'))], label='Items')))]))], blank=True, use_json_field=False, verbose_name='Quick Links'), + ), + migrations.AlterField( + model_name='rootpage', + name='quick_links_de', + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('url', wagtail.blocks.URLBlock(label='URL'))], label='Items')))]))], blank=True, null=True, use_json_field=False, verbose_name='Quick Links'), + ), + migrations.AlterField( + model_name='rootpage', + name='quick_links_en', + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('url', wagtail.blocks.URLBlock(label='URL'))], label='Items')))]))], blank=True, null=True, use_json_field=False, verbose_name='Quick Links'), + ), + migrations.AlterField( + model_name='wikipage', + name='body', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, use_json_field=False, verbose_name='content'), + ), + migrations.AlterField( + model_name='wikipage', + name='body_de', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), + ), + migrations.AlterField( + model_name='wikipage', + name='body_en', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), + ), + migrations.AlterField( + model_name='wikipage', + name='sidebar', + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, use_json_field=False, verbose_name='Sidebar Content'), + ), + migrations.AlterField( + model_name='wikipage', + name='sidebar_de', + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, use_json_field=False, verbose_name='Sidebar Content'), + ), + migrations.AlterField( + model_name='wikipage', + name='sidebar_en', + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, use_json_field=False, verbose_name='Sidebar Content'), + ), + ] diff --git a/mpicms/base/migrations/0055_alter_homepage_body_alter_homepage_body_de_and_more.py b/mpicms/base/migrations/0055_alter_homepage_body_alter_homepage_body_de_and_more.py new file mode 100644 index 0000000..b2eb406 --- /dev/null +++ b/mpicms/base/migrations/0055_alter_homepage_body_alter_homepage_body_de_and_more.py @@ -0,0 +1,48 @@ +# Generated by Django 4.1.13 on 2026-04-26 18:00 + +from django.db import migrations +import mpicms.base.blocks +import wagtail.blocks +import wagtail.fields +import wagtail.snippets.blocks +import wagtailvideos.blocks + + +class Migration(migrations.Migration): + + dependencies = [ + ('base', '0054_alter_formfield_choices_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='homepage', + name='body', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', wagtailvideos.blocks.VideoChooserBlock(label='Video'))], blank=True, use_json_field=False, verbose_name='content'), + ), + migrations.AlterField( + model_name='homepage', + name='body_de', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', wagtailvideos.blocks.VideoChooserBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), + ), + migrations.AlterField( + model_name='homepage', + name='body_en', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', wagtailvideos.blocks.VideoChooserBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), + ), + migrations.AlterField( + model_name='wikipage', + name='body', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', wagtailvideos.blocks.VideoChooserBlock(label='Video'))], blank=True, use_json_field=False, verbose_name='content'), + ), + migrations.AlterField( + model_name='wikipage', + name='body_de', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', wagtailvideos.blocks.VideoChooserBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), + ), + migrations.AlterField( + model_name='wikipage', + name='body_en', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', wagtailvideos.blocks.VideoChooserBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), + ), + ] diff --git a/mpicms/events/migrations/0016_alter_event_body_alter_event_body_de_and_more.py b/mpicms/events/migrations/0016_alter_event_body_alter_event_body_de_and_more.py new file mode 100644 index 0000000..4733dfd --- /dev/null +++ b/mpicms/events/migrations/0016_alter_event_body_alter_event_body_de_and_more.py @@ -0,0 +1,32 @@ +# Generated by Django 4.1.13 on 2026-04-26 10:55 + +from django.db import migrations +import mpicms.base.blocks +import wagtail.blocks +import wagtail.fields +import wagtail.snippets.blocks + + +class Migration(migrations.Migration): + + dependencies = [ + ('events', '0015_event_external'), + ] + + operations = [ + migrations.AlterField( + model_name='event', + name='body', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, use_json_field=False, verbose_name='content'), + ), + migrations.AlterField( + model_name='event', + name='body_de', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), + ), + migrations.AlterField( + model_name='event', + name='body_en', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), + ), + ] diff --git a/mpicms/events/migrations/0017_alter_event_body_alter_event_body_de_and_more.py b/mpicms/events/migrations/0017_alter_event_body_alter_event_body_de_and_more.py new file mode 100644 index 0000000..a983656 --- /dev/null +++ b/mpicms/events/migrations/0017_alter_event_body_alter_event_body_de_and_more.py @@ -0,0 +1,33 @@ +# Generated by Django 4.1.13 on 2026-04-26 18:00 + +from django.db import migrations +import mpicms.base.blocks +import wagtail.blocks +import wagtail.fields +import wagtail.snippets.blocks +import wagtailvideos.blocks + + +class Migration(migrations.Migration): + + dependencies = [ + ('events', '0016_alter_event_body_alter_event_body_de_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='event', + name='body', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', wagtailvideos.blocks.VideoChooserBlock(label='Video'))], blank=True, use_json_field=False, verbose_name='content'), + ), + migrations.AlterField( + model_name='event', + name='body_de', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', wagtailvideos.blocks.VideoChooserBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), + ), + migrations.AlterField( + model_name='event', + name='body_en', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', wagtailvideos.blocks.VideoChooserBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), + ), + ] diff --git a/mpicms/news/migrations/0025_alter_newsentry_body_alter_newsentry_body_de_and_more.py b/mpicms/news/migrations/0025_alter_newsentry_body_alter_newsentry_body_de_and_more.py new file mode 100644 index 0000000..331bf56 --- /dev/null +++ b/mpicms/news/migrations/0025_alter_newsentry_body_alter_newsentry_body_de_and_more.py @@ -0,0 +1,47 @@ +# Generated by Django 4.1.13 on 2026-04-26 10:55 + +from django.db import migrations +import mpicms.base.blocks +import wagtail.blocks +import wagtail.fields +import wagtail.snippets.blocks + + +class Migration(migrations.Migration): + + dependencies = [ + ('news', '0024_auto_20210114_1926'), + ] + + operations = [ + migrations.AlterField( + model_name='newsentry', + name='body', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, use_json_field=False, verbose_name='content'), + ), + migrations.AlterField( + model_name='newsentry', + name='body_de', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), + ), + migrations.AlterField( + model_name='newsentry', + name='body_en', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), + ), + migrations.AlterField( + model_name='newsentry', + name='sidebar', + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, use_json_field=False, verbose_name='Sidebar Content'), + ), + migrations.AlterField( + model_name='newsentry', + name='sidebar_de', + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, use_json_field=False, verbose_name='Sidebar Content'), + ), + migrations.AlterField( + model_name='newsentry', + name='sidebar_en', + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, use_json_field=False, verbose_name='Sidebar Content'), + ), + ] diff --git a/mpicms/news/migrations/0026_alter_newsentry_body_alter_newsentry_body_de_and_more.py b/mpicms/news/migrations/0026_alter_newsentry_body_alter_newsentry_body_de_and_more.py new file mode 100644 index 0000000..fc3c8eb --- /dev/null +++ b/mpicms/news/migrations/0026_alter_newsentry_body_alter_newsentry_body_de_and_more.py @@ -0,0 +1,33 @@ +# Generated by Django 4.1.13 on 2026-04-26 18:00 + +from django.db import migrations +import mpicms.base.blocks +import wagtail.blocks +import wagtail.fields +import wagtail.snippets.blocks +import wagtailvideos.blocks + + +class Migration(migrations.Migration): + + dependencies = [ + ('news', '0025_alter_newsentry_body_alter_newsentry_body_de_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='newsentry', + name='body', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', wagtailvideos.blocks.VideoChooserBlock(label='Video'))], blank=True, use_json_field=False, verbose_name='content'), + ), + migrations.AlterField( + model_name='newsentry', + name='body_de', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', wagtailvideos.blocks.VideoChooserBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), + ), + migrations.AlterField( + model_name='newsentry', + name='body_en', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', wagtailvideos.blocks.VideoChooserBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), + ), + ] From 1e8889b82cf8e66a42ae9c7af6a3abc293992173 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sun, 26 Apr 2026 21:06:38 +0200 Subject: [PATCH 18/47] settings: Fix WAGTAIL_USER_EDIT_FORM --- config/settings/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/settings/base.py b/config/settings/base.py index f6c872f..3952267 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -241,7 +241,7 @@ # WAGTAIL_USER_CREATION_FORM = 'mpicms.users.forms.CustomUserCreationForm' # WAGTAIL_USER_CUSTOM_FIELDS = ['phone', 'office'] -WAGTAIL_USER_EDIT_FORM = 'users.forms.UserEditForm' +WAGTAIL_USER_EDIT_FORM = 'mpicms.users.forms.UserEditForm' # SEARCH WAGTAILSEARCH_BACKENDS = { From e11484665d8a98e659518fd0380b2e6055e7452a Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Mon, 27 Apr 2026 16:51:42 +0200 Subject: [PATCH 19/47] chat: Fix embedding after numpy update --- mpicms/chat/services.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mpicms/chat/services.py b/mpicms/chat/services.py index ef1c14e..12196fe 100644 --- a/mpicms/chat/services.py +++ b/mpicms/chat/services.py @@ -251,7 +251,7 @@ def retrieve(query: str, lang: str): """ from mpicms.personal.models import Contact - vec = '[' + ','.join(repr(v) for v in embed_query(query)) + ']' + vec = '[' + ','.join(str(float(v)) for v in embed_query(query)) + ']' with connection.cursor() as cur: cur.execute(""" SELECT page_id, 1 - (embedding <=> %s::vector) AS similarity From d72a9613a10988489872e0be74076088caba5a91 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Mon, 27 Apr 2026 16:52:21 +0200 Subject: [PATCH 20/47] requirements: Remove version restriction for openai --- requirements/base.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/base.in b/requirements/base.in index 3aafd70..34ae733 100644 --- a/requirements/base.in +++ b/requirements/base.in @@ -7,7 +7,7 @@ pgvector # AI / chat # openai>=1.40.0 depends on jiter (Rust extension) which has no wheel for this platform -openai<1.40.0 +openai sentence-transformers html2text From 76475d95e9092b2c019debc639f056051a1a6695 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 30 Apr 2026 16:31:21 +0200 Subject: [PATCH 21/47] mpicms: Switch to use_json_field=True Switch database field to json. This will be the only option in future Wagtail versions anyway. --- .../migrations/0056_alter_rootpage_banner.py | 20 ++++++ ...ebar_alter_formpage_sidebar_de_and_more.py | 61 +++++++++++++++++++ ...58_alter_rootpage_footer_items_and_more.py | 30 +++++++++ ...059_alter_rootpage_quick_links_and_more.py | 30 +++++++++ ...ge_body_alter_homepage_body_de_and_more.py | 48 +++++++++++++++ mpicms/base/mixins.py | 4 +- mpicms/base/models.py | 6 +- ...event_body_alter_event_body_de_and_more.py | 33 ++++++++++ ...bar_alter_newsentry_sidebar_de_and_more.py | 31 ++++++++++ ...y_body_alter_newsentry_body_de_and_more.py | 33 ++++++++++ 10 files changed, 291 insertions(+), 5 deletions(-) create mode 100644 mpicms/base/migrations/0056_alter_rootpage_banner.py create mode 100644 mpicms/base/migrations/0057_alter_formpage_sidebar_alter_formpage_sidebar_de_and_more.py create mode 100644 mpicms/base/migrations/0058_alter_rootpage_footer_items_and_more.py create mode 100644 mpicms/base/migrations/0059_alter_rootpage_quick_links_and_more.py create mode 100644 mpicms/base/migrations/0060_alter_homepage_body_alter_homepage_body_de_and_more.py create mode 100644 mpicms/events/migrations/0018_alter_event_body_alter_event_body_de_and_more.py create mode 100644 mpicms/news/migrations/0027_alter_newsentry_sidebar_alter_newsentry_sidebar_de_and_more.py create mode 100644 mpicms/news/migrations/0028_alter_newsentry_body_alter_newsentry_body_de_and_more.py diff --git a/mpicms/base/migrations/0056_alter_rootpage_banner.py b/mpicms/base/migrations/0056_alter_rootpage_banner.py new file mode 100644 index 0000000..6cba00f --- /dev/null +++ b/mpicms/base/migrations/0056_alter_rootpage_banner.py @@ -0,0 +1,20 @@ +# Generated by Django 4.1.13 on 2026-04-30 13:29 + +from django.db import migrations +import wagtail.blocks +import wagtail.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ('base', '0055_alter_homepage_body_alter_homepage_body_de_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='rootpage', + name='banner', + field=wagtail.fields.StreamField([('banner', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title', max_length=200, required=False)), ('text', wagtail.blocks.RichTextBlock(features=['bold', 'italic', 'link', 'document-link'], label='Text'))], icon='warning', label='Banner'))], blank=True, use_json_field=True, verbose_name='Banner'), + ), + ] diff --git a/mpicms/base/migrations/0057_alter_formpage_sidebar_alter_formpage_sidebar_de_and_more.py b/mpicms/base/migrations/0057_alter_formpage_sidebar_alter_formpage_sidebar_de_and_more.py new file mode 100644 index 0000000..5686b8e --- /dev/null +++ b/mpicms/base/migrations/0057_alter_formpage_sidebar_alter_formpage_sidebar_de_and_more.py @@ -0,0 +1,61 @@ +# Generated by Django 4.1.13 on 2026-04-30 13:30 + +from django.db import migrations +import wagtail.blocks +import wagtail.fields +import wagtail.snippets.blocks + + +class Migration(migrations.Migration): + + dependencies = [ + ('base', '0056_alter_rootpage_banner'), + ] + + operations = [ + migrations.AlterField( + model_name='formpage', + name='sidebar', + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, use_json_field=True, verbose_name='Sidebar Content'), + ), + migrations.AlterField( + model_name='formpage', + name='sidebar_de', + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, use_json_field=True, verbose_name='Sidebar Content'), + ), + migrations.AlterField( + model_name='formpage', + name='sidebar_en', + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, use_json_field=True, verbose_name='Sidebar Content'), + ), + migrations.AlterField( + model_name='homepage', + name='sidebar', + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, use_json_field=True, verbose_name='Sidebar Content'), + ), + migrations.AlterField( + model_name='homepage', + name='sidebar_de', + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, use_json_field=True, verbose_name='Sidebar Content'), + ), + migrations.AlterField( + model_name='homepage', + name='sidebar_en', + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, use_json_field=True, verbose_name='Sidebar Content'), + ), + migrations.AlterField( + model_name='wikipage', + name='sidebar', + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, use_json_field=True, verbose_name='Sidebar Content'), + ), + migrations.AlterField( + model_name='wikipage', + name='sidebar_de', + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, use_json_field=True, verbose_name='Sidebar Content'), + ), + migrations.AlterField( + model_name='wikipage', + name='sidebar_en', + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, use_json_field=True, verbose_name='Sidebar Content'), + ), + ] diff --git a/mpicms/base/migrations/0058_alter_rootpage_footer_items_and_more.py b/mpicms/base/migrations/0058_alter_rootpage_footer_items_and_more.py new file mode 100644 index 0000000..49a86c3 --- /dev/null +++ b/mpicms/base/migrations/0058_alter_rootpage_footer_items_and_more.py @@ -0,0 +1,30 @@ +# Generated by Django 4.1.13 on 2026-04-30 13:31 + +from django.db import migrations +import wagtail.blocks +import wagtail.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ('base', '0057_alter_formpage_sidebar_alter_formpage_sidebar_de_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='rootpage', + name='footer_items', + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('url', wagtail.blocks.URLBlock(label='URL'))], label='Items')))]))], blank=True, use_json_field=True, verbose_name='Footer Items'), + ), + migrations.AlterField( + model_name='rootpage', + name='footer_items_de', + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('url', wagtail.blocks.URLBlock(label='URL'))], label='Items')))]))], blank=True, null=True, use_json_field=True, verbose_name='Footer Items'), + ), + migrations.AlterField( + model_name='rootpage', + name='footer_items_en', + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('url', wagtail.blocks.URLBlock(label='URL'))], label='Items')))]))], blank=True, null=True, use_json_field=True, verbose_name='Footer Items'), + ), + ] diff --git a/mpicms/base/migrations/0059_alter_rootpage_quick_links_and_more.py b/mpicms/base/migrations/0059_alter_rootpage_quick_links_and_more.py new file mode 100644 index 0000000..80165b3 --- /dev/null +++ b/mpicms/base/migrations/0059_alter_rootpage_quick_links_and_more.py @@ -0,0 +1,30 @@ +# Generated by Django 4.1.13 on 2026-04-30 13:32 + +from django.db import migrations +import wagtail.blocks +import wagtail.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ('base', '0058_alter_rootpage_footer_items_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='rootpage', + name='quick_links', + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('url', wagtail.blocks.URLBlock(label='URL'))], label='Items')))]))], blank=True, use_json_field=True, verbose_name='Quick Links'), + ), + migrations.AlterField( + model_name='rootpage', + name='quick_links_de', + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('url', wagtail.blocks.URLBlock(label='URL'))], label='Items')))]))], blank=True, null=True, use_json_field=True, verbose_name='Quick Links'), + ), + migrations.AlterField( + model_name='rootpage', + name='quick_links_en', + field=wagtail.fields.StreamField([('menu', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Title')), ('url', wagtail.blocks.URLBlock(label='URL'))], label='Items')))]))], blank=True, null=True, use_json_field=True, verbose_name='Quick Links'), + ), + ] diff --git a/mpicms/base/migrations/0060_alter_homepage_body_alter_homepage_body_de_and_more.py b/mpicms/base/migrations/0060_alter_homepage_body_alter_homepage_body_de_and_more.py new file mode 100644 index 0000000..dca36ba --- /dev/null +++ b/mpicms/base/migrations/0060_alter_homepage_body_alter_homepage_body_de_and_more.py @@ -0,0 +1,48 @@ +# Generated by Django 4.1.13 on 2026-04-30 13:33 + +from django.db import migrations +import mpicms.base.blocks +import wagtail.blocks +import wagtail.fields +import wagtail.snippets.blocks +import wagtailvideos.blocks + + +class Migration(migrations.Migration): + + dependencies = [ + ('base', '0059_alter_rootpage_quick_links_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='homepage', + name='body', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', wagtailvideos.blocks.VideoChooserBlock(label='Video'))], blank=True, use_json_field=True, verbose_name='content'), + ), + migrations.AlterField( + model_name='homepage', + name='body_de', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', wagtailvideos.blocks.VideoChooserBlock(label='Video'))], blank=True, null=True, use_json_field=True, verbose_name='content'), + ), + migrations.AlterField( + model_name='homepage', + name='body_en', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', wagtailvideos.blocks.VideoChooserBlock(label='Video'))], blank=True, null=True, use_json_field=True, verbose_name='content'), + ), + migrations.AlterField( + model_name='wikipage', + name='body', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', wagtailvideos.blocks.VideoChooserBlock(label='Video'))], blank=True, use_json_field=True, verbose_name='content'), + ), + migrations.AlterField( + model_name='wikipage', + name='body_de', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', wagtailvideos.blocks.VideoChooserBlock(label='Video'))], blank=True, null=True, use_json_field=True, verbose_name='content'), + ), + migrations.AlterField( + model_name='wikipage', + name='body_en', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', wagtailvideos.blocks.VideoChooserBlock(label='Video'))], blank=True, null=True, use_json_field=True, verbose_name='content'), + ), + ] diff --git a/mpicms/base/mixins.py b/mpicms/base/mixins.py index fa84b90..3f4e221 100644 --- a/mpicms/base/mixins.py +++ b/mpicms/base/mixins.py @@ -41,7 +41,7 @@ class Meta: # noqa class BodyMixin(Page): - body = StreamField(ContentBlock(), blank=True, verbose_name=_('content'), use_json_field=False) + body = StreamField(ContentBlock(), blank=True, verbose_name=_('content'), use_json_field=True) show_toc = models.BooleanField(_('Show table of content'), default=False) content_panels = [ @@ -92,7 +92,7 @@ class SideBarMixin(Page): features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label=_('Editor'))), ('contacts', blocks.ListBlock( ContactBlock(), icon="user", template='base/blocks/contact_list_block.html', label=_('Contacts'))) - ], blank=True, verbose_name=_("Sidebar Content"), use_json_field=False) + ], blank=True, verbose_name=_("Sidebar Content"), use_json_field=True) content_panels = [ FieldPanel('sidebar'), diff --git a/mpicms/base/models.py b/mpicms/base/models.py index 30e6553..3b860c4 100644 --- a/mpicms/base/models.py +++ b/mpicms/base/models.py @@ -72,13 +72,13 @@ class RootPage(EventMixin, NewsMixin, BasePage): ('title', blocks.CharBlock(max_length=200, required=False, label=_('Title'))), ('text', blocks.RichTextBlock(features=['bold', 'italic', 'link', 'document-link'], label=_('Text'))) ], icon='warning', label=_('Banner'))) - ], blank=True, verbose_name=_('Banner'), use_json_field=False) + ], blank=True, verbose_name=_('Banner'), use_json_field=True) footer_items = StreamField([ ('menu', MenuBlock()) - ], blank=True, verbose_name=_('Footer Items'), use_json_field=False) + ], blank=True, verbose_name=_('Footer Items'), use_json_field=True) quick_links = StreamField([ ('menu', MenuBlock()) - ], blank=True, verbose_name=_('Quick Links'), use_json_field=False) + ], blank=True, verbose_name=_('Quick Links'), use_json_field=True) parent_page_types = ['wagtailcore.Page'] # Restrict parent to be root max_count = 1 diff --git a/mpicms/events/migrations/0018_alter_event_body_alter_event_body_de_and_more.py b/mpicms/events/migrations/0018_alter_event_body_alter_event_body_de_and_more.py new file mode 100644 index 0000000..f124659 --- /dev/null +++ b/mpicms/events/migrations/0018_alter_event_body_alter_event_body_de_and_more.py @@ -0,0 +1,33 @@ +# Generated by Django 4.1.13 on 2026-04-30 13:33 + +from django.db import migrations +import mpicms.base.blocks +import wagtail.blocks +import wagtail.fields +import wagtail.snippets.blocks +import wagtailvideos.blocks + + +class Migration(migrations.Migration): + + dependencies = [ + ('events', '0017_alter_event_body_alter_event_body_de_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='event', + name='body', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', wagtailvideos.blocks.VideoChooserBlock(label='Video'))], blank=True, use_json_field=True, verbose_name='content'), + ), + migrations.AlterField( + model_name='event', + name='body_de', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', wagtailvideos.blocks.VideoChooserBlock(label='Video'))], blank=True, null=True, use_json_field=True, verbose_name='content'), + ), + migrations.AlterField( + model_name='event', + name='body_en', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', wagtailvideos.blocks.VideoChooserBlock(label='Video'))], blank=True, null=True, use_json_field=True, verbose_name='content'), + ), + ] diff --git a/mpicms/news/migrations/0027_alter_newsentry_sidebar_alter_newsentry_sidebar_de_and_more.py b/mpicms/news/migrations/0027_alter_newsentry_sidebar_alter_newsentry_sidebar_de_and_more.py new file mode 100644 index 0000000..52a7e30 --- /dev/null +++ b/mpicms/news/migrations/0027_alter_newsentry_sidebar_alter_newsentry_sidebar_de_and_more.py @@ -0,0 +1,31 @@ +# Generated by Django 4.1.13 on 2026-04-30 13:30 + +from django.db import migrations +import wagtail.blocks +import wagtail.fields +import wagtail.snippets.blocks + + +class Migration(migrations.Migration): + + dependencies = [ + ('news', '0026_alter_newsentry_body_alter_newsentry_body_de_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='newsentry', + name='sidebar', + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, use_json_field=True, verbose_name='Sidebar Content'), + ), + migrations.AlterField( + model_name='newsentry', + name='sidebar_de', + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, use_json_field=True, verbose_name='Sidebar Content'), + ), + migrations.AlterField( + model_name='newsentry', + name='sidebar_en', + field=wagtail.fields.StreamField([('editor', wagtail.blocks.RichTextBlock(features=['h4', 'h5', 'h6', 'bold', 'italic', 'link', 'document-link'], label='Editor')), ('contacts', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))]), icon='user', label='Contacts', template='base/blocks/contact_list_block.html'))], blank=True, null=True, use_json_field=True, verbose_name='Sidebar Content'), + ), + ] diff --git a/mpicms/news/migrations/0028_alter_newsentry_body_alter_newsentry_body_de_and_more.py b/mpicms/news/migrations/0028_alter_newsentry_body_alter_newsentry_body_de_and_more.py new file mode 100644 index 0000000..732367b --- /dev/null +++ b/mpicms/news/migrations/0028_alter_newsentry_body_alter_newsentry_body_de_and_more.py @@ -0,0 +1,33 @@ +# Generated by Django 4.1.13 on 2026-04-30 13:33 + +from django.db import migrations +import mpicms.base.blocks +import wagtail.blocks +import wagtail.fields +import wagtail.snippets.blocks +import wagtailvideos.blocks + + +class Migration(migrations.Migration): + + dependencies = [ + ('news', '0027_alter_newsentry_sidebar_alter_newsentry_sidebar_de_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='newsentry', + name='body', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', wagtailvideos.blocks.VideoChooserBlock(label='Video'))], blank=True, use_json_field=True, verbose_name='content'), + ), + migrations.AlterField( + model_name='newsentry', + name='body_de', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', wagtailvideos.blocks.VideoChooserBlock(label='Video'))], blank=True, null=True, use_json_field=True, verbose_name='content'), + ), + migrations.AlterField( + model_name='newsentry', + name='body_en', + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', wagtailvideos.blocks.VideoChooserBlock(label='Video'))], blank=True, null=True, use_json_field=True, verbose_name='content'), + ), + ] From 70294098571ed6e577a2849955cdba2b067650e1 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 7 May 2026 11:35:57 +0200 Subject: [PATCH 22/47] patches: Remove obsolete patch ogg media typo The fix is upstream now. --- ...typo-in-ogg-media-format-description.patch | 26 ------------------- 1 file changed, 26 deletions(-) delete mode 100644 patches/Fix-typo-in-ogg-media-format-description.patch diff --git a/patches/Fix-typo-in-ogg-media-format-description.patch b/patches/Fix-typo-in-ogg-media-format-description.patch deleted file mode 100644 index e4887a8..0000000 --- a/patches/Fix-typo-in-ogg-media-format-description.patch +++ /dev/null @@ -1,26 +0,0 @@ -From a34ec1288a11bd5e27ccc9f693da47c1692f973d Mon Sep 17 00:00:00 2001 -From: Donald Buczek -Date: Tue, 19 Jan 2021 14:44:32 +0100 -Subject: [PATCH] Fix typo in ogg media format description - -https://github.com/neon-jungle/wagtailvideos/pull/50 ---- - lib/python3.7/site-packages/wagtailvideos/models.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/python3.7/site-packages/wagtailvideos/models.py b/lib/python3.7/site-packages/wagtailvideos/models.py -index 75c8e0e..c0ab41b 100644 ---- a/lib/python3.7/site-packages/wagtailvideos/models.py -+++ b/lib/python3.7/site-packages/wagtailvideos/models.py -@@ -47,7 +47,7 @@ class VideoQuality(ChoiceEnum): - class MediaFormats(ChoiceEnum): - webm = 'VP8 and Vorbis in WebM' - mp4 = 'H.264 and MP3 in Mp4' -- ogg = 'Theora and Voris in Ogg' -+ ogg = 'Theora and Vorbis in Ogg' - - def get_quality_param(self, quality): - if self is MediaFormats.webm: --- -2.26.2 - From a59baec8ce6f051f8d0ae999115da64252587a14 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 7 May 2026 11:38:50 +0200 Subject: [PATCH 23/47] patches: Remove obsolete patch for dummy requests Remove this patch. Hopefully, "settings/local: Add intranet.molgen.mpg.de to ALLOWED_HOSTS" fixed the same problem. --- ...eck-ALLOWED_HOSTS-for-dummy-requests.patch | 31 ------------------- 1 file changed, 31 deletions(-) delete mode 100644 patches/django-Do-not-check-ALLOWED_HOSTS-for-dummy-requests.patch diff --git a/patches/django-Do-not-check-ALLOWED_HOSTS-for-dummy-requests.patch b/patches/django-Do-not-check-ALLOWED_HOSTS-for-dummy-requests.patch deleted file mode 100644 index 2624c45..0000000 --- a/patches/django-Do-not-check-ALLOWED_HOSTS-for-dummy-requests.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 41d351e97c1cc8d8c0bab812eacffb2dcd6e9ad2 Mon Sep 17 00:00:00 2001 -From: Donald Buczek -Date: Thu, 2 Jan 2020 14:53:04 +0100 -Subject: [PATCH] django: Do not check ALLOWED_HOSTS for dummy requests. - -Bypass check against ALLOWED_HOSTS for requests with the attribute -is_dummy set to a true value. - -This can be used applications which create request themselfs to be -handled by django. It is used by wagtail to implement preview. ---- - lib/python3.7/site-packages/django/http/request.py | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/lib/python3.7/site-packages/django/http/request.py b/lib/python3.7/site-packages/django/http/request.py -index 083bf2d..4b8c9a9 100644 ---- a/lib/python3.7/site-packages/django/http/request.py -+++ b/lib/python3.7/site-packages/django/http/request.py -@@ -120,6 +120,9 @@ class HttpRequest: - """Return the HTTP host using the environment or request headers.""" - host = self._get_raw_host() - -+ if getattr(self, 'is_dummy', False): -+ return host -+ - # Allow variants of localhost if ALLOWED_HOSTS is empty and DEBUG=True. - allowed_hosts = settings.ALLOWED_HOSTS - if settings.DEBUG and not allowed_hosts: --- -2.26.2 - From 3efa935351b5abd6c020f5e15d284680d8bf40ac Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 7 May 2026 12:37:37 +0200 Subject: [PATCH 24/47] requirements: Update Wagtail from 4.x to 5.x --- requirements/base.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/base.in b/requirements/base.in index 34ae733..d55bbdf 100644 --- a/requirements/base.in +++ b/requirements/base.in @@ -12,7 +12,7 @@ sentence-transformers html2text # Wagtail -wagtail ~= 4.2.4 +wagtail ~= 5.2.8 wagtail-modeltranslation wagtail-orderable From b6965b7c6a83ae1fa952512da4088009eca037c3 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 7 May 2026 13:53:17 +0200 Subject: [PATCH 25/47] Convert SearchField partial_match --- mpicms/personal/models.py | 9 +++++---- mpicms/publications/models.py | 15 ++++++++++----- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/mpicms/personal/models.py b/mpicms/personal/models.py index f0f9202..2b93530 100644 --- a/mpicms/personal/models.py +++ b/mpicms/personal/models.py @@ -78,7 +78,8 @@ class Group(index.Indexed, models.Model): ] search_fields = [ - index.SearchField('name', partial_match=True), + index.SearchField('name'), + index.AutocompleteField('name') ] def __str__(self): @@ -123,11 +124,11 @@ class Contact(index.Indexed, models.Model): ] search_fields = [ - index.SearchField('first_name', partial_match=True), + index.SearchField('first_name'), index.AutocompleteField('first_name'), - index.SearchField('last_name', partial_match=True), + index.SearchField('last_name'), index.AutocompleteField('last_name'), - index.SearchField('email', partial_match=True), + index.SearchField('email'), index.AutocompleteField('email'), index.SearchField('phone'), index.SearchField('room'), diff --git a/mpicms/publications/models.py b/mpicms/publications/models.py index ef2307d..3423c0b 100644 --- a/mpicms/publications/models.py +++ b/mpicms/publications/models.py @@ -39,11 +39,16 @@ class Publication(index.Indexed, ClusterableModel, LatestFirstOrderable): ] search_fields = [ - index.SearchField('title', partial_match=True), - index.SearchField('groups', partial_match=True), - index.SearchField('authors', partial_match=True), - index.SearchField('source', partial_match=True), - index.SearchField('doi', partial_match=True), + index.SearchField('title'), + index.AutocompleteField('title'), + index.SearchField('groups'), + index.AutocompleteField('groups'), + index.SearchField('authors'), + index.AutocompleteField('authors'), + index.SearchField('source'), + index.AutocompleteField('source'), + index.SearchField('doi'), + index.AutocompleteField('doi'), ] @property From 9b1ab5d42724c22a9953b1b5a26a65d93c5646c6 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 7 May 2026 13:54:31 +0200 Subject: [PATCH 26/47] requirements: Add wagtail-modeladmin modeladmin is deprecated. Add it as an external package to ease transition. In the longterm, the usages should be converted to wagtail.snippets. --- requirements/base.in | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements/base.in b/requirements/base.in index d55bbdf..40b78a0 100644 --- a/requirements/base.in +++ b/requirements/base.in @@ -13,6 +13,7 @@ html2text # Wagtail wagtail ~= 5.2.8 +wagtail-modeladmin wagtail-modeltranslation wagtail-orderable From 1e09d778550b4fc026e6b7c74b1fe30a4013e80c Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 7 May 2026 16:22:57 +0200 Subject: [PATCH 27/47] Replace wagtail.contrib.modeladmin with wagtail_modeladmin --- config/settings/base.py | 2 +- mpicms/base/wagtail_hooks.py | 2 +- mpicms/personal/wagtail_hooks.py | 4 ++-- mpicms/publications/wagtail_hooks.py | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/config/settings/base.py b/config/settings/base.py index 3952267..c76cadf 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -62,7 +62,7 @@ 'wagtail', 'wagtail.contrib.search_promotions', 'wagtail.contrib.table_block', - 'wagtail.contrib.modeladmin', + 'wagtail_modeladmin', 'wagtail.api.v2', 'wagtailorderable', diff --git a/mpicms/base/wagtail_hooks.py b/mpicms/base/wagtail_hooks.py index f5dd082..083587a 100644 --- a/mpicms/base/wagtail_hooks.py +++ b/mpicms/base/wagtail_hooks.py @@ -8,7 +8,7 @@ from django.conf import settings from django.utils.html import strip_tags -from wagtail.contrib.modeladmin.options import ModelAdmin, modeladmin_register +from wagtail_modeladmin.options import ModelAdmin, modeladmin_register from wagtail import hooks from wagtail.admin.menu import MenuItem diff --git a/mpicms/personal/wagtail_hooks.py b/mpicms/personal/wagtail_hooks.py index d9bdf4e..ef9e369 100644 --- a/mpicms/personal/wagtail_hooks.py +++ b/mpicms/personal/wagtail_hooks.py @@ -2,8 +2,8 @@ from django.contrib.admin.utils import (quote, unquote) from django.shortcuts import get_object_or_404 -from wagtail.contrib.modeladmin.options import ModelAdmin, modeladmin_register, ModelAdminGroup -from wagtail.contrib.modeladmin.views import EditView, InspectView, DeleteView, InstanceSpecificView +from wagtail_modeladmin.options import ModelAdmin, modeladmin_register, ModelAdminGroup +from wagtail_modeladmin.views import EditView, InspectView, DeleteView, InstanceSpecificView from .models import Contact, Group, Position from .models import Status diff --git a/mpicms/publications/wagtail_hooks.py b/mpicms/publications/wagtail_hooks.py index 60a3b8b..f673b86 100644 --- a/mpicms/publications/wagtail_hooks.py +++ b/mpicms/publications/wagtail_hooks.py @@ -1,6 +1,6 @@ from django.utils.translation import gettext_lazy as _ -from wagtail.contrib.modeladmin.options import ModelAdmin, modeladmin_register +from wagtail_modeladmin.options import ModelAdmin, modeladmin_register from wagtailorderable.modeladmin.mixins import OrderableMixin from .models import Publication From b15ce11cfad81741b7714719e30ee77922a43673 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 7 May 2026 17:00:31 +0200 Subject: [PATCH 28/47] Fix add_subpage view for updated Wagtail template Wagtail's add_subpage.html now unpacks a 4-tuple including page_description, so include model.get_page_description() in the page_types list. --- mpicms/base/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mpicms/base/views.py b/mpicms/base/views.py index f44185c..3b38822 100644 --- a/mpicms/base/views.py +++ b/mpicms/base/views.py @@ -68,7 +68,7 @@ def add_subpage(request, parent_page_id): raise PermissionDenied page_types = [ - (model.get_verbose_name(), model._meta.app_label, model._meta.model_name) + (model.get_verbose_name(), model._meta.app_label, model._meta.model_name, model.get_page_description()) for model in type(parent_page).creatable_subpage_models() if model.can_create_at(parent_page) and can_create(request, model) ] @@ -78,7 +78,7 @@ def add_subpage(request, parent_page_id): if len(page_types) == 1: # Only one page type is available - redirect straight to the create form rather than # making the user choose - verbose_name, app_label, model_name = page_types[0] + verbose_name, app_label, model_name, description = page_types[0] return redirect('wagtailadmin_pages:add', app_label, model_name, parent_page.id) return render(request, 'wagtailadmin/pages/add_subpage.html', { From fad875d2d1b820b5db8681bbb95614179baeb994 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 7 May 2026 20:29:22 +0200 Subject: [PATCH 29/47] settings: Disable debug_toolbar ProfilingPanel Python 3.12 changed cProfile to use sys.monitoring internally, which has a limited number of globally-shared tool slots. Concurrent requests both trying to enable a cProfile.Profile() cause the second one to fail with "ValueError: Another profiling tool is already active". See https://github.com/django-commons/django-debug-toolbar/issues/1875 --- config/settings/local.py | 1 + 1 file changed, 1 insertion(+) diff --git a/config/settings/local.py b/config/settings/local.py index 1d8e302..aa83eb0 100644 --- a/config/settings/local.py +++ b/config/settings/local.py @@ -47,6 +47,7 @@ DEBUG_TOOLBAR_CONFIG = { 'DISABLE_PANELS': [ 'debug_toolbar.panels.redirects.RedirectsPanel', + 'debug_toolbar.panels.profiling.ProfilingPanel', ], 'SHOW_TEMPLATE_CONTEXT': True, } From 5b1bba1c770435cf661b96835b122c86f4e917c3 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 7 May 2026 20:31:33 +0200 Subject: [PATCH 30/47] base: Fix deprecated classnames kwarg in MenuItem Wagtail 6.0 renames the classnames kwarg to classname. See RemovedInWagtail60Warning. --- mpicms/base/wagtail_hooks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mpicms/base/wagtail_hooks.py b/mpicms/base/wagtail_hooks.py index 083587a..d26ad6c 100644 --- a/mpicms/base/wagtail_hooks.py +++ b/mpicms/base/wagtail_hooks.py @@ -38,7 +38,7 @@ def register_h1_feature(features): @hooks.register('register_admin_menu_item') def register_site_button(): # Without the ? Wagtail applies different CSS - return MenuItem(_('View website'), '/?', classnames='icon icon-site', order=1) + return MenuItem(_('View website'), '/?', classname='icon icon-site', order=1) @hooks.register('after_edit_page') From a967a52d2fdb0ea327b7c9373224b018a78eb43e Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 7 May 2026 20:37:11 +0200 Subject: [PATCH 31/47] urls: Redirect /favicon.ico to /static/favicon/favicon.ico Browsers request /favicon.ico unconditionally, causing a 404. --- config/urls.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/urls.py b/config/urls.py index 24c3b51..c73b692 100644 --- a/config/urls.py +++ b/config/urls.py @@ -9,6 +9,7 @@ from django.conf.urls.i18n import i18n_patterns from django.conf.urls.static import static from django.views import defaults as default_views, static as static_views +from django.views.generic import RedirectView from mpicms.base.views import search, LogoutView, account, add_subpage, subscribe, unsubscribe from mpicms.base.api import api_router @@ -19,6 +20,7 @@ urlpatterns = [ + path('favicon.ico', RedirectView.as_view(url='/static/favicon/favicon.ico', permanent=True)), path('django-admin', admin.site.urls), path('i18n/', include('django.conf.urls.i18n')), path('search', search, name='search'), From 2b17c8e3357bab40135de2171f84665cf818f4de Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 7 May 2026 21:12:42 +0200 Subject: [PATCH 32/47] base: Remove language background-coloring from stream field panels The feature used li.object.stream-field as the styling target, which no longer exists in the Wagtail 5.x admin. The replacement (section.w-panel) covers too wide an area and does not look good in the new design. Keep the flag emoji labels on [de]/[en] fields. --- mpicms/static/images/de.png | Bin 1211 -> 0 bytes mpicms/static/images/en.png | Bin 1066 -> 0 bytes mpicms/templates/wagtailadmin/pages/create.html | 16 +--------------- mpicms/templates/wagtailadmin/pages/edit.html | 16 +--------------- 4 files changed, 2 insertions(+), 30 deletions(-) delete mode 100644 mpicms/static/images/de.png delete mode 100644 mpicms/static/images/en.png diff --git a/mpicms/static/images/de.png b/mpicms/static/images/de.png deleted file mode 100644 index 6e6e3abe08a0a759312c6630ec909a017a5e89ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1211 zcmeAS@N?(olHy`uVBq!ia0vp^CxEzxgAGVtJ(SYPz`)p&>FgZf>FlgfP?VpRnUl)E zpfRy_qOHea2brVs!Alp3vTJu(q^#H#As||KMN4F%(+bh3QiGjeoHH&>ShB-{YaJ`Q zz1V6#y>q*)c5pR4VDFf`c=Dp|DL?ivxuA5c`ElKz-QRaqvvX_}y1Ztap~K}|v7u{CoKyuJ|dX3@xmc5?#+u<3i=DVhx#tB zQGC4dRAu+(uvHt5+5Y4{Y*|~``Pzhi;sGWxMaPyVF0+89UWv6FYAf*mHp=N z7e)zez$d0_3!UKi}%YL?l0<1R*Y-}Mhjb#x4R3&e-K=-cll(X z2xoyuWHAE+w=f7ZGR&GI0Tg5}@$_|Nf5ODht)l*Kq4GhXkYtH#M2T~LZfEoAQZHNl15BYudaaR7GvU}Gn!`!b-OJk?w5+1#x1nD1Zf z_x#)PYi(74txRImO_nDnyRWV-)LC79wN^FluKZQAT~T|(YlC8g(^#IQn6LI^lg*>xz_i)$o41by8VB&^rF(9TVEEwa{ZcEy8LW! zfvxoQ&W1UwpFek)w)UCryZ+bp%XirtYFt15^ZS%}mUoh5!|sR1_df9X_${L~!K`+| z{nhKE&w9;ITVCb;a%Qx8ZT%Lt;63ZUoY7U-8kM%me&hSpyq2{um&`xve|5L;x!sm| zXRmDxuHAR+cfIWPwhYIA=KSjO%AJ4COa|KLw%srJ(u7F1C9e{eZJ*9@LM6DZTKv@c z7-lA>O=+(Smi#&M)vo50b5OhV54mp9tqRl6U0t?z>#gv*XA%=u^1IoFff(j$^S*oh zoEhzqXPVo4b#mc>9HyeRSN+t2|E&1pvr%_(g!!s|wX$>5Z|Zl?WJw9!d-Ij%!If(t ze!p2dQJ3e$JB}k$FDA+4-zu1;91YS(XA5#NUS6r)-m9{CPTYwXc9&&whi|4Kn%m sRVIB;UxeFaZnZu+uZRgpVktQIhm-Sr;;OZBzKI|up00i_>zopr0G>Y)T>t<8 diff --git a/mpicms/static/images/en.png b/mpicms/static/images/en.png deleted file mode 100644 index e74727bead85dc1d70c2e02985e5fc003462433d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1066 zcmeAS@N?(olHy`uVBq!ia0vp^CxEzxgAGVtJ(SYPz`)p&>FgZf>FlgfP?VpRnUl)E zpfRy_qOHea2brVs!Alp3vTJu(q^#H#As||KMN4F%(+bh3QiGjeoHH&>ShB-{YaJ`Q zz1V6#y>q*)c5pR4VDFf`c=Dp|DL?ivxuA5c`ElKz-QRaqvvX_}y1Ztap~K}|v7u{CoKyuJ|dX3@xmc5?#+u<3i=DVhx#tB zQGC4dRAu+(uvHt5+5Y4{Y*|~``Pzhi;sGWxMaPyVF0+89UWv6FYAf*mHp=N z7e)zez$d0_3!UKi}%YL?l0<1R*Y-}Mhjb#x4R3&e-K=-cll(X z2xoyuWHAE+w=f7ZGR&GI0Tg5}@$_|Nf5ODht-=y>ENC-ONV3E=qQp5rH#aq}gu%He zHL)Z$MWH;iBtya7(>EZzkx!g~fr-h}#WAGf*4sO`v#tb)uszs+ZIS5fpAF0XY8&tU z__to+Ugbg#T~R^TLXD8jt#Lkjvs1*`teWyx$s)DRX#4uH7uivSi6M zkWkp`92TGr3f<+5#)iSQaw?Mbm0yiy(?9BTOg|Or_~N5#nljTNh0TJDi48Y98VnBQ qxHw28m? {% endblock %} @@ -23,12 +15,6 @@ {{ block.super }} {% endblock %} diff --git a/mpicms/templates/wagtailadmin/pages/edit.html b/mpicms/templates/wagtailadmin/pages/edit.html index b8ad4af..acc90e0 100644 --- a/mpicms/templates/wagtailadmin/pages/edit.html +++ b/mpicms/templates/wagtailadmin/pages/edit.html @@ -15,8 +15,8 @@ {{ block.super }} {% endblock %} From fc2ac429d7162034270ae4a5700936dc1c444548 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 7 May 2026 21:27:21 +0200 Subject: [PATCH 34/47] requirements: Update Wagtail from 5.x to 6.x --- requirements/base.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/base.in b/requirements/base.in index 40b78a0..7f2bf5c 100644 --- a/requirements/base.in +++ b/requirements/base.in @@ -12,7 +12,7 @@ sentence-transformers html2text # Wagtail -wagtail ~= 5.2.8 +wagtail ~= 6.4.2 wagtail-modeladmin wagtail-modeltranslation wagtail-orderable From efe064edbb7a920612ac15d9351ba59025257e96 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 7 May 2026 21:56:10 +0200 Subject: [PATCH 35/47] base: Fix Query import for Wagtail 6 wagtail.search.models.Query moved to wagtail.contrib.search_promotions.models in Wagtail 6. --- mpicms/base/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mpicms/base/views.py b/mpicms/base/views.py index 3b38822..a3361ac 100644 --- a/mpicms/base/views.py +++ b/mpicms/base/views.py @@ -8,7 +8,7 @@ from wagtail.admin import messages from wagtail.models import Page from wagtail import hooks -from wagtail.search.models import Query +from wagtail.contrib.search_promotions.models import Query from wagtail.admin.views.account import LogoutView as LView from wagtail.admin.views.pages.utils import get_valid_next_url_from_request From e6b948ca927417f2ed98e97c3323ae1db98e5462 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 7 May 2026 22:03:28 +0200 Subject: [PATCH 36/47] users: Replace WAGTAIL_USER_EDIT_FORM with custom UserViewSet WAGTAIL_USER_EDIT_FORM is deprecated in Wagtail 6 and removed in Wagtail 7. Replace it with a UserViewSet subclass that overrides get_form_class(). --- config/settings/base.py | 7 +------ mpicms/users/apps.py | 5 +++++ mpicms/users/viewsets.py | 10 ++++++++++ 3 files changed, 16 insertions(+), 6 deletions(-) create mode 100644 mpicms/users/viewsets.py diff --git a/config/settings/base.py b/config/settings/base.py index c76cadf..68583b3 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -53,7 +53,7 @@ 'wagtail.contrib.redirects', 'wagtail.embeds', 'wagtail.sites', - 'wagtail.users', + 'mpicms.users.apps.CustomWagtailUsersAppConfig', 'wagtail.snippets', 'wagtail.documents', 'wagtail.images', @@ -237,11 +237,6 @@ # WAGTAIL WAGTAIL_SITE_NAME = 'MPI CMS' WAGTAILADMIN_BASE_URL = "https://intranet.molgen.mpg.de" -# WAGTAIL_USER_EDIT_FORM = 'mpicms.users.forms.CustomUserEditForm' -# WAGTAIL_USER_CREATION_FORM = 'mpicms.users.forms.CustomUserCreationForm' -# WAGTAIL_USER_CUSTOM_FIELDS = ['phone', 'office'] - -WAGTAIL_USER_EDIT_FORM = 'mpicms.users.forms.UserEditForm' # SEARCH WAGTAILSEARCH_BACKENDS = { diff --git a/mpicms/users/apps.py b/mpicms/users/apps.py index 951ec54..bdeb49f 100644 --- a/mpicms/users/apps.py +++ b/mpicms/users/apps.py @@ -1,6 +1,11 @@ from django.apps import AppConfig +from wagtail.users.apps import WagtailUsersAppConfig class UserAppConfig(AppConfig): name = "mpicms.users" verbose_name = "Users" + + +class CustomWagtailUsersAppConfig(WagtailUsersAppConfig): + user_viewset = "mpicms.users.viewsets.UserViewSet" diff --git a/mpicms/users/viewsets.py b/mpicms/users/viewsets.py new file mode 100644 index 0000000..5938cee --- /dev/null +++ b/mpicms/users/viewsets.py @@ -0,0 +1,10 @@ +from wagtail.users.views.users import UserViewSet as WagtailUserViewSet + +from .forms import UserEditForm + + +class UserViewSet(WagtailUserViewSet): + def get_form_class(self, for_update=False): + if for_update: + return UserEditForm + return super().get_form_class(for_update=False) From b9e95d79d335c711804860c195ddbb87166b1444 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 7 May 2026 22:08:38 +0200 Subject: [PATCH 37/47] requirements: Update Wagtail from 6.x to 7.x --- requirements/base.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/base.in b/requirements/base.in index 7f2bf5c..b89e753 100644 --- a/requirements/base.in +++ b/requirements/base.in @@ -12,7 +12,7 @@ sentence-transformers html2text # Wagtail -wagtail ~= 6.4.2 +wagtail ~= 7.4 wagtail-modeladmin wagtail-modeltranslation wagtail-orderable From b51eb3e0d8b45adab497f70e3bd08903d1d77ffd Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 7 May 2026 22:17:24 +0200 Subject: [PATCH 38/47] users: Remove custom_fields import removed in Wagtail 6 --- mpicms/users/forms.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mpicms/users/forms.py b/mpicms/users/forms.py index fb3f79d..01c16c9 100644 --- a/mpicms/users/forms.py +++ b/mpicms/users/forms.py @@ -3,7 +3,6 @@ from wagtail.users.forms import ( UserEditForm as WagtailUserEditForm, standard_fields, - custom_fields, User ) @@ -20,7 +19,7 @@ def __init__(self, *args, **kwargs): class Meta: model = User - fields = set([User.USERNAME_FIELD, "is_active"]) | standard_fields | custom_fields + fields = set([User.USERNAME_FIELD, "is_active"]) | standard_fields widgets = { 'groups': forms.CheckboxSelectMultiple } From 1152812d377bf9bcffdf52a52d4789caeb7dab0e Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 7 May 2026 22:18:37 +0200 Subject: [PATCH 39/47] users: Replace get_user_edit_form() with direct UserEditForm import get_user_edit_form was removed from wagtail.users.views.users in Wagtail 6. --- mpicms/users/views.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mpicms/users/views.py b/mpicms/users/views.py index f8ff506..a86fb05 100644 --- a/mpicms/users/views.py +++ b/mpicms/users/views.py @@ -7,7 +7,9 @@ from wagtail.admin.auth import permission_required from wagtail import hooks -from wagtail.users.views.users import User, change_user_perm, get_user_edit_form +from wagtail.users.views.users import User, change_user_perm + +from .forms import UserEditForm @permission_required(change_user_perm) @@ -22,7 +24,7 @@ def edit(request, user_id): if hasattr(result, 'status_code'): return result if request.method == 'POST': - form = get_user_edit_form()(request.POST, request.FILES, instance=user, editing_self=editing_self) + form = UserEditForm(request.POST, request.FILES, instance=user, editing_self=editing_self) if form.is_valid(): user = form.save() @@ -41,7 +43,7 @@ def edit(request, user_id): else: messages.error(request, _("The user could not be saved due to errors.")) else: - form = get_user_edit_form()(instance=user, editing_self=editing_self) + form = UserEditForm(instance=user, editing_self=editing_self) return render(request, 'wagtailusers/users/edit.html', { 'user': user, From 225ccf25455f040de1944215b0a3704a53173728 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 7 May 2026 22:19:22 +0200 Subject: [PATCH 40/47] settings: Add django.contrib.postgres to INSTALLED_APPS Required by Wagtail's database search backend for SearchVectorField. --- config/settings/base.py | 1 + 1 file changed, 1 insertion(+) diff --git a/config/settings/base.py b/config/settings/base.py index 68583b3..bfadb92 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -38,6 +38,7 @@ # APPS # ------------------------------------------------------------------------------ DJANGO_APPS = [ + 'django.contrib.postgres', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', From a511af50df91ad07f68320c47e5134b027319c06 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sun, 17 May 2026 22:14:44 +0200 Subject: [PATCH 41/47] base: Remove accessibility warnings We get a lot of warnings which might confuse our editors, disable them for now. --- mpicms/base/wagtail_hooks.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mpicms/base/wagtail_hooks.py b/mpicms/base/wagtail_hooks.py index d26ad6c..ae7467d 100644 --- a/mpicms/base/wagtail_hooks.py +++ b/mpicms/base/wagtail_hooks.py @@ -11,6 +11,7 @@ from wagtail_modeladmin.options import ModelAdmin, modeladmin_register from wagtail import hooks from wagtail.admin.menu import MenuItem +from wagtail.admin.userbar import AccessibilityItem from .models import FeaturedImage @@ -76,3 +77,7 @@ class FeaturedImageAdmin(ModelAdmin): modeladmin_register(FeaturedImageAdmin) + +@hooks.register('construct_wagtail_userbar') +def remove_accessibility_item(request, items): + items[:] = [item for item in items if not isinstance(item, AccessibilityItem)] From 24f636f92f0646e3442f872a2c67ea304d3d650a Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sun, 17 May 2026 22:58:51 +0200 Subject: [PATCH 42/47] x --- mpicms/base/wagtail_hooks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mpicms/base/wagtail_hooks.py b/mpicms/base/wagtail_hooks.py index ae7467d..885584f 100644 --- a/mpicms/base/wagtail_hooks.py +++ b/mpicms/base/wagtail_hooks.py @@ -79,5 +79,5 @@ class FeaturedImageAdmin(ModelAdmin): modeladmin_register(FeaturedImageAdmin) @hooks.register('construct_wagtail_userbar') -def remove_accessibility_item(request, items): +def remove_accessibility_item(request, items, page=None): items[:] = [item for item in items if not isinstance(item, AccessibilityItem)] From 9578b8f4eef5cfd796aa6be0ce4c8e800bec197b Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Fri, 8 May 2026 07:41:57 +0200 Subject: [PATCH 43/47] base: Remove dead VideoBlock class VideoBlock was superseded by VideoChooserBlock from the wagtailvideos package. It is no longer referenced in live code, only in old migrations. Replace it with a self-contained stub in each migration file so the migrations remain importable without the original implementation. --- mpicms/base/blocks.py | 19 ------------------- .../migrations/0053_auto_20210114_1926.py | 16 ++++++++++------ .../0054_alter_formfield_choices_and_more.py | 16 ++++++++++------ .../migrations/0014_auto_20210114_1926.py | 10 +++++++--- ...event_body_alter_event_body_de_and_more.py | 10 +++++++--- .../migrations/0024_auto_20210114_1926.py | 10 +++++++--- ...y_body_alter_newsentry_body_de_and_more.py | 10 +++++++--- 7 files changed, 48 insertions(+), 43 deletions(-) diff --git a/mpicms/base/blocks.py b/mpicms/base/blocks.py index b4cb188..874b714 100644 --- a/mpicms/base/blocks.py +++ b/mpicms/base/blocks.py @@ -1,11 +1,7 @@ from django.utils.translation import gettext_lazy as _ -from django.utils.functional import cached_property - from wagtail import blocks from wagtail.snippets.blocks import SnippetChooserBlock from wagtail.contrib.table_block.blocks import TableBlock as WagtailTableBlock -import wagtailvideos.models -import wagtailvideos.widgets from wagtailvideos.blocks import VideoChooserBlock class ContactBlock(blocks.StructBlock): @@ -27,21 +23,6 @@ class Meta: # noqa template = 'base/blocks/table_block.html' -class VideoBlock(blocks.ChooserBlock): - @cached_property - def target_model(self): - return wagtailvideos.models.Video - - @cached_property - def widget(self): - return wagtailvideos.widgets.AdminVideoChooser - - def render_basic(self, value, context=None): - return value.video_tag(attrs={"controls": True}) if value else "" - - class Meta: - icon = "fa-play" - class ContentBlock(blocks.StreamBlock): richtext = blocks.RichTextBlock(label=_('Editor')) markdown = MarkdownBlock(label=_('Raw Markdown')) diff --git a/mpicms/base/migrations/0053_auto_20210114_1926.py b/mpicms/base/migrations/0053_auto_20210114_1926.py index 1430907..6a97104 100644 --- a/mpicms/base/migrations/0053_auto_20210114_1926.py +++ b/mpicms/base/migrations/0053_auto_20210114_1926.py @@ -7,6 +7,10 @@ import wagtail.snippets.blocks +class VideoBlock(wagtail.blocks.Block): + pass + + class Migration(migrations.Migration): dependencies = [ @@ -17,31 +21,31 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='homepage', name='body', - field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', VideoBlock(label='Video'))], blank=True, verbose_name='content'), ), migrations.AlterField( model_name='homepage', name='body_de', - field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='homepage', name='body_en', - field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='wikipage', name='body', - field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', VideoBlock(label='Video'))], blank=True, verbose_name='content'), ), migrations.AlterField( model_name='wikipage', name='body_de', - field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='wikipage', name='body_en', - field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), ), ] diff --git a/mpicms/base/migrations/0054_alter_formfield_choices_and_more.py b/mpicms/base/migrations/0054_alter_formfield_choices_and_more.py index 2a55049..a0b615c 100644 --- a/mpicms/base/migrations/0054_alter_formfield_choices_and_more.py +++ b/mpicms/base/migrations/0054_alter_formfield_choices_and_more.py @@ -8,6 +8,10 @@ import wagtail.snippets.blocks +class VideoBlock(wagtail.blocks.Block): + pass + + class Migration(migrations.Migration): dependencies = [ @@ -53,17 +57,17 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='homepage', name='body', - field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, use_json_field=False, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', VideoBlock(label='Video'))], blank=True, use_json_field=False, verbose_name='content'), ), migrations.AlterField( model_name='homepage', name='body_de', - field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', VideoBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), ), migrations.AlterField( model_name='homepage', name='body_en', - field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', VideoBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), ), migrations.AlterField( model_name='homepage', @@ -118,17 +122,17 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='wikipage', name='body', - field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, use_json_field=False, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', VideoBlock(label='Video'))], blank=True, use_json_field=False, verbose_name='content'), ), migrations.AlterField( model_name='wikipage', name='body_de', - field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', VideoBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), ), migrations.AlterField( model_name='wikipage', name='body_en', - field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', VideoBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), ), migrations.AlterField( model_name='wikipage', diff --git a/mpicms/events/migrations/0014_auto_20210114_1926.py b/mpicms/events/migrations/0014_auto_20210114_1926.py index acdad19..c67a491 100644 --- a/mpicms/events/migrations/0014_auto_20210114_1926.py +++ b/mpicms/events/migrations/0014_auto_20210114_1926.py @@ -7,6 +7,10 @@ import wagtail.snippets.blocks +class VideoBlock(wagtail.blocks.Block): + pass + + class Migration(migrations.Migration): dependencies = [ @@ -17,16 +21,16 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='event', name='body', - field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', VideoBlock(label='Video'))], blank=True, verbose_name='content'), ), migrations.AlterField( model_name='event', name='body_de', - field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='event', name='body_en', - field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), ), ] diff --git a/mpicms/events/migrations/0016_alter_event_body_alter_event_body_de_and_more.py b/mpicms/events/migrations/0016_alter_event_body_alter_event_body_de_and_more.py index 4733dfd..2cede36 100644 --- a/mpicms/events/migrations/0016_alter_event_body_alter_event_body_de_and_more.py +++ b/mpicms/events/migrations/0016_alter_event_body_alter_event_body_de_and_more.py @@ -7,6 +7,10 @@ import wagtail.snippets.blocks +class VideoBlock(wagtail.blocks.Block): + pass + + class Migration(migrations.Migration): dependencies = [ @@ -17,16 +21,16 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='event', name='body', - field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, use_json_field=False, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', VideoBlock(label='Video'))], blank=True, use_json_field=False, verbose_name='content'), ), migrations.AlterField( model_name='event', name='body_de', - field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', VideoBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), ), migrations.AlterField( model_name='event', name='body_en', - field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', VideoBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), ), ] diff --git a/mpicms/news/migrations/0024_auto_20210114_1926.py b/mpicms/news/migrations/0024_auto_20210114_1926.py index da2b822..60dd94e 100644 --- a/mpicms/news/migrations/0024_auto_20210114_1926.py +++ b/mpicms/news/migrations/0024_auto_20210114_1926.py @@ -7,6 +7,10 @@ import wagtail.snippets.blocks +class VideoBlock(wagtail.blocks.Block): + pass + + class Migration(migrations.Migration): dependencies = [ @@ -17,16 +21,16 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='newsentry', name='body', - field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', VideoBlock(label='Video'))], blank=True, verbose_name='content'), ), migrations.AlterField( model_name='newsentry', name='body_de', - field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), ), migrations.AlterField( model_name='newsentry', name='body_en', - field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', VideoBlock(label='Video'))], blank=True, null=True, verbose_name='content'), ), ] diff --git a/mpicms/news/migrations/0025_alter_newsentry_body_alter_newsentry_body_de_and_more.py b/mpicms/news/migrations/0025_alter_newsentry_body_alter_newsentry_body_de_and_more.py index 331bf56..df7f505 100644 --- a/mpicms/news/migrations/0025_alter_newsentry_body_alter_newsentry_body_de_and_more.py +++ b/mpicms/news/migrations/0025_alter_newsentry_body_alter_newsentry_body_de_and_more.py @@ -7,6 +7,10 @@ import wagtail.snippets.blocks +class VideoBlock(wagtail.blocks.Block): + pass + + class Migration(migrations.Migration): dependencies = [ @@ -17,17 +21,17 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='newsentry', name='body', - field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, use_json_field=False, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', VideoBlock(label='Video'))], blank=True, use_json_field=False, verbose_name='content'), ), migrations.AlterField( model_name='newsentry', name='body_de', - field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', VideoBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), ), migrations.AlterField( model_name='newsentry', name='body_en', - field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', mpicms.base.blocks.VideoBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), + field=wagtail.fields.StreamField([('richtext', wagtail.blocks.RichTextBlock(label='Editor')), ('markdown', mpicms.base.blocks.MarkdownBlock(label='Raw Markdown')), ('table', mpicms.base.blocks.TableBlock(label='Table')), ('contact', wagtail.blocks.StructBlock([('contact', wagtail.snippets.blocks.SnippetChooserBlock('personal.Contact', label='Contact')), ('information', wagtail.blocks.TextBlock(label='Information', required=False))], label='Contact')), ('video', VideoBlock(label='Video'))], blank=True, null=True, use_json_field=False, verbose_name='content'), ), migrations.AlterField( model_name='newsentry', From 5c0331b922dc684c29a8f20f92f2f1cf970fb6c4 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sat, 25 Apr 2026 21:59:15 +0200 Subject: [PATCH 44/47] requirements: Rebuild Created by `(cd requirements && rm *.txt && make)`. --- requirements/base.txt | 377 +++++++++++-------- requirements/dev.txt | 729 ++++++++++++++++-------------------- requirements/docs.txt | 92 +++-- requirements/production.txt | 572 ++++++++++++---------------- requirements/test.txt | 607 +++++++++++++----------------- 5 files changed, 1101 insertions(+), 1276 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index 047351a..8aab5b9 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,280 +1,329 @@ # -# This file is autogenerated by pip-compile -# To update, run: +# This file is autogenerated by pip-compile with Python 3.12 +# by the following command: # # pip-compile --output-file=base.txt base.in # -annotated-types==0.5.0 +annotated-doc==0.0.4 + # via typer +annotated-types==0.7.0 # via pydantic -anyascii==0.1.7 +anyascii==0.3.3 # via wagtail -anyio==3.7.1 +anyio==4.13.0 # via - # httpcore + # httpx # openai -arrow==0.14.7 +arrow==1.4.0 # via ics -asgiref==3.3.1 +asgiref==3.11.1 # via django -beautifulsoup4==4.8.2 +attrs==26.1.0 + # via ics +bcp47==0.0.4 + # via wagtailvideos +beautifulsoup4==4.14.3 # via wagtail -cached-property==1.5.2 - # via openai -certifi==2020.12.5 +certifi==2026.4.22 # via # httpcore # httpx # requests -chardet==4.0.0 +charset-normalizer==3.4.7 # via requests -click==8.1.8 - # via nltk +click==8.3.3 + # via typer +cuda-bindings==13.2.0 + # via torch +cuda-pathfinder==1.5.4 + # via cuda-bindings +cuda-toolkit[cublas,cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.2 + # via torch +defusedxml==0.7.1 + # via willow distro==1.9.0 # via openai -django-auth-ldap==2.3.0 - # via -r base.in -django-enumchoicefield==2.0.0 - # via wagtailvideos -django-filter==2.4.0 - # via wagtail -django-modelcluster==5.1 - # via wagtail -django-modeltranslation==0.16.2 - # via wagtail-modeltranslation -django-taggit==1.3.0 - # via wagtail -django-treebeard==4.5.1 - # via wagtail -django==3.1.7 +django==6.0.5 # via # -r base.in # django-auth-ldap - # django-enumchoicefield # django-filter + # django-modelcluster # django-modeltranslation + # django-permissionedforms + # django-stubs-ext # django-taggit + # django-tasks # django-treebeard # djangorestframework + # laces + # modelsearch # wagtail + # wagtail-modeltranslation # wagtailvideos -djangorestframework==3.12.2 +django-auth-ldap==5.3.0 + # via -r base.in +django-filter==25.2 + # via wagtail +django-modelcluster==6.5 + # via wagtail +django-modeltranslation==0.20.3 + # via wagtail-modeltranslation +django-permissionedforms==0.1 + # via wagtail +django-stubs-ext==6.0.3 + # via django-tasks +django-taggit==6.1.0 + # via wagtail +django-tasks==0.12.0 + # via + # modelsearch + # wagtail +django-treebeard==5.0.5 + # via wagtail +djangorestframework==3.17.1 # via wagtail -draftjs-exporter==2.1.7 +draftjs-exporter==5.2.0 # via wagtail -et-xmlfile==1.0.1 +et-xmlfile==2.0.0 # via openpyxl -exceptiongroup==1.3.1 - # via anyio -filelock==3.12.2 +filelock==3.29.0 # via # huggingface-hub - # transformers -fsspec==2023.1.0 - # via huggingface-hub -h11==0.14.0 + # torch +filetype==1.2.0 + # via willow +fsspec==2026.4.0 + # via + # huggingface-hub + # torch +h11==0.16.0 # via httpcore -html2text==2020.1.16 +hf-xet==1.5.0 + # via huggingface-hub +html2text==2025.4.15 # via -r base.in -html5lib==1.1 - # via wagtail -httpcore==0.17.3 +httpcore==1.0.9 # via httpx -httpx==0.24.1 - # via openai -huggingface-hub==0.16.4 +httpx==0.28.1 + # via + # huggingface-hub + # openai +huggingface-hub==1.14.0 # via # sentence-transformers + # tokenizers # transformers -ics==0.7 +ics==0.7.3 # via -r base.in -idna==2.10 +idna==3.13 # via # anyio # httpx # requests -importlib-metadata==3.7.3 - # via - # click - # huggingface-hub - # markdown - # pydantic - # tqdm - # transformers -joblib==1.3.2 - # via - # nltk - # scikit-learn -l18n==2020.6.1 +jinja2==3.1.6 + # via torch +jiter==0.14.0 + # via openai +joblib==1.5.3 + # via scikit-learn +laces==0.1.2 # via wagtail -markdown==3.3.4 +markdown==3.10.2 # via -r base.in -nltk==3.8.1 - # via sentence-transformers -numpy==1.21.6 +markdown-it-py==4.2.0 + # via rich +markupsafe==3.0.3 + # via jinja2 +mdurl==0.1.2 + # via markdown-it-py +modelsearch==1.3.1 + # via wagtail +mpmath==1.3.0 + # via sympy +networkx==3.6.1 + # via torch +numpy==2.4.4 # via # pgvector # scikit-learn # scipy # sentence-transformers - # torchvision # transformers -nvidia-cublas-cu11==11.10.3.66 +nvidia-cublas==13.1.0.3 # via - # nvidia-cudnn-cu11 - # torch -nvidia-cuda-nvrtc-cu11==11.7.99 + # cuda-toolkit + # nvidia-cudnn-cu13 + # nvidia-cusolver +nvidia-cuda-cupti==13.0.85 + # via cuda-toolkit +nvidia-cuda-nvrtc==13.0.88 + # via cuda-toolkit +nvidia-cuda-runtime==13.0.96 + # via cuda-toolkit +nvidia-cudnn-cu13==9.19.0.56 # via torch -nvidia-cuda-runtime-cu11==11.7.99 +nvidia-cufft==12.0.0.61 + # via cuda-toolkit +nvidia-cufile==1.15.1.6 + # via cuda-toolkit +nvidia-curand==10.4.0.35 + # via cuda-toolkit +nvidia-cusolver==12.0.4.66 + # via cuda-toolkit +nvidia-cusparse==12.6.3.3 + # via + # cuda-toolkit + # nvidia-cusolver +nvidia-cusparselt-cu13==0.8.0 + # via torch +nvidia-nccl-cu13==2.28.9 # via torch -nvidia-cudnn-cu11==8.5.0.96 +nvidia-nvjitlink==13.0.88 + # via + # cuda-toolkit + # nvidia-cufft + # nvidia-cusolver + # nvidia-cusparse +nvidia-nvshmem-cu13==3.4.5 # via torch -openai==1.39.0 +nvidia-nvtx==13.0.85 + # via cuda-toolkit +openai==2.36.0 # via -r base.in -openpyxl==3.0.7 - # via tablib -packaging==24.0 +openpyxl==3.1.5 + # via wagtail +packaging==26.2 # via # huggingface-hub # transformers -pgvector==0.1.8 +pgvector==0.4.2 # via -r base.in -pillow==8.1.2 +pillow==12.2.0 # via - # torchvision + # pillow-heif # wagtail -psycopg2-binary==2.8.6 +pillow-heif==1.3.0 + # via willow +psycopg2-binary==2.9.12 # via -r base.in -pyasn1-modules==0.2.8 - # via python-ldap -pyasn1==0.4.8 +pyasn1==0.6.3 # via # pyasn1-modules # python-ldap -pydantic-core==2.14.6 - # via pydantic -pydantic==2.5.3 +pyasn1-modules==0.4.2 + # via python-ldap +pydantic==2.13.4 # via openai -pygments==2.8.1 - # via -r base.in -python-dateutil==2.8.1 +pydantic-core==2.46.4 + # via pydantic +pygments==2.20.0 + # via + # -r base.in + # rich +python-dateutil==2.9.0.post0 # via # arrow # ics -python-ldap==3.3.1 +python-ldap==3.4.5 # via django-auth-ldap -pytz==2021.1 - # via - # django - # django-modelcluster - # l18n -pyyaml==6.0.1 +pyyaml==6.0.3 # via # huggingface-hub # transformers -regex==2024.4.16 - # via - # nltk - # transformers -requests==2.25.1 - # via - # huggingface-hub - # torchvision - # transformers - # wagtail -safetensors==0.5.3 +regex==2026.4.4 # via transformers -scikit-learn==1.0.2 +requests==2.33.1 + # via wagtail +rich==15.0.0 + # via typer +safetensors==0.7.0 + # via transformers +scikit-learn==1.8.0 # via sentence-transformers -scipy==1.7.3 +scipy==1.17.1 # via # scikit-learn # sentence-transformers -sentence-transformers==2.2.2 +sentence-transformers==5.4.1 # via -r base.in -sentencepiece==0.2.0 - # via sentence-transformers -six==1.15.0 +shellingham==1.5.4 + # via typer +six==1.17.0 # via - # django-modeltranslation - # html5lib # ics - # l18n # python-dateutil sniffio==1.3.1 - # via - # anyio - # httpcore - # httpx - # openai -soupsieve==2.2.1 + # via openai +soupsieve==2.8.3 # via beautifulsoup4 -sqlparse==0.4.1 +sqlparse==0.5.5 # via django -tablib[xls,xlsx]==3.0.0 - # via wagtail -tatsu==4.4.0 +sympy==1.14.0 + # via torch +tatsu==5.15.1 # via ics -threadpoolctl==3.1.0 +telepath==0.3.1 + # via wagtail +threadpoolctl==3.6.0 # via scikit-learn -tokenizers==0.13.3 +tokenizers==0.22.2 # via transformers -torch==1.13.1 - # via - # sentence-transformers - # torchvision -torchvision==0.14.1 +torch==2.11.0 # via sentence-transformers tqdm==4.67.3 # via # huggingface-hub - # nltk # openai # sentence-transformers # transformers -transformers==4.30.2 +transformers==5.8.0 # via sentence-transformers -typing-extensions==4.7.1 +triton==3.6.0 + # via torch +typer==0.25.1 + # via + # huggingface-hub + # transformers +typing-extensions==4.15.0 # via - # annotated-types # anyio - # exceptiongroup + # beautifulsoup4 + # django-modeltranslation + # django-stubs-ext + # django-tasks # huggingface-hub - # importlib-metadata # openai # pydantic # pydantic-core + # sentence-transformers # torch - # torchvision -urllib3==1.26.4 + # typing-inspection +typing-inspection==0.4.2 + # via pydantic +tzdata==2026.2 + # via arrow +urllib3==2.7.0 # via requests -wagtail-modeltranslation==0.10.17 - # via -r base.in -wagtail-orderable==1.0.3 - # via -r base.in -wagtail==2.12.3 +wagtail==7.4 # via # -r base.in + # wagtail-modeladmin # wagtail-modeltranslation # wagtail-orderable # wagtailvideos -git+https://github.com/neon-jungle/wagtailvideos@3cd93351b67c7d72a0b6b4ac74a62410d5e6bccb +wagtail-modeladmin==2.3.0 # via -r base.in -webencodings==0.5.1 - # via html5lib -wheel==0.42.0 +wagtail-modeltranslation==0.16.0 + # via -r base.in +wagtail-orderable==1.2.0 + # via -r base.in +wagtailvideos==7.2.0 + # via -r base.in +willow[heif]==1.12.0 # via - # nvidia-cublas-cu11 - # nvidia-cuda-runtime-cu11 -willow==1.4 - # via wagtail -xlrd==2.0.1 - # via tablib -xlsxwriter==1.3.7 - # via wagtail -xlwt==1.3.0 - # via tablib -zipp==3.4.1 - # via importlib-metadata + # wagtail + # willow # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/requirements/dev.txt b/requirements/dev.txt index 36c1148..fcac960 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -1,531 +1,444 @@ # -# This file is autogenerated by pip-compile -# To update, run: +# This file is autogenerated by pip-compile with Python 3.12 +# by the following command: # # pip-compile --output-file=dev.txt dev.in # -annotated-types==0.5.0 +annotated-doc==0.0.4 + # via typer +annotated-types==0.7.0 + # via pydantic +anyascii==0.3.3 + # via wagtail +anyio==4.13.0 # via - # -r ./test.txt - # pydantic -anyascii==0.1.7 - # via - # -r ./test.txt - # wagtail -anyio==3.7.1 - # via - # -r ./test.txt - # httpcore + # httpx # openai -arrow==0.14.7 - # via - # -r ./test.txt - # ics -asgiref==3.3.1 - # via - # -r ./test.txt - # django -astroid==2.5.1 +arrow==1.4.0 + # via ics +asgiref==3.11.1 + # via django +astroid==4.0.4 # via pylint -attrs==20.3.0 - # via - # -r ./test.txt - # pytest -backcall==0.2.0 - # via ipython -beautifulsoup4==4.8.2 - # via - # -r ./test.txt - # wagtail -cached-property==1.5.2 - # via - # -r ./test.txt - # openai -certifi==2020.12.5 +asttokens==3.0.1 + # via stack-data +attrs==26.1.0 + # via ics +bcp47==0.0.4 + # via wagtailvideos +beautifulsoup4==4.14.3 + # via wagtail +build==1.5.0 + # via pip-tools +certifi==2026.4.22 # via - # -r ./test.txt # httpcore # httpx # requests -chardet==4.0.0 +charset-normalizer==3.4.7 + # via requests +click==8.3.3 # via - # -r ./test.txt - # requests -click==8.1.8 - # via - # -r ./test.txt - # nltk # pip-tools -coverage==5.5 + # typer +coverage==7.13.5 # via - # -r ./test.txt + # -r test.in # django-coverage-plugin -decorator==4.4.2 - # via ipython -distro==1.9.0 - # via - # -r ./test.txt - # openai -django-auth-ldap==2.3.0 - # via -r ./test.txt -django-coverage-plugin==1.8.0 - # via -r ./test.txt -django-debug-toolbar==3.2 - # via -r dev.in -django-enumchoicefield==2.0.0 - # via - # -r ./test.txt - # wagtailvideos -django-filter==2.4.0 +cuda-bindings==13.2.0 + # via torch +cuda-pathfinder==1.5.4 + # via cuda-bindings +cuda-toolkit[cublas,cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.2 + # via torch +decorator==5.2.1 # via - # -r ./test.txt - # wagtail -django-modelcluster==5.1 - # via - # -r ./test.txt - # wagtail -django-modeltranslation==0.16.2 - # via - # -r ./test.txt - # wagtail-modeltranslation -django-taggit==1.3.0 - # via - # -r ./test.txt - # wagtail -django-treebeard==4.5.1 - # via - # -r ./test.txt - # wagtail -django==3.1.7 + # ipdb + # ipython +defusedxml==0.7.1 + # via willow +dill==0.4.1 + # via pylint +distro==1.9.0 + # via openai +django==6.0.5 # via - # -r ./test.txt + # -r base.in # django-auth-ldap + # django-coverage-plugin # django-debug-toolbar - # django-enumchoicefield # django-filter + # django-modelcluster # django-modeltranslation + # django-permissionedforms + # django-stubs-ext # django-taggit + # django-tasks # django-treebeard # djangorestframework + # laces + # modelsearch # wagtail + # wagtail-modeltranslation # wagtailvideos -djangorestframework==3.12.2 - # via - # -r ./test.txt - # wagtail -draftjs-exporter==2.1.7 - # via - # -r ./test.txt +django-auth-ldap==5.3.0 + # via -r base.in +django-coverage-plugin==3.2.2 + # via -r test.in +django-debug-toolbar==6.3.0 + # via -r dev.in +django-filter==25.2 + # via wagtail +django-modelcluster==6.5 + # via wagtail +django-modeltranslation==0.20.3 + # via wagtail-modeltranslation +django-permissionedforms==0.1 + # via wagtail +django-stubs-ext==6.0.3 + # via django-tasks +django-taggit==6.1.0 + # via wagtail +django-tasks==0.12.0 + # via + # modelsearch # wagtail -et-xmlfile==1.0.1 - # via - # -r ./test.txt - # openpyxl -exceptiongroup==1.3.1 - # via - # -r ./test.txt - # anyio -factory-boy==3.2.0 +django-treebeard==5.0.5 + # via wagtail +djangorestframework==3.17.1 + # via wagtail +draftjs-exporter==5.2.0 + # via wagtail +et-xmlfile==2.0.0 + # via openpyxl +executing==2.2.1 + # via stack-data +factory-boy==3.3.3 # via -r dev.in -faker==6.6.2 +faker==40.15.0 # via factory-boy -filelock==3.12.2 +filelock==3.29.0 # via - # -r ./test.txt # huggingface-hub - # transformers -flake8==3.9.0 - # via -r ./test.txt -fsspec==2023.1.0 + # torch +filetype==1.2.0 + # via willow +flake8==7.3.0 + # via -r test.in +fsspec==2026.4.0 # via - # -r ./test.txt # huggingface-hub -h11==0.14.0 - # via - # -r ./test.txt - # httpcore -html2text==2020.1.16 - # via -r ./test.txt -html5lib==1.1 - # via - # -r ./test.txt - # wagtail -httpcore==0.17.3 - # via - # -r ./test.txt - # httpx -httpx==0.24.1 + # torch +h11==0.16.0 + # via httpcore +hf-xet==1.5.0 + # via huggingface-hub +html2text==2025.4.15 + # via -r base.in +httpcore==1.0.9 + # via httpx +httpx==0.28.1 # via - # -r ./test.txt + # huggingface-hub # openai -huggingface-hub==0.16.4 +huggingface-hub==1.14.0 # via - # -r ./test.txt # sentence-transformers + # tokenizers # transformers -ics==0.7 - # via -r ./test.txt -idna==2.10 +ics==0.7.3 + # via -r base.in +idna==3.13 # via - # -r ./test.txt # anyio # httpx # requests -importlib-metadata==3.7.3 - # via - # -r ./test.txt - # click - # flake8 - # huggingface-hub - # markdown - # pep517 - # pluggy - # pydantic - # pytest - # tqdm - # transformers -iniconfig==1.1.1 - # via - # -r ./test.txt - # pytest -ipdb==0.13.7 +iniconfig==2.3.0 + # via pytest +ipdb==0.13.13 # via -r dev.in -ipython-genutils==0.2.0 - # via traitlets -ipython==7.21.0 +ipython==9.13.0 # via ipdb -isort==5.7.0 +ipython-pygments-lexers==1.1.1 + # via ipython +isort==8.0.1 # via pylint -jedi==0.18.0 +jedi==0.20.0 # via ipython -joblib==1.3.2 - # via - # -r ./test.txt - # nltk - # scikit-learn -l18n==2020.6.1 - # via - # -r ./test.txt - # wagtail -lazy-object-proxy==1.5.2 - # via astroid -markdown==3.3.4 - # via -r ./test.txt -mccabe==0.6.1 +jinja2==3.1.6 + # via torch +jiter==0.14.0 + # via openai +joblib==1.5.3 + # via scikit-learn +laces==0.1.2 + # via wagtail +markdown==3.10.2 + # via -r base.in +markdown-it-py==4.2.0 + # via rich +markupsafe==3.0.3 + # via jinja2 +matplotlib-inline==0.2.1 + # via ipython +mccabe==0.7.0 # via - # -r ./test.txt # flake8 # pylama # pylint -nltk==3.8.1 +mdurl==0.1.2 + # via markdown-it-py +modelsearch==1.3.1 + # via wagtail +mpmath==1.3.0 + # via sympy +networkx==3.6.1 + # via torch +numpy==2.4.4 # via - # -r ./test.txt - # sentence-transformers -numpy==1.21.6 - # via - # -r ./test.txt # pgvector # scikit-learn # scipy # sentence-transformers - # torchvision # transformers -nvidia-cublas-cu11==11.10.3.66 - # via - # -r ./test.txt - # nvidia-cudnn-cu11 - # torch -nvidia-cuda-nvrtc-cu11==11.7.99 - # via - # -r ./test.txt - # torch -nvidia-cuda-runtime-cu11==11.7.99 - # via - # -r ./test.txt - # torch -nvidia-cudnn-cu11==8.5.0.96 - # via - # -r ./test.txt - # torch -openai==1.39.0 - # via -r ./test.txt -openpyxl==3.0.7 - # via - # -r ./test.txt - # tablib -packaging==24.0 - # via - # -r ./test.txt +nvidia-cublas==13.1.0.3 + # via + # cuda-toolkit + # nvidia-cudnn-cu13 + # nvidia-cusolver +nvidia-cuda-cupti==13.0.85 + # via cuda-toolkit +nvidia-cuda-nvrtc==13.0.88 + # via cuda-toolkit +nvidia-cuda-runtime==13.0.96 + # via cuda-toolkit +nvidia-cudnn-cu13==9.19.0.56 + # via torch +nvidia-cufft==12.0.0.61 + # via cuda-toolkit +nvidia-cufile==1.15.1.6 + # via cuda-toolkit +nvidia-curand==10.4.0.35 + # via cuda-toolkit +nvidia-cusolver==12.0.4.66 + # via cuda-toolkit +nvidia-cusparse==12.6.3.3 + # via + # cuda-toolkit + # nvidia-cusolver +nvidia-cusparselt-cu13==0.8.0 + # via torch +nvidia-nccl-cu13==2.28.9 + # via torch +nvidia-nvjitlink==13.0.88 + # via + # cuda-toolkit + # nvidia-cufft + # nvidia-cusolver + # nvidia-cusparse +nvidia-nvshmem-cu13==3.4.5 + # via torch +nvidia-nvtx==13.0.85 + # via cuda-toolkit +openai==2.36.0 + # via -r base.in +openpyxl==3.1.5 + # via wagtail +packaging==26.2 + # via + # build # huggingface-hub # pytest # transformers -parso==0.8.1 + # wheel +parso==0.8.7 # via jedi -pep517==0.10.0 - # via pip-tools -pexpect==4.8.0 +pexpect==4.9.0 # via ipython -pgvector==0.1.8 - # via -r ./test.txt -pickleshare==0.7.5 - # via ipython -pillow==8.1.2 +pgvector==0.4.2 + # via -r base.in +pillow==12.2.0 # via - # -r ./test.txt - # torchvision + # pillow-heif # wagtail -pip-tools==6.0.1 +pillow-heif==1.3.0 + # via willow +pip-tools==7.5.3 # via -r dev.in -pluggy==0.13.1 - # via - # -r ./test.txt - # pytest -prompt-toolkit==3.0.17 +platformdirs==4.9.6 + # via pylint +pluggy==1.6.0 + # via pytest +prompt-toolkit==3.0.52 + # via ipython +psutil==7.2.2 # via ipython -psycopg2-binary==2.8.6 - # via -r ./test.txt +psycopg2-binary==2.9.12 + # via -r base.in ptyprocess==0.7.0 # via pexpect -py==1.10.0 +pure-eval==0.2.3 + # via stack-data +pyasn1==0.6.3 # via - # -r ./test.txt - # pytest -pyasn1-modules==0.2.8 - # via - # -r ./test.txt - # python-ldap -pyasn1==0.4.8 - # via - # -r ./test.txt # pyasn1-modules # python-ldap -pycodestyle==2.7.0 +pyasn1-modules==0.4.2 + # via python-ldap +pycodestyle==2.14.0 # via - # -r ./test.txt # flake8 # pylama -pydantic-core==2.14.6 - # via - # -r ./test.txt - # pydantic -pydantic==2.5.3 - # via - # -r ./test.txt - # openai -pydocstyle==6.0.0 +pydantic==2.13.4 + # via openai +pydantic-core==2.46.4 + # via pydantic +pydocstyle==6.3.0 # via pylama -pyflakes==2.3.0 +pyflakes==3.4.0 # via - # -r ./test.txt # flake8 # pylama -pygments==2.8.1 +pygments==2.20.0 # via - # -r ./test.txt + # -r base.in # ipython -pylama==7.7.1 + # ipython-pygments-lexers + # pytest + # rich +pylama==8.4.1 # via -r dev.in -pylint==2.7.2 +pylint==4.0.5 # via -r dev.in -pytest-django==4.1.0 - # via -r ./test.txt -pytest==6.2.2 +pyproject-hooks==1.2.0 + # via + # build + # pip-tools +pytest==9.0.3 # via - # -r ./test.txt + # -r test.in # pytest-django -python-dateutil==2.8.1 +pytest-django==4.12.0 + # via -r test.in +python-dateutil==2.9.0.post0 # via - # -r ./test.txt # arrow - # faker # ics -python-ldap==3.3.1 - # via - # -r ./test.txt - # django-auth-ldap -pytz==2021.1 +python-ldap==3.4.5 + # via django-auth-ldap +pyyaml==6.0.3 # via - # -r ./test.txt - # django - # django-modelcluster - # l18n -pyyaml==6.0.1 - # via - # -r ./test.txt # huggingface-hub # transformers -regex==2024.4.16 - # via - # -r ./test.txt - # nltk - # transformers -requests==2.25.1 - # via - # -r ./test.txt - # huggingface-hub - # torchvision - # transformers - # wagtail -safetensors==0.5.3 - # via - # -r ./test.txt - # transformers -scikit-learn==1.0.2 +regex==2026.4.4 + # via transformers +requests==2.33.1 + # via wagtail +rich==15.0.0 + # via typer +safetensors==0.7.0 + # via transformers +scikit-learn==1.8.0 + # via sentence-transformers +scipy==1.17.1 # via - # -r ./test.txt - # sentence-transformers -scipy==1.7.3 - # via - # -r ./test.txt # scikit-learn # sentence-transformers -sentence-transformers==2.2.2 - # via -r ./test.txt -sentencepiece==0.2.0 +sentence-transformers==5.4.1 + # via -r base.in +shellingham==1.5.4 + # via typer +six==1.17.0 # via - # -r ./test.txt - # sentence-transformers -six==1.15.0 - # via - # -r ./test.txt - # django-coverage-plugin - # django-modeltranslation - # html5lib # ics - # l18n # python-dateutil sniffio==1.3.1 - # via - # -r ./test.txt - # anyio - # httpcore - # httpx - # openai -snowballstemmer==2.1.0 + # via openai +snowballstemmer==3.0.1 # via pydocstyle -soupsieve==2.2.1 - # via - # -r ./test.txt - # beautifulsoup4 -sqlparse==0.4.1 +soupsieve==2.8.3 + # via beautifulsoup4 +sqlparse==0.5.5 # via - # -r ./test.txt # django # django-debug-toolbar -tablib[xls,xlsx]==3.0.0 - # via - # -r ./test.txt - # wagtail -tatsu==4.4.0 - # via - # -r ./test.txt - # ics -text-unidecode==1.3 - # via faker -threadpoolctl==3.1.0 - # via - # -r ./test.txt - # scikit-learn -tokenizers==0.13.3 - # via - # -r ./test.txt - # transformers -toml==0.10.2 - # via - # -r ./test.txt - # ipdb - # pep517 - # pylint - # pytest -torch==1.13.1 - # via - # -r ./test.txt - # sentence-transformers - # torchvision -torchvision==0.14.1 - # via - # -r ./test.txt - # sentence-transformers +stack-data==0.6.3 + # via ipython +sympy==1.14.0 + # via torch +tatsu==5.15.1 + # via ics +telepath==0.3.1 + # via wagtail +threadpoolctl==3.6.0 + # via scikit-learn +tokenizers==0.22.2 + # via transformers +tomlkit==0.14.0 + # via pylint +torch==2.11.0 + # via sentence-transformers tqdm==4.67.3 # via - # -r ./test.txt # huggingface-hub - # nltk # openai # sentence-transformers # transformers -traitlets==5.0.5 - # via ipython -transformers==4.30.2 +traitlets==5.15.0 # via - # -r ./test.txt - # sentence-transformers -typed-ast==1.4.3 - # via astroid -typing-extensions==4.7.1 + # ipython + # matplotlib-inline +transformers==5.8.0 + # via sentence-transformers +triton==3.6.0 + # via torch +typer==0.25.1 + # via + # huggingface-hub + # transformers +typing-extensions==4.15.0 # via - # -r ./test.txt - # annotated-types # anyio - # exceptiongroup - # h11 + # beautifulsoup4 + # django-modeltranslation + # django-stubs-ext + # django-tasks # huggingface-hub - # importlib-metadata # openai # pydantic # pydantic-core + # sentence-transformers # torch - # torchvision -urllib3==1.26.4 - # via - # -r ./test.txt - # requests -wagtail-modeltranslation==0.10.17 - # via -r ./test.txt -wagtail-orderable==1.0.3 - # via -r ./test.txt -wagtail==2.12.3 - # via - # -r ./test.txt + # typing-inspection +typing-inspection==0.4.2 + # via pydantic +tzdata==2026.2 + # via arrow +urllib3==2.7.0 + # via requests +wagtail==7.4 + # via + # -r base.in + # wagtail-modeladmin # wagtail-modeltranslation # wagtail-orderable # wagtailvideos -git+https://github.com/neon-jungle/wagtailvideos@3cd93351b67c7d72a0b6b4ac74a62410d5e6bccb - # via -r ./test.txt -wcwidth==0.2.5 +wagtail-modeladmin==2.3.0 + # via -r base.in +wagtail-modeltranslation==0.16.0 + # via -r base.in +wagtail-orderable==1.2.0 + # via -r base.in +wagtailvideos==7.2.0 + # via -r base.in +wcwidth==0.7.0 # via prompt-toolkit -webencodings==0.5.1 - # via - # -r ./test.txt - # html5lib -wheel==0.42.0 - # via - # -r ./test.txt - # nvidia-cublas-cu11 - # nvidia-cuda-runtime-cu11 -willow==1.4 - # via - # -r ./test.txt - # wagtail -wrapt==1.12.1 - # via astroid -xlrd==2.0.1 - # via - # -r ./test.txt - # tablib -xlsxwriter==1.3.7 +wheel==0.47.0 + # via pip-tools +willow[heif]==1.12.0 # via - # -r ./test.txt # wagtail -xlwt==1.3.0 - # via - # -r ./test.txt - # tablib -zipp==3.4.1 - # via - # -r ./test.txt - # importlib-metadata - # pep517 + # willow # The following packages are considered to be unsafe in a requirements file: # pip diff --git a/requirements/docs.txt b/requirements/docs.txt index 57a8d46..0005d03 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -1,35 +1,65 @@ # -# This file is autogenerated by pip-compile -# To update, run: +# This file is autogenerated by pip-compile with Python 3.12 +# by the following command: # # pip-compile --output-file=docs.txt docs.in # -alabaster==0.7.12 # via sphinx -babel==2.9.0 # via sphinx -certifi==2020.12.5 # via requests -chardet==4.0.0 # via requests -commonmark==0.9.1 # via recommonmark -docutils==0.16 # via recommonmark, sphinx -idna==2.10 # via requests -imagesize==1.2.0 # via sphinx -jinja2==2.11.3 # via sphinx -markupsafe==1.1.1 # via jinja2 -packaging==20.9 # via sphinx -pygments==2.8.1 # via sphinx -pyparsing==2.4.7 # via packaging -pytz==2021.1 # via babel -recommonmark==0.7.1 # via -r docs.in -requests==2.25.1 # via sphinx -snowballstemmer==2.1.0 # via sphinx -sphinx-rtd-theme==0.5.1 # via -r docs.in -sphinx==3.5.3 # via -r docs.in, recommonmark, sphinx-rtd-theme -sphinxcontrib-applehelp==1.0.2 # via sphinx -sphinxcontrib-devhelp==1.0.2 # via sphinx -sphinxcontrib-htmlhelp==1.0.3 # via sphinx -sphinxcontrib-jsmath==1.0.1 # via sphinx -sphinxcontrib-qthelp==1.0.3 # via sphinx -sphinxcontrib-serializinghtml==1.1.4 # via sphinx -urllib3==1.26.4 # via requests - -# The following packages are considered to be unsafe in a requirements file: -# setuptools +alabaster==1.0.0 + # via sphinx +babel==2.18.0 + # via sphinx +certifi==2026.4.22 + # via requests +charset-normalizer==3.4.7 + # via requests +commonmark==0.9.1 + # via recommonmark +docutils==0.22.4 + # via + # recommonmark + # sphinx + # sphinx-rtd-theme +idna==3.13 + # via requests +imagesize==2.0.0 + # via sphinx +jinja2==3.1.6 + # via sphinx +markupsafe==3.0.3 + # via jinja2 +packaging==26.2 + # via sphinx +pygments==2.20.0 + # via sphinx +recommonmark==0.7.1 + # via -r docs.in +requests==2.33.1 + # via sphinx +roman-numerals==4.1.0 + # via sphinx +snowballstemmer==3.0.1 + # via sphinx +sphinx==9.1.0 + # via + # -r docs.in + # recommonmark + # sphinx-rtd-theme + # sphinxcontrib-jquery +sphinx-rtd-theme==3.1.0 + # via -r docs.in +sphinxcontrib-applehelp==2.0.0 + # via sphinx +sphinxcontrib-devhelp==2.0.0 + # via sphinx +sphinxcontrib-htmlhelp==2.1.0 + # via sphinx +sphinxcontrib-jquery==4.1 + # via sphinx-rtd-theme +sphinxcontrib-jsmath==1.0.1 + # via sphinx +sphinxcontrib-qthelp==2.0.0 + # via sphinx +sphinxcontrib-serializinghtml==2.0.0 + # via sphinx +urllib3==2.7.0 + # via requests diff --git a/requirements/production.txt b/requirements/production.txt index 7629c2c..dc03d6f 100644 --- a/requirements/production.txt +++ b/requirements/production.txt @@ -1,409 +1,329 @@ # -# This file is autogenerated by pip-compile -# To update, run: +# This file is autogenerated by pip-compile with Python 3.12 +# by the following command: # # pip-compile --output-file=production.txt production.in # -annotated-types==0.5.0 +annotated-doc==0.0.4 + # via typer +annotated-types==0.7.0 + # via pydantic +anyascii==0.3.3 + # via wagtail +anyio==4.13.0 # via - # -r ./base.txt - # pydantic -anyascii==0.1.7 - # via - # -r ./base.txt - # wagtail -anyio==3.7.1 - # via - # -r ./base.txt - # httpcore - # openai -arrow==0.14.7 - # via - # -r ./base.txt - # ics -asgiref==3.3.1 - # via - # -r ./base.txt - # django -beautifulsoup4==4.8.2 - # via - # -r ./base.txt - # wagtail -cached-property==1.5.2 - # via - # -r ./base.txt + # httpx # openai -certifi==2020.12.5 +arrow==1.4.0 + # via ics +asgiref==3.11.1 + # via django +attrs==26.1.0 + # via ics +bcp47==0.0.4 + # via wagtailvideos +beautifulsoup4==4.14.3 + # via wagtail +certifi==2026.4.22 # via - # -r ./base.txt # httpcore # httpx # requests -chardet==4.0.0 - # via - # -r ./base.txt - # requests -click==8.1.8 - # via - # -r ./base.txt - # nltk +charset-normalizer==3.4.7 + # via requests +click==8.3.3 + # via typer +cuda-bindings==13.2.0 + # via torch +cuda-pathfinder==1.5.4 + # via cuda-bindings +cuda-toolkit[cublas,cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.2 + # via torch +defusedxml==0.7.1 + # via willow distro==1.9.0 + # via openai +django==6.0.5 # via - # -r ./base.txt - # openai -django-auth-ldap==2.3.0 - # via -r ./base.txt -django-enumchoicefield==2.0.0 - # via - # -r ./base.txt - # wagtailvideos -django-filter==2.4.0 - # via - # -r ./base.txt - # wagtail -django-modelcluster==5.1 - # via - # -r ./base.txt - # wagtail -django-modeltranslation==0.16.2 - # via - # -r ./base.txt - # wagtail-modeltranslation -django-taggit==1.3.0 - # via - # -r ./base.txt - # wagtail -django-treebeard==4.5.1 - # via - # -r ./base.txt - # wagtail -django==3.1.7 - # via - # -r ./base.txt + # -r base.in # django-auth-ldap - # django-enumchoicefield # django-filter + # django-modelcluster # django-modeltranslation + # django-permissionedforms + # django-stubs-ext # django-taggit + # django-tasks # django-treebeard # djangorestframework + # laces + # modelsearch # wagtail + # wagtail-modeltranslation # wagtailvideos -djangorestframework==3.12.2 - # via - # -r ./base.txt - # wagtail -draftjs-exporter==2.1.7 - # via - # -r ./base.txt +django-auth-ldap==5.3.0 + # via -r base.in +django-filter==25.2 + # via wagtail +django-modelcluster==6.5 + # via wagtail +django-modeltranslation==0.20.3 + # via wagtail-modeltranslation +django-permissionedforms==0.1 + # via wagtail +django-stubs-ext==6.0.3 + # via django-tasks +django-taggit==6.1.0 + # via wagtail +django-tasks==0.12.0 + # via + # modelsearch # wagtail -et-xmlfile==1.0.1 - # via - # -r ./base.txt - # openpyxl -exceptiongroup==1.3.1 +django-treebeard==5.0.5 + # via wagtail +djangorestframework==3.17.1 + # via wagtail +draftjs-exporter==5.2.0 + # via wagtail +et-xmlfile==2.0.0 + # via openpyxl +filelock==3.29.0 # via - # -r ./base.txt - # anyio -filelock==3.12.2 - # via - # -r ./base.txt # huggingface-hub - # transformers -fsspec==2023.1.0 + # torch +filetype==1.2.0 + # via willow +fsspec==2026.4.0 # via - # -r ./base.txt # huggingface-hub -h11==0.14.0 - # via - # -r ./base.txt - # httpcore -html2text==2020.1.16 - # via -r ./base.txt -html5lib==1.1 - # via - # -r ./base.txt - # wagtail -httpcore==0.17.3 - # via - # -r ./base.txt - # httpx -httpx==0.24.1 + # torch +h11==0.16.0 + # via httpcore +hf-xet==1.5.0 + # via huggingface-hub +html2text==2025.4.15 + # via -r base.in +httpcore==1.0.9 + # via httpx +httpx==0.28.1 # via - # -r ./base.txt + # huggingface-hub # openai -huggingface-hub==0.16.4 +huggingface-hub==1.14.0 # via - # -r ./base.txt # sentence-transformers + # tokenizers # transformers -ics==0.7 - # via -r ./base.txt -idna==2.10 +ics==0.7.3 + # via -r base.in +idna==3.13 # via - # -r ./base.txt # anyio # httpx # requests -importlib-metadata==3.7.3 +jinja2==3.1.6 + # via torch +jiter==0.14.0 + # via openai +joblib==1.5.3 + # via scikit-learn +laces==0.1.2 + # via wagtail +markdown==3.10.2 + # via -r base.in +markdown-it-py==4.2.0 + # via rich +markupsafe==3.0.3 + # via jinja2 +mdurl==0.1.2 + # via markdown-it-py +modelsearch==1.3.1 + # via wagtail +mpmath==1.3.0 + # via sympy +networkx==3.6.1 + # via torch +numpy==2.4.4 # via - # -r ./base.txt - # click - # huggingface-hub - # markdown - # pydantic - # tqdm - # transformers -joblib==1.3.2 - # via - # -r ./base.txt - # nltk - # scikit-learn -l18n==2020.6.1 - # via - # -r ./base.txt - # wagtail -markdown==3.3.4 - # via -r ./base.txt -nltk==3.8.1 - # via - # -r ./base.txt - # sentence-transformers -numpy==1.21.6 - # via - # -r ./base.txt # pgvector # scikit-learn # scipy # sentence-transformers - # torchvision # transformers -nvidia-cublas-cu11==11.10.3.66 - # via - # -r ./base.txt - # nvidia-cudnn-cu11 - # torch -nvidia-cuda-nvrtc-cu11==11.7.99 - # via - # -r ./base.txt - # torch -nvidia-cuda-runtime-cu11==11.7.99 - # via - # -r ./base.txt - # torch -nvidia-cudnn-cu11==8.5.0.96 - # via - # -r ./base.txt - # torch -openai==1.39.0 - # via -r ./base.txt -openpyxl==3.0.7 - # via - # -r ./base.txt - # tablib -packaging==24.0 +nvidia-cublas==13.1.0.3 + # via + # cuda-toolkit + # nvidia-cudnn-cu13 + # nvidia-cusolver +nvidia-cuda-cupti==13.0.85 + # via cuda-toolkit +nvidia-cuda-nvrtc==13.0.88 + # via cuda-toolkit +nvidia-cuda-runtime==13.0.96 + # via cuda-toolkit +nvidia-cudnn-cu13==9.19.0.56 + # via torch +nvidia-cufft==12.0.0.61 + # via cuda-toolkit +nvidia-cufile==1.15.1.6 + # via cuda-toolkit +nvidia-curand==10.4.0.35 + # via cuda-toolkit +nvidia-cusolver==12.0.4.66 + # via cuda-toolkit +nvidia-cusparse==12.6.3.3 + # via + # cuda-toolkit + # nvidia-cusolver +nvidia-cusparselt-cu13==0.8.0 + # via torch +nvidia-nccl-cu13==2.28.9 + # via torch +nvidia-nvjitlink==13.0.88 + # via + # cuda-toolkit + # nvidia-cufft + # nvidia-cusolver + # nvidia-cusparse +nvidia-nvshmem-cu13==3.4.5 + # via torch +nvidia-nvtx==13.0.85 + # via cuda-toolkit +openai==2.36.0 + # via -r base.in +openpyxl==3.1.5 + # via wagtail +packaging==26.2 # via - # -r ./base.txt # huggingface-hub # transformers -pgvector==0.1.8 - # via -r ./base.txt -pillow==8.1.2 +pgvector==0.4.2 + # via -r base.in +pillow==12.2.0 # via - # -r ./base.txt - # torchvision + # pillow-heif # wagtail -psycopg2-binary==2.8.6 - # via -r ./base.txt -pyasn1-modules==0.2.8 +pillow-heif==1.3.0 + # via willow +psycopg2-binary==2.9.12 + # via -r base.in +pyasn1==0.6.3 # via - # -r ./base.txt - # python-ldap -pyasn1==0.4.8 - # via - # -r ./base.txt # pyasn1-modules # python-ldap -pydantic-core==2.14.6 - # via - # -r ./base.txt - # pydantic -pydantic==2.5.3 +pyasn1-modules==0.4.2 + # via python-ldap +pydantic==2.13.4 + # via openai +pydantic-core==2.46.4 + # via pydantic +pygments==2.20.0 + # via + # -r base.in + # rich +python-dateutil==2.9.0.post0 # via - # -r ./base.txt - # openai -pygments==2.8.1 - # via -r ./base.txt -python-dateutil==2.8.1 - # via - # -r ./base.txt # arrow # ics -python-ldap==3.3.1 - # via - # -r ./base.txt - # django-auth-ldap -pytz==2021.1 - # via - # -r ./base.txt - # django - # django-modelcluster - # l18n -pyyaml==6.0.1 - # via - # -r ./base.txt - # huggingface-hub - # transformers -regex==2024.4.16 - # via - # -r ./base.txt - # nltk - # transformers -requests==2.25.1 +python-ldap==3.4.5 + # via django-auth-ldap +pyyaml==6.0.3 # via - # -r ./base.txt # huggingface-hub - # torchvision - # transformers - # wagtail -safetensors==0.5.3 - # via - # -r ./base.txt # transformers -scikit-learn==1.0.2 - # via - # -r ./base.txt - # sentence-transformers -scipy==1.7.3 +regex==2026.4.4 + # via transformers +requests==2.33.1 + # via wagtail +rich==15.0.0 + # via typer +safetensors==0.7.0 + # via transformers +scikit-learn==1.8.0 + # via sentence-transformers +scipy==1.17.1 # via - # -r ./base.txt # scikit-learn # sentence-transformers -sentence-transformers==2.2.2 - # via -r ./base.txt -sentencepiece==0.2.0 +sentence-transformers==5.4.1 + # via -r base.in +shellingham==1.5.4 + # via typer +six==1.17.0 # via - # -r ./base.txt - # sentence-transformers -six==1.15.0 - # via - # -r ./base.txt - # django-modeltranslation - # html5lib # ics - # l18n # python-dateutil sniffio==1.3.1 - # via - # -r ./base.txt - # anyio - # httpcore - # httpx - # openai -soupsieve==2.2.1 - # via - # -r ./base.txt - # beautifulsoup4 -sqlparse==0.4.1 - # via - # -r ./base.txt - # django -tablib[xls,xlsx]==3.0.0 - # via - # -r ./base.txt - # wagtail -tatsu==4.4.0 - # via - # -r ./base.txt - # ics -threadpoolctl==3.1.0 - # via - # -r ./base.txt - # scikit-learn -tokenizers==0.13.3 - # via - # -r ./base.txt - # transformers -torch==1.13.1 - # via - # -r ./base.txt - # sentence-transformers - # torchvision -torchvision==0.14.1 - # via - # -r ./base.txt - # sentence-transformers + # via openai +soupsieve==2.8.3 + # via beautifulsoup4 +sqlparse==0.5.5 + # via django +sympy==1.14.0 + # via torch +tatsu==5.15.1 + # via ics +telepath==0.3.1 + # via wagtail +threadpoolctl==3.6.0 + # via scikit-learn +tokenizers==0.22.2 + # via transformers +torch==2.11.0 + # via sentence-transformers tqdm==4.67.3 # via - # -r ./base.txt # huggingface-hub - # nltk # openai # sentence-transformers # transformers -transformers==4.30.2 +transformers==5.8.0 + # via sentence-transformers +triton==3.6.0 + # via torch +typer==0.25.1 # via - # -r ./base.txt - # sentence-transformers -typing-extensions==4.7.1 + # huggingface-hub + # transformers +typing-extensions==4.15.0 # via - # -r ./base.txt - # annotated-types # anyio - # exceptiongroup - # h11 + # beautifulsoup4 + # django-modeltranslation + # django-stubs-ext + # django-tasks # huggingface-hub - # importlib-metadata # openai # pydantic # pydantic-core + # sentence-transformers # torch - # torchvision -urllib3==1.26.4 - # via - # -r ./base.txt - # requests -wagtail-modeltranslation==0.10.17 - # via -r ./base.txt -wagtail-orderable==1.0.3 - # via -r ./base.txt -wagtail==2.12.3 - # via - # -r ./base.txt + # typing-inspection +typing-inspection==0.4.2 + # via pydantic +tzdata==2026.2 + # via arrow +urllib3==2.7.0 + # via requests +wagtail==7.4 + # via + # -r base.in + # wagtail-modeladmin # wagtail-modeltranslation # wagtail-orderable # wagtailvideos -git+https://github.com/neon-jungle/wagtailvideos@3cd93351b67c7d72a0b6b4ac74a62410d5e6bccb - # via -r ./base.txt -webencodings==0.5.1 +wagtail-modeladmin==2.3.0 + # via -r base.in +wagtail-modeltranslation==0.16.0 + # via -r base.in +wagtail-orderable==1.2.0 + # via -r base.in +wagtailvideos==7.2.0 + # via -r base.in +willow[heif]==1.12.0 # via - # -r ./base.txt - # html5lib -wheel==0.42.0 - # via - # -r ./base.txt - # nvidia-cublas-cu11 - # nvidia-cuda-runtime-cu11 -willow==1.4 - # via - # -r ./base.txt # wagtail -xlrd==2.0.1 - # via - # -r ./base.txt - # tablib -xlsxwriter==1.3.7 - # via - # -r ./base.txt - # wagtail -xlwt==1.3.0 - # via - # -r ./base.txt - # tablib -zipp==3.4.1 - # via - # -r ./base.txt - # importlib-metadata + # willow # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/requirements/test.txt b/requirements/test.txt index 85bf8e0..d42c375 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -1,443 +1,356 @@ # -# This file is autogenerated by pip-compile -# To update, run: +# This file is autogenerated by pip-compile with Python 3.12 +# by the following command: # # pip-compile --output-file=test.txt test.in # -annotated-types==0.5.0 +annotated-doc==0.0.4 + # via typer +annotated-types==0.7.0 + # via pydantic +anyascii==0.3.3 + # via wagtail +anyio==4.13.0 # via - # -r ./base.txt - # pydantic -anyascii==0.1.7 - # via - # -r ./base.txt - # wagtail -anyio==3.7.1 - # via - # -r ./base.txt - # httpcore - # openai -arrow==0.14.7 - # via - # -r ./base.txt - # ics -asgiref==3.3.1 - # via - # -r ./base.txt - # django -attrs==20.3.0 - # via pytest -beautifulsoup4==4.8.2 - # via - # -r ./base.txt - # wagtail -cached-property==1.5.2 - # via - # -r ./base.txt + # httpx # openai -certifi==2020.12.5 +arrow==1.4.0 + # via ics +asgiref==3.11.1 + # via django +attrs==26.1.0 + # via ics +bcp47==0.0.4 + # via wagtailvideos +beautifulsoup4==4.14.3 + # via wagtail +certifi==2026.4.22 # via - # -r ./base.txt # httpcore # httpx # requests -chardet==4.0.0 - # via - # -r ./base.txt - # requests -click==8.1.8 - # via - # -r ./base.txt - # nltk -coverage==5.5 +charset-normalizer==3.4.7 + # via requests +click==8.3.3 + # via typer +coverage==7.13.5 # via # -r test.in # django-coverage-plugin +cuda-bindings==13.2.0 + # via torch +cuda-pathfinder==1.5.4 + # via cuda-bindings +cuda-toolkit[cublas,cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.2 + # via torch +defusedxml==0.7.1 + # via willow distro==1.9.0 + # via openai +django==6.0.5 # via - # -r ./base.txt - # openai -django-auth-ldap==2.3.0 - # via -r ./base.txt -django-coverage-plugin==1.8.0 - # via -r test.in -django-enumchoicefield==2.0.0 - # via - # -r ./base.txt - # wagtailvideos -django-filter==2.4.0 - # via - # -r ./base.txt - # wagtail -django-modelcluster==5.1 - # via - # -r ./base.txt - # wagtail -django-modeltranslation==0.16.2 - # via - # -r ./base.txt - # wagtail-modeltranslation -django-taggit==1.3.0 - # via - # -r ./base.txt - # wagtail -django-treebeard==4.5.1 - # via - # -r ./base.txt - # wagtail -django==3.1.7 - # via - # -r ./base.txt + # -r base.in # django-auth-ldap - # django-enumchoicefield + # django-coverage-plugin # django-filter + # django-modelcluster # django-modeltranslation + # django-permissionedforms + # django-stubs-ext # django-taggit + # django-tasks # django-treebeard # djangorestframework + # laces + # modelsearch # wagtail + # wagtail-modeltranslation # wagtailvideos -djangorestframework==3.12.2 - # via - # -r ./base.txt - # wagtail -draftjs-exporter==2.1.7 - # via - # -r ./base.txt +django-auth-ldap==5.3.0 + # via -r base.in +django-coverage-plugin==3.2.2 + # via -r test.in +django-filter==25.2 + # via wagtail +django-modelcluster==6.5 + # via wagtail +django-modeltranslation==0.20.3 + # via wagtail-modeltranslation +django-permissionedforms==0.1 + # via wagtail +django-stubs-ext==6.0.3 + # via django-tasks +django-taggit==6.1.0 + # via wagtail +django-tasks==0.12.0 + # via + # modelsearch # wagtail -et-xmlfile==1.0.1 - # via - # -r ./base.txt - # openpyxl -exceptiongroup==1.3.1 +django-treebeard==5.0.5 + # via wagtail +djangorestframework==3.17.1 + # via wagtail +draftjs-exporter==5.2.0 + # via wagtail +et-xmlfile==2.0.0 + # via openpyxl +filelock==3.29.0 # via - # -r ./base.txt - # anyio -filelock==3.12.2 - # via - # -r ./base.txt # huggingface-hub - # transformers -flake8==3.9.0 + # torch +filetype==1.2.0 + # via willow +flake8==7.3.0 # via -r test.in -fsspec==2023.1.0 +fsspec==2026.4.0 # via - # -r ./base.txt # huggingface-hub -h11==0.14.0 - # via - # -r ./base.txt - # httpcore -html2text==2020.1.16 - # via -r ./base.txt -html5lib==1.1 - # via - # -r ./base.txt - # wagtail -httpcore==0.17.3 - # via - # -r ./base.txt - # httpx -httpx==0.24.1 + # torch +h11==0.16.0 + # via httpcore +hf-xet==1.5.0 + # via huggingface-hub +html2text==2025.4.15 + # via -r base.in +httpcore==1.0.9 + # via httpx +httpx==0.28.1 # via - # -r ./base.txt + # huggingface-hub # openai -huggingface-hub==0.16.4 +huggingface-hub==1.14.0 # via - # -r ./base.txt # sentence-transformers + # tokenizers # transformers -ics==0.7 - # via -r ./base.txt -idna==2.10 +ics==0.7.3 + # via -r base.in +idna==3.13 # via - # -r ./base.txt # anyio # httpx # requests -importlib-metadata==3.7.3 - # via - # -r ./base.txt - # click - # flake8 - # huggingface-hub - # markdown - # pydantic - # pytest - # tqdm - # transformers -iniconfig==1.1.1 +iniconfig==2.3.0 # via pytest -joblib==1.3.2 - # via - # -r ./base.txt - # nltk - # scikit-learn -l18n==2020.6.1 - # via - # -r ./base.txt - # wagtail -markdown==3.3.4 - # via -r ./base.txt -mccabe==0.6.1 +jinja2==3.1.6 + # via torch +jiter==0.14.0 + # via openai +joblib==1.5.3 + # via scikit-learn +laces==0.1.2 + # via wagtail +markdown==3.10.2 + # via -r base.in +markdown-it-py==4.2.0 + # via rich +markupsafe==3.0.3 + # via jinja2 +mccabe==0.7.0 # via flake8 -nltk==3.8.1 +mdurl==0.1.2 + # via markdown-it-py +modelsearch==1.3.1 + # via wagtail +mpmath==1.3.0 + # via sympy +networkx==3.6.1 + # via torch +numpy==2.4.4 # via - # -r ./base.txt - # sentence-transformers -numpy==1.21.6 - # via - # -r ./base.txt # pgvector # scikit-learn # scipy # sentence-transformers - # torchvision # transformers -nvidia-cublas-cu11==11.10.3.66 - # via - # -r ./base.txt - # nvidia-cudnn-cu11 - # torch -nvidia-cuda-nvrtc-cu11==11.7.99 - # via - # -r ./base.txt - # torch -nvidia-cuda-runtime-cu11==11.7.99 - # via - # -r ./base.txt - # torch -nvidia-cudnn-cu11==8.5.0.96 +nvidia-cublas==13.1.0.3 + # via + # cuda-toolkit + # nvidia-cudnn-cu13 + # nvidia-cusolver +nvidia-cuda-cupti==13.0.85 + # via cuda-toolkit +nvidia-cuda-nvrtc==13.0.88 + # via cuda-toolkit +nvidia-cuda-runtime==13.0.96 + # via cuda-toolkit +nvidia-cudnn-cu13==9.19.0.56 + # via torch +nvidia-cufft==12.0.0.61 + # via cuda-toolkit +nvidia-cufile==1.15.1.6 + # via cuda-toolkit +nvidia-curand==10.4.0.35 + # via cuda-toolkit +nvidia-cusolver==12.0.4.66 + # via cuda-toolkit +nvidia-cusparse==12.6.3.3 + # via + # cuda-toolkit + # nvidia-cusolver +nvidia-cusparselt-cu13==0.8.0 + # via torch +nvidia-nccl-cu13==2.28.9 + # via torch +nvidia-nvjitlink==13.0.88 + # via + # cuda-toolkit + # nvidia-cufft + # nvidia-cusolver + # nvidia-cusparse +nvidia-nvshmem-cu13==3.4.5 + # via torch +nvidia-nvtx==13.0.85 + # via cuda-toolkit +openai==2.36.0 + # via -r base.in +openpyxl==3.1.5 + # via wagtail +packaging==26.2 # via - # -r ./base.txt - # torch -openai==1.39.0 - # via -r ./base.txt -openpyxl==3.0.7 - # via - # -r ./base.txt - # tablib -packaging==24.0 - # via - # -r ./base.txt # huggingface-hub # pytest # transformers -pgvector==0.1.8 - # via -r ./base.txt -pillow==8.1.2 +pgvector==0.4.2 + # via -r base.in +pillow==12.2.0 # via - # -r ./base.txt - # torchvision + # pillow-heif # wagtail -pluggy==0.13.1 +pillow-heif==1.3.0 + # via willow +pluggy==1.6.0 # via pytest -psycopg2-binary==2.8.6 - # via -r ./base.txt -py==1.10.0 - # via pytest -pyasn1-modules==0.2.8 +psycopg2-binary==2.9.12 + # via -r base.in +pyasn1==0.6.3 # via - # -r ./base.txt - # python-ldap -pyasn1==0.4.8 - # via - # -r ./base.txt # pyasn1-modules # python-ldap -pycodestyle==2.7.0 +pyasn1-modules==0.4.2 + # via python-ldap +pycodestyle==2.14.0 # via flake8 -pydantic-core==2.14.6 - # via - # -r ./base.txt - # pydantic -pydantic==2.5.3 - # via - # -r ./base.txt - # openai -pyflakes==2.3.0 +pydantic==2.13.4 + # via openai +pydantic-core==2.46.4 + # via pydantic +pyflakes==3.4.0 # via flake8 -pygments==2.8.1 - # via -r ./base.txt -pytest-django==4.1.0 - # via -r test.in -pytest==6.2.2 +pygments==2.20.0 + # via + # -r base.in + # pytest + # rich +pytest==9.0.3 # via # -r test.in # pytest-django -python-dateutil==2.8.1 +pytest-django==4.12.0 + # via -r test.in +python-dateutil==2.9.0.post0 # via - # -r ./base.txt # arrow # ics -python-ldap==3.3.1 - # via - # -r ./base.txt - # django-auth-ldap -pytz==2021.1 - # via - # -r ./base.txt - # django - # django-modelcluster - # l18n -pyyaml==6.0.1 +python-ldap==3.4.5 + # via django-auth-ldap +pyyaml==6.0.3 # via - # -r ./base.txt # huggingface-hub # transformers -regex==2024.4.16 +regex==2026.4.4 + # via transformers +requests==2.33.1 + # via wagtail +rich==15.0.0 + # via typer +safetensors==0.7.0 + # via transformers +scikit-learn==1.8.0 + # via sentence-transformers +scipy==1.17.1 # via - # -r ./base.txt - # nltk - # transformers -requests==2.25.1 - # via - # -r ./base.txt - # huggingface-hub - # torchvision - # transformers - # wagtail -safetensors==0.5.3 - # via - # -r ./base.txt - # transformers -scikit-learn==1.0.2 - # via - # -r ./base.txt - # sentence-transformers -scipy==1.7.3 - # via - # -r ./base.txt # scikit-learn # sentence-transformers -sentence-transformers==2.2.2 - # via -r ./base.txt -sentencepiece==0.2.0 - # via - # -r ./base.txt - # sentence-transformers -six==1.15.0 +sentence-transformers==5.4.1 + # via -r base.in +shellingham==1.5.4 + # via typer +six==1.17.0 # via - # -r ./base.txt - # django-coverage-plugin - # django-modeltranslation - # html5lib # ics - # l18n # python-dateutil sniffio==1.3.1 - # via - # -r ./base.txt - # anyio - # httpcore - # httpx - # openai -soupsieve==2.2.1 - # via - # -r ./base.txt - # beautifulsoup4 -sqlparse==0.4.1 - # via - # -r ./base.txt - # django -tablib[xls,xlsx]==3.0.0 - # via - # -r ./base.txt - # wagtail -tatsu==4.4.0 - # via - # -r ./base.txt - # ics -threadpoolctl==3.1.0 - # via - # -r ./base.txt - # scikit-learn -tokenizers==0.13.3 - # via - # -r ./base.txt - # transformers -toml==0.10.2 - # via pytest -torch==1.13.1 - # via - # -r ./base.txt - # sentence-transformers - # torchvision -torchvision==0.14.1 - # via - # -r ./base.txt - # sentence-transformers + # via openai +soupsieve==2.8.3 + # via beautifulsoup4 +sqlparse==0.5.5 + # via django +sympy==1.14.0 + # via torch +tatsu==5.15.1 + # via ics +telepath==0.3.1 + # via wagtail +threadpoolctl==3.6.0 + # via scikit-learn +tokenizers==0.22.2 + # via transformers +torch==2.11.0 + # via sentence-transformers tqdm==4.67.3 # via - # -r ./base.txt # huggingface-hub - # nltk # openai # sentence-transformers # transformers -transformers==4.30.2 +transformers==5.8.0 + # via sentence-transformers +triton==3.6.0 + # via torch +typer==0.25.1 # via - # -r ./base.txt - # sentence-transformers -typing-extensions==4.7.1 + # huggingface-hub + # transformers +typing-extensions==4.15.0 # via - # -r ./base.txt - # annotated-types # anyio - # exceptiongroup - # h11 + # beautifulsoup4 + # django-modeltranslation + # django-stubs-ext + # django-tasks # huggingface-hub - # importlib-metadata # openai # pydantic # pydantic-core + # sentence-transformers # torch - # torchvision -urllib3==1.26.4 - # via - # -r ./base.txt - # requests -wagtail-modeltranslation==0.10.17 - # via -r ./base.txt -wagtail-orderable==1.0.3 - # via -r ./base.txt -wagtail==2.12.3 - # via - # -r ./base.txt + # typing-inspection +typing-inspection==0.4.2 + # via pydantic +tzdata==2026.2 + # via arrow +urllib3==2.7.0 + # via requests +wagtail==7.4 + # via + # -r base.in + # wagtail-modeladmin # wagtail-modeltranslation # wagtail-orderable # wagtailvideos -git+https://github.com/neon-jungle/wagtailvideos@3cd93351b67c7d72a0b6b4ac74a62410d5e6bccb - # via -r ./base.txt -webencodings==0.5.1 - # via - # -r ./base.txt - # html5lib -wheel==0.42.0 - # via - # -r ./base.txt - # nvidia-cublas-cu11 - # nvidia-cuda-runtime-cu11 -willow==1.4 - # via - # -r ./base.txt - # wagtail -xlrd==2.0.1 - # via - # -r ./base.txt - # tablib -xlsxwriter==1.3.7 +wagtail-modeladmin==2.3.0 + # via -r base.in +wagtail-modeltranslation==0.16.0 + # via -r base.in +wagtail-orderable==1.2.0 + # via -r base.in +wagtailvideos==7.2.0 + # via -r base.in +willow[heif]==1.12.0 # via - # -r ./base.txt # wagtail -xlwt==1.3.0 - # via - # -r ./base.txt - # tablib -zipp==3.4.1 - # via - # -r ./base.txt - # importlib-metadata + # willow # The following packages are considered to be unsafe in a requirements file: # setuptools From a9625ef3ee074cf2bea6b10f0a134a5fa92a3053 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 30 Apr 2026 15:20:54 +0200 Subject: [PATCH 45/47] Update translations Run ./manage.py makemessages -l de Note: This commit removes many lines from django.po because in the past the above command was run with the virtual environemnt visible in the subdirectory "venv0" and walking over the installed Python packages. This has been changed, the virtual environement is now hidden (".venv") and makemessages no longer collects messages from python packages, which is correct. --- locale/de/LC_MESSAGES/django.po | 2092 ++----------------------------- 1 file changed, 102 insertions(+), 1990 deletions(-) diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po index 9b1a824..ac77f56 100644 --- a/locale/de/LC_MESSAGES/django.po +++ b/locale/de/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-03-22 14:57+0100\n" +"POT-Creation-Date: 2026-05-07 15:38+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,59 +17,56 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: config/settings/base.py:221 -#: venv0/lib/python3.7/site-packages/wagtail/tests/settings.py:239 +#: config/settings/base.py:222 msgid "English" msgstr "Englisch" -#: config/settings/base.py:222 +#: config/settings/base.py:223 msgid "German" msgstr "Deutsch" -#: mpicms/base/blocks.py:11 mpicms/base/blocks.py:48 +#: mpicms/base/blocks.py:12 mpicms/base/blocks.py:49 #: mpicms/templates/base/blocks/contact_list_block.html:3 msgid "Contact" msgstr "Kontakt" -#: mpicms/base/blocks.py:12 +#: mpicms/base/blocks.py:13 msgid "Information" msgstr "Information" -#: mpicms/base/blocks.py:45 mpicms/base/mixins.py:92 +#: mpicms/base/blocks.py:46 mpicms/base/mixins.py:92 msgid "Editor" msgstr "Editor" -#: mpicms/base/blocks.py:46 +#: mpicms/base/blocks.py:47 msgid "Raw Markdown" msgstr "Markdown-Text" -#: mpicms/base/blocks.py:47 +#: mpicms/base/blocks.py:48 msgid "Table" msgstr "Tabelle" -#: mpicms/base/blocks.py:49 +#: mpicms/base/blocks.py:50 msgid "Video" msgstr "" -#: mpicms/base/blocks.py:52 mpicms/base/mixins.py:44 +#: mpicms/base/blocks.py:53 mpicms/base/mixins.py:44 msgid "content" msgstr "Inhalt" -#: mpicms/base/blocks.py:56 mpicms/base/blocks.py:59 mpicms/base/models.py:74 -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/usage.html:16 +#: mpicms/base/blocks.py:57 mpicms/base/blocks.py:60 mpicms/base/models.py:72 msgid "Title" msgstr "Titel" -#: mpicms/base/blocks.py:60 -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:2214 +#: mpicms/base/blocks.py:61 msgid "URL" msgstr "URL" -#: mpicms/base/blocks.py:61 +#: mpicms/base/blocks.py:62 msgid "Items" msgstr "Items" -#: mpicms/base/blocks.py:66 +#: mpicms/base/blocks.py:67 msgid "Menu" msgstr "Menü" @@ -90,78 +87,76 @@ msgstr "Kontakte" msgid "Sidebar Content" msgstr "Inhalt der Seitenleiste" -#: mpicms/base/models.py:46 mpicms/personal/models.py:27 -#: mpicms/personal/models.py:95 mpicms/publications/models.py:27 -#: venv0/lib/python3.7/site-packages/wagtailvideos/models.py:84 +#: mpicms/base/models.py:44 mpicms/personal/models.py:27 +#: mpicms/personal/models.py:96 mpicms/publications/models.py:27 msgid "title" msgstr "Titel" -#: mpicms/base/models.py:47 +#: mpicms/base/models.py:45 msgid "text" msgstr "Text" -#: mpicms/base/models.py:59 mpicms/base/models.py:70 +#: mpicms/base/models.py:57 mpicms/base/models.py:68 msgid "featured image" msgstr "Titelbild" -#: mpicms/base/models.py:60 +#: mpicms/base/models.py:58 msgid "featured images" msgstr "Titelbilder" -#: mpicms/base/models.py:75 -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:2055 +#: mpicms/base/models.py:73 msgid "Text" msgstr "Text" -#: mpicms/base/models.py:76 mpicms/base/models.py:77 +#: mpicms/base/models.py:74 mpicms/base/models.py:75 msgid "Banner" msgstr "Banner" -#: mpicms/base/models.py:80 +#: mpicms/base/models.py:78 msgid "Footer Items" msgstr "Footer Menüs" -#: mpicms/base/models.py:83 +#: mpicms/base/models.py:81 msgid "Quick Links" msgstr "Quick Links" -#: mpicms/base/models.py:96 +#: mpicms/base/models.py:94 msgid "root page" msgstr "Grundseite" -#: mpicms/base/models.py:97 +#: mpicms/base/models.py:95 msgid "root pages" msgstr "Grundseiten" -#: mpicms/base/models.py:114 +#: mpicms/base/models.py:112 msgid "homepage" msgstr "Startseite" -#: mpicms/base/models.py:115 +#: mpicms/base/models.py:113 msgid "homepages" msgstr "Startseiten" -#: mpicms/base/models.py:126 +#: mpicms/base/models.py:124 msgid "wiki page" msgstr "Wikiseite" -#: mpicms/base/models.py:127 +#: mpicms/base/models.py:125 msgid "wiki pages" msgstr "Wikiseiten" -#: mpicms/base/models.py:138 +#: mpicms/base/models.py:136 msgid "Phonelist" msgstr "Telefonliste" -#: mpicms/base/models.py:139 +#: mpicms/base/models.py:137 msgid "Phonelists" msgstr "Telefonlisten" -#: mpicms/base/views.py:99 +#: mpicms/base/views.py:98 msgid "Successfully subscribed to '{}'." msgstr "'{}' erfolgreich abonniert." -#: mpicms/base/views.py:116 +#: mpicms/base/views.py:115 msgid "Successfully unsubscribed from '{}'." msgstr "'{}' deabonniert." @@ -189,79 +184,87 @@ msgid "" "to date." msgstr "" "Diese Funktion befindet sich noch im Versuchsstadium und in einer frühen " -"Entwicklungsphase. Die Antworten können unvollständig oder falsch sein. " -"Die Informationen aus dem Intranet sind möglicherweise nicht immer auf " -"dem neuesten Stand." +"Entwicklungsphase. Die Antworten können unvollständig oder falsch sein. Die " +"Informationen aus dem Intranet sind möglicherweise nicht immer auf dem " +"neuesten Stand." + +#: mpicms/chat/templates/chat/chat.html:15 +msgid "You" +msgstr "Du" + +#: mpicms/chat/templates/chat/chat.html:16 mpicms/templates/menus/main.html:129 +msgid "Assistant" +msgstr "Assistent" -#: mpicms/chat/templates/chat/chat.html:19 +#: mpicms/chat/templates/chat/chat.html:21 msgid "Ask a question…" msgstr "Stelle eine Frage…" -#: mpicms/chat/templates/chat/chat.html:22 +#: mpicms/chat/templates/chat/chat.html:24 msgid "Send" msgstr "Absenden" -#: mpicms/chat/templates/chat/chat.html:15 -msgid "You" -msgstr "Du" +#: mpicms/chat/templates/chat/chat.html:27 +msgid "Restart" +msgstr "" -#: mpicms/events/models.py:18 +#: mpicms/events/models.py:17 msgid "start date" msgstr "Anfangsdatum" -#: mpicms/events/models.py:19 +#: mpicms/events/models.py:18 msgid "end date" msgstr "Enddatum" -#: mpicms/events/models.py:20 +#: mpicms/events/models.py:19 msgid "start time" msgstr "Anfangszeit" -#: mpicms/events/models.py:21 +#: mpicms/events/models.py:20 msgid "end time" msgstr "Endzeit" -#: mpicms/events/models.py:22 mpicms/templates/personal/list.html:95 +#: mpicms/events/models.py:21 mpicms/templates/personal/list.html:95 msgid "Room" msgstr "Raum" -#: mpicms/events/models.py:46 +#: mpicms/events/models.py:45 msgid "event dates" msgstr "Veranstaltungsdaten" -#: mpicms/events/models.py:101 +#: mpicms/events/models.py:100 msgid "event" msgstr "Veranstaltung" -#: mpicms/events/models.py:102 +#: mpicms/events/models.py:101 msgid "events" msgstr "Veranstaltungen" -#: mpicms/events/models.py:143 +#: mpicms/events/models.py:142 msgid "event index" msgstr "Veranstaltungs-Index" -#: mpicms/events/models.py:144 +#: mpicms/events/models.py:143 msgid "event indexes" msgstr "Veranstaltungs-Indexes" -#: mpicms/news/models.py:58 +#: mpicms/news/models.py:57 msgid "news blog" msgstr "News Blog" -#: mpicms/news/models.py:59 +#: mpicms/news/models.py:58 msgid "news blogs" msgstr "News Blogs" -#: mpicms/news/models.py:63 +#: mpicms/news/models.py:62 msgid "date" msgstr "Datum" -#: mpicms/news/models.py:96 +#: mpicms/news/models.py:95 msgid "news entry" msgstr "Neuigkeit" -#: mpicms/news/models.py:97 +#: mpicms/news/models.py:96 msgid "news entries" msgstr "Neuigkeiten" @@ -277,47 +280,47 @@ msgstr "Sonderfunktion" msgid "name" msgstr "Name" -#: mpicms/personal/models.py:96 +#: mpicms/personal/models.py:97 msgid "first name" msgstr "Vorname" -#: mpicms/personal/models.py:97 +#: mpicms/personal/models.py:98 msgid "last name" msgstr "Nachname" -#: mpicms/personal/models.py:98 +#: mpicms/personal/models.py:99 msgid "academic_suffix" msgstr "" -#: mpicms/personal/models.py:99 +#: mpicms/personal/models.py:100 msgid "email" msgstr "Email-Adresse" -#: mpicms/personal/models.py:100 +#: mpicms/personal/models.py:101 msgid "phone number" msgstr "Telefonnummer" -#: mpicms/personal/models.py:101 +#: mpicms/personal/models.py:102 msgid "room" msgstr "Raum" -#: mpicms/personal/models.py:102 +#: mpicms/personal/models.py:103 msgid "is active" msgstr "ist aktiv" -#: mpicms/personal/models.py:104 +#: mpicms/personal/models.py:105 msgid "special functions" msgstr "Sonderfunktionen" -#: mpicms/personal/models.py:105 +#: mpicms/personal/models.py:106 msgid "positions" msgstr "Positionen" -#: mpicms/personal/models.py:106 mpicms/publications/models.py:28 +#: mpicms/personal/models.py:107 mpicms/publications/models.py:28 msgid "groups" msgstr "Gruppen" -#: mpicms/personal/models.py:166 +#: mpicms/personal/models.py:167 msgid "valid" msgstr "gültig" @@ -369,7 +372,6 @@ msgstr "Zurück zur Live-Version" #: mpicms/templates/base/components/search_big.html:17 #: mpicms/templates/base/search_results.html:9 #: mpicms/templates/menus/main.html:134 -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/chooser/chooser.html:7 msgid "Search" msgstr "Suche" @@ -433,10 +435,6 @@ msgstr "Ausloggen" msgid "Login" msgstr "Einloggen" -#: mpicms/templates/menus/main.html:129 -msgid "Assistant" -msgstr "Assistent" - #: mpicms/templates/news/components/news_list.html:17 msgid "See all" msgstr "Alle anzeigen" @@ -537,7 +535,6 @@ msgid "Level" msgstr "" #: mpicms/templates/wagtailusers/users/list.html:29 -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/usage.html:19 msgid "Status" msgstr "" @@ -568,8 +565,6 @@ msgid "User '{0}' updated." msgstr "" #: mpicms/users/views.py:34 -#: venv0/lib/python3.7/site-packages/wagtailvideos/forms.py:80 -#: venv0/lib/python3.7/site-packages/wagtailvideos/views/videos.py:177 msgid "Edit" msgstr "Editeren" @@ -577,1929 +572,46 @@ msgstr "Editeren" msgid "The user could not be saved due to errors." msgstr "" -#: venv0/lib/python3.7/site-packages/_pytest/config/argparsing.py:445 -#, python-format -msgid "ambiguous option: %(option)s could match %(matches)s" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/_termui_impl.py:556 -#, python-brace-format -msgid "{editor}: Editing failed" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/_termui_impl.py:560 -#, python-brace-format -msgid "{editor}: Editing failed: {e}" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/core.py:1124 -msgid "Aborted!" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/core.py:1349 -#: venv0/lib/python3.7/site-packages/click/core.py:1379 -#, python-brace-format -msgid "(Deprecated) {text}" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/core.py:1396 #, fuzzy -#| msgid "positions" -msgid "Options" -msgstr "Positionen" - -#: venv0/lib/python3.7/site-packages/click/core.py:1422 -#, python-brace-format -msgid "Got unexpected extra argument ({args})" -msgid_plural "Got unexpected extra arguments ({args})" -msgstr[0] "" -msgstr[1] "" - -#: venv0/lib/python3.7/site-packages/click/core.py:1438 -msgid "DeprecationWarning: The command {name!r} is deprecated." -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/core.py:1645 -msgid "Commands" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/core.py:1677 -msgid "Missing command." -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/core.py:1755 -msgid "No such command {name!r}." -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/core.py:2313 -msgid "Value must be an iterable." -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/core.py:2334 -#, python-brace-format -msgid "Takes {nargs} values but 1 was given." -msgid_plural "Takes {nargs} values but {len} were given." -msgstr[0] "" -msgstr[1] "" - -#: venv0/lib/python3.7/site-packages/click/core.py:2783 -#, python-brace-format -msgid "env var: {var}" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/core.py:2813 -msgid "(dynamic)" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/core.py:2828 -#, python-brace-format -msgid "default: {default}" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/core.py:2841 -msgid "required" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/decorators.py:457 -#, python-format -msgid "%(prog)s, version %(version)s" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/decorators.py:520 -msgid "Show the version and exit." -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/decorators.py:541 -msgid "Show this message and exit." -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/exceptions.py:49 -#: venv0/lib/python3.7/site-packages/click/exceptions.py:88 -#, python-brace-format -msgid "Error: {message}" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/exceptions.py:80 -#, python-brace-format -msgid "Try '{command} {option}' for help." -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/exceptions.py:129 -#, python-brace-format -msgid "Invalid value: {message}" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/exceptions.py:131 -#, python-brace-format -msgid "Invalid value for {param_hint}: {message}" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/exceptions.py:187 -msgid "Missing argument" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/exceptions.py:189 -msgid "Missing option" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/exceptions.py:191 -msgid "Missing parameter" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/exceptions.py:193 -#, python-brace-format -msgid "Missing {param_type}" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/exceptions.py:200 -#, python-brace-format -msgid "Missing parameter: {param_name}" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/exceptions.py:220 -#, python-brace-format -msgid "No such option: {name}" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/exceptions.py:232 -#, python-brace-format -msgid "Did you mean {possibility}?" -msgid_plural "(Possible options: {possibilities})" -msgstr[0] "" -msgstr[1] "" - -#: venv0/lib/python3.7/site-packages/click/exceptions.py:270 -msgid "unknown error" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/exceptions.py:277 -msgid "Could not open file {filename!r}: {message}" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/parser.py:233 -msgid "Argument {name!r} takes {nargs} values." -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/parser.py:415 -msgid "Option {name!r} does not take a value." -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/parser.py:476 -msgid "Option {name!r} requires an argument." -msgid_plural "Option {name!r} requires {nargs} arguments." -msgstr[0] "" -msgstr[1] "" - -#: venv0/lib/python3.7/site-packages/click/shell_completion.py:326 -msgid "Shell completion is not supported for Bash versions older than 4.4." -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/shell_completion.py:333 -msgid "Couldn't detect Bash version, shell completion is not supported." -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/termui.py:158 -msgid "Repeat for confirmation" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/termui.py:174 -msgid "Error: The value you entered was invalid." -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/termui.py:176 -#, python-brace-format -msgid "Error: {e.message}" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/termui.py:187 -msgid "Error: The two entered values do not match." -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/termui.py:243 -msgid "Error: invalid input" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/termui.py:773 -msgid "Press any key to continue..." -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/types.py:267 -#, python-brace-format -msgid "" -"Choose from:\n" -"\t{choices}" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/types.py:299 -msgid "{value!r} is not {choice}." -msgid_plural "{value!r} is not one of {choices}." -msgstr[0] "" -msgstr[1] "" - -#: venv0/lib/python3.7/site-packages/click/types.py:393 -msgid "{value!r} does not match the format {format}." -msgid_plural "{value!r} does not match the formats {formats}." -msgstr[0] "" -msgstr[1] "" - -#: venv0/lib/python3.7/site-packages/click/types.py:415 -msgid "{value!r} is not a valid {number_type}." -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/types.py:471 -#, python-brace-format -msgid "{value} is not in the range {range}." -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/types.py:612 -msgid "{value!r} is not a valid boolean." -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/types.py:636 -msgid "{value!r} is not a valid UUID." -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/types.py:826 -#: venv0/lib/python3.7/site-packages/wagtailvideos/models.py:86 -#: venv0/lib/python3.7/site-packages/wagtailvideos/models.py:356 -msgid "file" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/types.py:828 -msgid "directory" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/types.py:830 -msgid "path" -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/types.py:881 -msgid "{name} {filename!r} does not exist." -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/types.py:890 -msgid "{name} {filename!r} is a file." -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/types.py:898 -msgid "{name} {filename!r} is a directory." -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/types.py:907 -msgid "{name} {filename!r} is not readable." -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/types.py:916 -msgid "{name} {filename!r} is not writable." -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/types.py:925 -msgid "{name} {filename!r} is not executable." -msgstr "" - -#: venv0/lib/python3.7/site-packages/click/types.py:992 -#, python-brace-format -msgid "{len_type} values are required, but {len_value} was given." -msgid_plural "{len_type} values are required, but {len_value} were given." -msgstr[0] "" -msgstr[1] "" - -#: venv0/lib/python3.7/site-packages/django/contrib/messages/apps.py:7 -msgid "Messages" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/contrib/sitemaps/apps.py:7 -msgid "Site Maps" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/contrib/staticfiles/apps.py:9 -msgid "Static Files" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/contrib/syndication/apps.py:7 -msgid "Syndication" -msgstr "" +#~| msgid "positions" +#~ msgid "Options" +#~ msgstr "Positionen" -#: venv0/lib/python3.7/site-packages/django/core/paginator.py:48 -msgid "That page number is not an integer" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/core/paginator.py:50 -msgid "That page number is less than 1" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/core/paginator.py:55 -msgid "That page contains no results" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/core/validators.py:20 -msgid "Enter a valid value." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/core/validators.py:91 -#: venv0/lib/python3.7/site-packages/django/forms/fields.py:671 -msgid "Enter a valid URL." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/core/validators.py:145 -msgid "Enter a valid integer." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/core/validators.py:156 -msgid "Enter a valid email address." -msgstr "" - -#. Translators: "letters" means latin letters: a-z and A-Z. -#: venv0/lib/python3.7/site-packages/django/core/validators.py:230 -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/core/validators.py:237 -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/core/validators.py:246 -#: venv0/lib/python3.7/site-packages/django/core/validators.py:266 -msgid "Enter a valid IPv4 address." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/core/validators.py:251 -#: venv0/lib/python3.7/site-packages/django/core/validators.py:267 -msgid "Enter a valid IPv6 address." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/core/validators.py:261 -#: venv0/lib/python3.7/site-packages/django/core/validators.py:265 -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/core/validators.py:295 -msgid "Enter only digits separated by commas." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/core/validators.py:301 -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/core/validators.py:334 -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/core/validators.py:343 -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/core/validators.py:353 -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -#: venv0/lib/python3.7/site-packages/django/core/validators.py:368 -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -#: venv0/lib/python3.7/site-packages/django/core/validators.py:387 -#: venv0/lib/python3.7/site-packages/django/forms/fields.py:292 -#: venv0/lib/python3.7/site-packages/django/forms/fields.py:327 -msgid "Enter a number." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/core/validators.py:389 -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" +#~ msgid "New title" +#~ msgstr "Neuer Titel" -#: venv0/lib/python3.7/site-packages/django/core/validators.py:394 -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" - -#: venv0/lib/python3.7/site-packages/django/core/validators.py:399 -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" +#~ msgid "New slug" +#~ msgstr "Neues Kürzel" -#: venv0/lib/python3.7/site-packages/django/core/validators.py:461 -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" +#~ msgid "Copy subpages" +#~ msgstr "Kopiere Unterseiten" -#: venv0/lib/python3.7/site-packages/django/core/validators.py:513 -msgid "Null characters are not allowed." -msgstr "" +#~ msgid "Publish copies" +#~ msgstr "Publikationen" -#: venv0/lib/python3.7/site-packages/django/db/models/base.py:1190 -#: venv0/lib/python3.7/site-packages/django/forms/models.py:760 -msgid "and" -msgstr "" +#~ msgid "Copy this page" +#~ msgstr "Kopiere diese Seite" -#: venv0/lib/python3.7/site-packages/django/db/models/base.py:1192 -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" +#~ msgid "Update" +#~ msgstr "Aktualisieren" -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:100 -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" +#~ msgid "Delete image" +#~ msgstr "Lösche Bild" -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:101 -msgid "This field cannot be null." -msgstr "" +#~ msgid "Editing" +#~ msgstr "Editieren" -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:102 -msgid "This field cannot be blank." -msgstr "" +#~ msgid "Video preview" +#~ msgstr "Videovorschau" -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:103 -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "" +#~ msgid "File not found" +#~ msgstr "Datei nicht gefunden" -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:107 -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" +#~ msgid "Edit this page" +#~ msgstr "Diese Seite editieren" -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:126 -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:939 -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:940 -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:942 -msgid "Boolean (Either True or False)" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:983 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1047 -msgid "Comma-separated integers" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1096 -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1098 -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1241 -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1101 -msgid "Date (without time)" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1239 -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1243 -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1247 -msgid "Date (with time)" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1395 -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1397 -msgid "Decimal number" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1536 -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1539 -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/edit.html:91 -msgid "Duration" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1589 -msgid "Email address" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1612 -msgid "File path" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1678 -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1680 -msgid "Floating point number" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1718 -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1720 -msgid "Integer" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1803 -msgid "Big (8 byte) integer" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1819 -msgid "IPv4 address" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1850 -msgid "IP address" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1930 -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1931 -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1933 -msgid "Boolean (Either True, False or None)" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1976 -msgid "Positive big integer" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1989 -msgid "Positive integer" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:2002 -msgid "Positive small integer" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:2016 -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:2048 -msgid "Small integer" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:2083 -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:2085 -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:2088 -msgid "Time" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:2236 -msgid "Raw binary data" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:2301 -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/__init__.py:2303 -msgid "Universally unique identifier" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/files.py:231 -msgid "File" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/files.py:379 -msgid "Image" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/json.py:18 -msgid "A JSON object" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/json.py:20 -msgid "Value must be valid JSON." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/related.py:790 -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/related.py:792 -msgid "Foreign Key (type determined by related field)" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/related.py:1045 -msgid "One-to-one relationship" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/related.py:1099 -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/related.py:1100 -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/db/models/fields/related.py:1142 -msgid "Many-to-many relationship" -msgstr "" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the label -#: venv0/lib/python3.7/site-packages/django/forms/boundfield.py:150 -msgid ":?.!" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/fields.py:54 -msgid "This field is required." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/fields.py:247 -msgid "Enter a whole number." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/fields.py:398 -#: venv0/lib/python3.7/site-packages/django/forms/fields.py:1139 -msgid "Enter a valid date." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/fields.py:422 -#: venv0/lib/python3.7/site-packages/django/forms/fields.py:1140 -msgid "Enter a valid time." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/fields.py:450 -msgid "Enter a valid date/time." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/fields.py:484 -msgid "Enter a valid duration." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/fields.py:485 -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/fields.py:545 -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/fields.py:546 -msgid "No file was submitted." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/fields.py:547 -msgid "The submitted file is empty." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/fields.py:549 -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" - -#: venv0/lib/python3.7/site-packages/django/forms/fields.py:552 -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/fields.py:613 -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/fields.py:775 -#: venv0/lib/python3.7/site-packages/django/forms/fields.py:865 -#: venv0/lib/python3.7/site-packages/django/forms/models.py:1296 -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/fields.py:866 -#: venv0/lib/python3.7/site-packages/django/forms/fields.py:981 -#: venv0/lib/python3.7/site-packages/django/forms/models.py:1295 -msgid "Enter a list of values." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/fields.py:982 -msgid "Enter a complete value." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/fields.py:1198 -msgid "Enter a valid UUID." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/fields.py:1228 -msgid "Enter a valid JSON." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -#: venv0/lib/python3.7/site-packages/django/forms/forms.py:78 -msgid ":" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/forms.py:205 -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/formsets.py:93 -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/formsets.py:345 -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" - -#: venv0/lib/python3.7/site-packages/django/forms/formsets.py:352 -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -#: venv0/lib/python3.7/site-packages/django/forms/formsets.py:379 -#: venv0/lib/python3.7/site-packages/django/forms/formsets.py:386 -#: venv0/lib/python3.7/site-packages/wagtailorderable/modeladmin/mixins.py:82 -msgid "Order" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/formsets.py:391 -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/multiple/edit_form.html:14 -#: venv0/lib/python3.7/site-packages/wagtailvideos/views/videos.py:120 -msgid "Delete" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/models.py:755 -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/models.py:759 -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/models.py:765 -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/models.py:774 -msgid "Please correct the duplicate values below." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/models.py:1096 -msgid "The inline value did not match the parent instance." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/models.py:1180 -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/models.py:1298 -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/utils.py:167 -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/widgets.py:398 -msgid "Clear" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/widgets.py:399 -msgid "Currently" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/widgets.py:400 -msgid "Change" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/widgets.py:709 -msgid "Unknown" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/widgets.py:710 -msgid "Yes" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/forms/widgets.py:711 -msgid "No" -msgstr "" - -#. Translators: Please do not add spaces around commas. -#: venv0/lib/python3.7/site-packages/django/template/defaultfilters.py:790 -msgid "yes,no,maybe" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/template/defaultfilters.py:819 -#: venv0/lib/python3.7/site-packages/django/template/defaultfilters.py:836 -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "" -msgstr[1] "" - -#: venv0/lib/python3.7/site-packages/django/template/defaultfilters.py:838 -#, python-format -msgid "%s KB" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/template/defaultfilters.py:840 -#, python-format -msgid "%s MB" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/template/defaultfilters.py:842 -#, python-format -msgid "%s GB" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/template/defaultfilters.py:844 -#, python-format -msgid "%s TB" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/template/defaultfilters.py:846 -#, python-format -msgid "%s PB" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dateformat.py:65 -msgid "p.m." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dateformat.py:66 -msgid "a.m." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dateformat.py:71 -msgid "PM" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dateformat.py:72 -msgid "AM" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dateformat.py:149 -msgid "midnight" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dateformat.py:151 -msgid "noon" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:6 -msgid "Monday" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:6 -msgid "Tuesday" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:6 -msgid "Wednesday" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:6 -msgid "Thursday" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:6 -msgid "Friday" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:7 -msgid "Saturday" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:7 -msgid "Sunday" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:10 -msgid "Mon" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:10 -msgid "Tue" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:10 -msgid "Wed" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:10 -msgid "Thu" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:10 -msgid "Fri" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:11 -msgid "Sat" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:11 -msgid "Sun" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:14 -msgid "January" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:14 -msgid "February" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:14 -msgid "March" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:14 -msgid "April" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:14 -msgid "May" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:14 -msgid "June" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:15 -msgid "July" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:15 -msgid "August" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:15 -msgid "September" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:15 -msgid "October" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:15 -msgid "November" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:16 -msgid "December" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:19 -msgid "jan" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:19 -msgid "feb" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:19 -msgid "mar" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:19 -msgid "apr" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:19 -msgid "may" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:19 -msgid "jun" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:20 -msgid "jul" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:20 -msgid "aug" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:20 -msgid "sep" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:20 -msgid "oct" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:20 -msgid "nov" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:20 -msgid "dec" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:23 -msgctxt "abbrev. month" -msgid "Jan." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:24 -msgctxt "abbrev. month" -msgid "Feb." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:25 -msgctxt "abbrev. month" -msgid "March" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:26 -msgctxt "abbrev. month" -msgid "April" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:27 -msgctxt "abbrev. month" -msgid "May" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:28 -msgctxt "abbrev. month" -msgid "June" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:29 -msgctxt "abbrev. month" -msgid "July" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:30 -msgctxt "abbrev. month" -msgid "Aug." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:31 -msgctxt "abbrev. month" -msgid "Sept." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:32 -msgctxt "abbrev. month" -msgid "Oct." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:33 -msgctxt "abbrev. month" -msgid "Nov." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:34 -msgctxt "abbrev. month" -msgid "Dec." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:37 -msgctxt "alt. month" -msgid "January" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:38 -msgctxt "alt. month" -msgid "February" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:39 -msgctxt "alt. month" -msgid "March" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:40 -msgctxt "alt. month" -msgid "April" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:41 -msgctxt "alt. month" -msgid "May" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:42 -msgctxt "alt. month" -msgid "June" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:43 -msgctxt "alt. month" -msgid "July" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:44 -msgctxt "alt. month" -msgid "August" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:45 -msgctxt "alt. month" -msgid "September" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:46 -msgctxt "alt. month" -msgid "October" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:47 -msgctxt "alt. month" -msgid "November" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/dates.py:48 -msgctxt "alt. month" -msgid "December" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/ipv6.py:8 -msgid "This is not a valid IPv6 address." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/text.py:70 -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/text.py:236 -msgid "or" -msgstr "" - -#. Translators: This string is used as a separator between list elements -#: venv0/lib/python3.7/site-packages/django/utils/text.py:255 -#: venv0/lib/python3.7/site-packages/django/utils/timesince.py:83 -msgid ", " -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/utils/timesince.py:9 -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "" -msgstr[1] "" - -#: venv0/lib/python3.7/site-packages/django/utils/timesince.py:10 -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "" -msgstr[1] "" - -#: venv0/lib/python3.7/site-packages/django/utils/timesince.py:11 -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "" -msgstr[1] "" - -#: venv0/lib/python3.7/site-packages/django/utils/timesince.py:12 -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "" -msgstr[1] "" - -#: venv0/lib/python3.7/site-packages/django/utils/timesince.py:13 -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "" -msgstr[1] "" - -#: venv0/lib/python3.7/site-packages/django/utils/timesince.py:14 -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "" -msgstr[1] "" - -#: venv0/lib/python3.7/site-packages/django/views/csrf.py:110 -msgid "Forbidden" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/csrf.py:111 -msgid "CSRF verification failed. Request aborted." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/csrf.py:115 -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/csrf.py:120 -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/csrf.py:124 -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/csrf.py:132 -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/csrf.py:137 -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/csrf.py:142 -msgid "More information is available with DEBUG=True." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/generic/dates.py:41 -msgid "No year specified" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/generic/dates.py:61 -#: venv0/lib/python3.7/site-packages/django/views/generic/dates.py:111 -#: venv0/lib/python3.7/site-packages/django/views/generic/dates.py:208 -msgid "Date out of range" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/generic/dates.py:90 -msgid "No month specified" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/generic/dates.py:142 -msgid "No day specified" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/generic/dates.py:188 -msgid "No week specified" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/generic/dates.py:338 -#: venv0/lib/python3.7/site-packages/django/views/generic/dates.py:367 -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/generic/dates.py:589 -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/generic/dates.py:623 -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/generic/detail.py:54 -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/generic/list.py:67 -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/generic/list.py:72 -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/generic/list.py:154 -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/static.py:40 -msgid "Directory indexes are not allowed here." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/static.py:42 -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/static.py:80 -#, python-format -msgid "Index of %(directory)s" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/templates/default_urlconf.html:7 -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/templates/default_urlconf.html:346 -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/templates/default_urlconf.html:368 -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/templates/default_urlconf.html:369 -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/templates/default_urlconf.html:384 -msgid "Django Documentation" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/templates/default_urlconf.html:385 -msgid "Topics, references, & how-to’s" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/templates/default_urlconf.html:396 -msgid "Tutorial: A Polling App" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/templates/default_urlconf.html:397 -msgid "Get started with Django" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/templates/default_urlconf.html:408 -msgid "Django Community" -msgstr "" - -#: venv0/lib/python3.7/site-packages/django/views/templates/default_urlconf.html:409 -msgid "Connect, get help, or contribute" -msgstr "" - -#: venv0/lib/python3.7/site-packages/isort/main.py:159 -msgid "show this help message and exit" -msgstr "" - -#: venv0/lib/python3.7/site-packages/modeltranslation/widgets.py:25 -msgid "None" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail/api/v2/apps.py:10 -msgid "Wagtail API v2" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail/contrib/frontend_cache/apps.py:10 -msgid "Wagtail frontend cache" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail/contrib/postgres_search/models.py:61 -msgid "index entry" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail/contrib/postgres_search/models.py:62 -msgid "index entries" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail/contrib/routable_page/apps.py:8 -msgid "Wagtail routablepage" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail/contrib/sitemaps/apps.py:8 -msgid "Wagtail sitemaps" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail/tests/modeladmintest/apps.py:8 -msgid "Test Wagtail Model Admin" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail/tests/routablepage/apps.py:8 -msgid "Wagtail routable page tests" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail/tests/search/apps.py:8 -msgid "Wagtail search tests" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail/tests/settings.py:240 -msgid "French" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail/tests/snippets/apps.py:8 -msgid "Wagtail snippets tests" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail/tests/testapp/apps.py:8 -msgid "Wagtail tests" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail/tests/testapp/templates/tests/form_page_with_custom_submission.html:18 -msgid "The form is already filled." -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail/tests/testapp/templates/tests/form_page_with_custom_submission.html:21 -msgid "You must log in first." -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail_modeltranslation/patch_wagtailadmin.py:357 -#: venv0/lib/python3.7/site-packages/wagtail_modeltranslation/patch_wagtailadmin_forms.py:164 -msgid "This slug is already in use" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail_modeltranslation/patch_wagtailadmin_forms.py:44 -msgid "New title" -msgstr "Neuer Titel" - -#: venv0/lib/python3.7/site-packages/wagtail_modeltranslation/patch_wagtailadmin_forms.py:50 -#: venv0/lib/python3.7/site-packages/wagtail_modeltranslation/patch_wagtailadmin_forms.py:53 -msgid "New slug" -msgstr "Neues Kürzel" - -#: venv0/lib/python3.7/site-packages/wagtail_modeltranslation/patch_wagtailadmin_forms.py:59 -msgid "New parent page" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail_modeltranslation/patch_wagtailadmin_forms.py:60 -msgid "This copy will be a child of this given parent page." -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail_modeltranslation/patch_wagtailadmin_forms.py:66 -msgid "Copy subpages" -msgstr "Kopiere Unterseiten" - -#: venv0/lib/python3.7/site-packages/wagtail_modeltranslation/patch_wagtailadmin_forms.py:68 -#, python-format -msgid "This will copy %(count)s subpage." -msgid_plural "This will copy %(count)s subpages." -msgstr[0] "" -msgstr[1] "" - -#: venv0/lib/python3.7/site-packages/wagtail_modeltranslation/patch_wagtailadmin_forms.py:77 -msgid "Publish copied page" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail_modeltranslation/patch_wagtailadmin_forms.py:78 -msgid "This page is live. Would you like to publish its copy as well?" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail_modeltranslation/patch_wagtailadmin_forms.py:80 -msgid "Publish copies" -msgstr "Publikationen" - -#: venv0/lib/python3.7/site-packages/wagtail_modeltranslation/patch_wagtailadmin_forms.py:82 -#, python-format -msgid "" -"%(count)s of the pages being copied is live. Would you like to publish its " -"copy?" -msgid_plural "" -"%(count)s of the pages being copied are live. Would you like to publish " -"their copies?" -msgstr[0] "" -msgstr[1] "" - -#: venv0/lib/python3.7/site-packages/wagtail_modeltranslation/patch_wagtailadmin_forms.py:103 -#, python-format -msgid "You do not have permission to copy to page \"%(page_title)s\"" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail_modeltranslation/patch_wagtailadmin_forms.py:120 -#, python-format -msgid "" -"This slug is already in use within the context of its parent page \"%s\"" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail_modeltranslation/patch_wagtailadmin_forms.py:130 -msgid "You cannot copy a page into itself when copying subpages" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail_modeltranslation/templates/modeltranslation_copy.html:3 -#, python-format -msgid "Copy %(title)s" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail_modeltranslation/templates/modeltranslation_copy.html:5 -msgid "Copy" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail_modeltranslation/templates/modeltranslation_copy.html:19 -msgid "Copy this page" -msgstr "Kopiere diese Seite" - -#: venv0/lib/python3.7/site-packages/wagtail_modeltranslation/wagtail_hooks.py:77 -msgid "View / edit fields for" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail_modeltranslation/wagtail_hooks.py:275 -#, python-brace-format -msgid "Page '{0}' and {1} subpages copied." -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtail_modeltranslation/wagtail_hooks.py:279 -#, python-brace-format -msgid "Page '{0}' copied." -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/fields.py:19 -#, python-format -msgid "Maximum filesize: %(max_upload_size)s." -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/fields.py:26 -#, python-format -msgid "Not a valid video. Content type was %s." -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/fields.py:30 -#, python-format -msgid "This file is too big (%%s). Maximum filesize %s." -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/fields.py:34 -#, python-format -msgid "This file is too big. Maximum filesize %s." -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/forms.py:79 -msgid "Add" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/forms.py:79 -msgid "Add/edit images you own" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/forms.py:80 -msgid "Edit any video" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/models.py:88 -msgid "created at" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/models.py:91 -msgid "uploaded by user" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/models.py:95 -msgid "tags" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/chooser/chooser.html:2 -#: venv0/lib/python3.7/site-packages/wagtailvideos/widgets.py:11 -msgid "Choose a video" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/chooser/chooser.html:8 -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/chooser/chooser.html:49 -msgid "Upload" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/chooser/chooser.html:24 -msgid "Popular tags" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/chooser/chooser.html:49 -msgid "Uploading..." -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/chooser/results.html:6 -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/results.html:6 -#, python-format -msgid "" -"\n" -" There is one match\n" -" " -msgid_plural "" -"\n" -" There are %(counter)s matches\n" -" " -msgstr[0] "" -msgstr[1] "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/chooser/results.html:13 -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/results.html:15 -msgid "Latest videos" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/multiple/add.html:3 -msgid "Add multiple videos" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/multiple/add.html:11 -msgid "Add videos" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/multiple/add.html:16 -msgid "Drag and drop videos into this area to upload immediately." -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/multiple/add.html:21 -msgid "Or choose from your computer" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/multiple/add.html:27 -msgid "Add to collection:" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/multiple/add.html:57 -msgid "" -"Upload successful. Please update this video with a more appropriate title, " -"if necessary. You may also delete the video completely if the upload wasn't " -"required." -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/multiple/add.html:58 -msgid "Sorry, upload failed." -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/multiple/add.html:59 -msgid "Video updated." -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/multiple/edit_form.html:13 -msgid "Update" -msgstr "Aktualisieren" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/permissions/includes/video_permissions_formset.html:4 -msgid "Video permissions" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/permissions/includes/video_permissions_formset.html:5 -msgid "Add an video permission" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/_file_field.html:6 -msgid "Change video file:" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/add.html:3 -msgid "Add an image" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/add.html:19 -msgid "Add video" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/add.html:33 -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/edit.html:40 -msgid "Save" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/confirm_delete.html:4 -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/confirm_delete.html:7 -msgid "Delete image" -msgstr "Lösche Bild" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/confirm_delete.html:15 -msgid "Are you sure you want to delete this video?" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/confirm_delete.html:18 -msgid "Yes, delete" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/edit.html:5 -#, python-format -msgid "Editing video %(title)s" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/edit.html:20 -msgid "Editing" -msgstr "Editieren" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/edit.html:41 -msgid "Delete video" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/edit.html:47 -msgid "Video preview" -msgstr "Videovorschau" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/edit.html:85 -msgid "Thumbnail" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/edit.html:88 -msgid "Filesize" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/edit.html:89 -msgid "File not found" -msgstr "Datei nicht gefunden" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/edit.html:95 -msgid "Usage" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/edit.html:97 -#, python-format -msgid "Used %(usage_count)s time" -msgid_plural "Used %(usage_count)s times" -msgstr[0] "" -msgstr[1] "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/index.html:4 -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/index.html:23 -#: venv0/lib/python3.7/site-packages/wagtailvideos/wagtail_hooks.py:39 -msgid "Videos" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/index.html:25 -msgid "Add a video" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/results.html:37 -#, python-format -msgid "Sorry, no videos match \"%(query_string)s\"" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/results.html:43 -#, python-format -msgid "" -"You've not uploaded any videos in this collection. Why not add one now?" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/results.html:45 -#, python-format -msgid "" -"You've not uploaded any videos. Why not add one now?" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/usage.html:3 -#, python-format -msgid "Usage of %(title)s" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/usage.html:5 -msgid "Usage of" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/usage.html:17 -msgid "Parent" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/usage.html:18 -msgid "Type" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/templates/wagtailvideos/videos/usage.html:26 -msgid "Edit this page" -msgstr "Diese Seite editieren" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/views/videos.py:39 -#: venv0/lib/python3.7/site-packages/wagtailvideos/views/videos.py:45 -msgid "Search videos" -msgstr "Videos durchsuchen" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/views/videos.py:106 -#, python-brace-format -msgid "Video '{0}' updated." -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/views/videos.py:107 -msgid "Edit again" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/views/videos.py:111 -msgid "The video could not be saved due to errors." -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/views/videos.py:118 -msgid "" -"The source video file could not be found. Please change the source or delete " -"the video." -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/views/videos.py:151 -#, python-brace-format -msgid "Video '{0}' deleted." -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/views/videos.py:176 -#, python-brace-format -msgid "Video '{0}' added." -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/views/videos.py:181 -msgid "The video could not be created due to errors." -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/widgets.py:12 -msgid "Choose another video" -msgstr "" - -#: venv0/lib/python3.7/site-packages/wagtailvideos/widgets.py:13 -msgid "Edit this video" -msgstr "" +#~ msgid "Search videos" +#~ msgstr "Videos durchsuchen" #~ msgid "group" #~ msgstr "Gruppe" From 8c22815f3887c77dfeb110cf53a2c340902a3e7e Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sun, 17 May 2026 22:52:06 +0200 Subject: [PATCH 46/47] users: Remove obsolete index.html template override Wagtail renamed results.html to index_results.html and moved the header rendering into the generic index view, making the local override redundant. --- mpicms/templates/wagtailusers/users/index.html | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 mpicms/templates/wagtailusers/users/index.html diff --git a/mpicms/templates/wagtailusers/users/index.html b/mpicms/templates/wagtailusers/users/index.html deleted file mode 100644 index 1d26eec..0000000 --- a/mpicms/templates/wagtailusers/users/index.html +++ /dev/null @@ -1,13 +0,0 @@ -{% extends "wagtailusers/users/index.html" %} -{% load i18n %} - -{% block content %} - {% trans "Users" as users_str %} - {% include "wagtailadmin/shared/header.html" with title=users_str icon="user" search_url="wagtailusers_users:index" %} - -
-
- {% include "wagtailusers/users/results.html" %} -
-
-{% endblock %} From 8dcc43d2958948cc67a76afe166990566e4a17e3 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sun, 17 May 2026 22:54:11 +0200 Subject: [PATCH 47/47] users: Remove dead code --- mpicms/templates/wagtailusers/users/list.html | 53 ------------------- 1 file changed, 53 deletions(-) delete mode 100644 mpicms/templates/wagtailusers/users/list.html diff --git a/mpicms/templates/wagtailusers/users/list.html b/mpicms/templates/wagtailusers/users/list.html deleted file mode 100644 index 64b17fd..0000000 --- a/mpicms/templates/wagtailusers/users/list.html +++ /dev/null @@ -1,53 +0,0 @@ -{% load i18n users_tags wagtailadmin_tags %} - - - - - - - - - - - - - {% for user in users %} - - - - - - - - - {% endfor %} - -
- {% if ordering == "name" %} - - {% trans "Name" %} - - {% else %} - - {% trans "Name" %} - - {% endif %} - - {% if ordering == "username" %} - - {% trans "Username" %} - - {% else %} - - {% trans "Username" %} - - {% endif %} - {% trans "Level" %}{% trans "Groups" %}{% trans "Status" %}
- -
    - {% user_listing_buttons user %} -
-
{{ user.get_username }}{% if user.is_superuser %}{% trans "Admin" %}{% endif %}{{ user.groups.all | join:"," }}
{% if user.is_active %}{% trans "Active" %}{% else %}{% trans "Inactive" %}{% endif %}
{% if user.last_login %}{% blocktrans with time_period=user.last_login|timesince %}{{ time_period }} ago{% endblocktrans %}{% endif %}