Browse Source

Support Wagtail 2.8 and Django 3.0 (#291)

JorneVL 5 years ago
parent
commit
e08c628e63

+ 1 - 1
coderedcms/blocks/__init__.py

@@ -4,7 +4,7 @@ individual files based on purpose, but provide them all as a
 single `blocks` module.
 single `blocks` module.
 """
 """
 
 
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
 
 
 from wagtail.core import blocks
 from wagtail.core import blocks
 
 

+ 3 - 3
coderedcms/blocks/base_blocks.py

@@ -4,10 +4,10 @@ Bases, mixins, and utilites for blocks.
 
 
 from django import forms
 from django import forms
 from django.template.loader import render_to_string
 from django.template.loader import render_to_string
-from django.utils.encoding import force_text
+from django.utils.encoding import force_str
 from django.utils.functional import cached_property
 from django.utils.functional import cached_property
 from django.utils.safestring import mark_safe
 from django.utils.safestring import mark_safe
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
 from wagtail.core import blocks
 from wagtail.core import blocks
 from wagtail.core.models import Collection
 from wagtail.core.models import Collection
 from wagtail.core.utils import resolve_model_string
 from wagtail.core.utils import resolve_model_string
@@ -32,7 +32,7 @@ class MultiSelectBlock(blocks.FieldBlock):
         super().__init__(**kwargs)
         super().__init__(**kwargs)
 
 
     def get_searchable_content(self, value):
     def get_searchable_content(self, value):
-        return [force_text(value)]
+        return [force_str(value)]
 
 
 
 
 class ClassifierTermChooserBlock(blocks.FieldBlock):
 class ClassifierTermChooserBlock(blocks.FieldBlock):

+ 1 - 1
coderedcms/blocks/content_blocks.py

@@ -2,7 +2,7 @@
 Content blocks are for building complex, nested HTML structures that usually
 Content blocks are for building complex, nested HTML structures that usually
 contain sub-blocks, and may require javascript to function properly.
 contain sub-blocks, and may require javascript to function properly.
 """
 """
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
 from wagtail.core import blocks
 from wagtail.core import blocks
 from wagtail.documents.blocks import DocumentChooserBlock
 from wagtail.documents.blocks import DocumentChooserBlock
 from wagtail.images.blocks import ImageChooserBlock
 from wagtail.images.blocks import ImageChooserBlock

+ 1 - 1
coderedcms/blocks/html_blocks.py

@@ -7,7 +7,7 @@ They must be safe to nest within more robust "content blocks" without
 creating recursion.
 creating recursion.
 """
 """
 import logging
 import logging
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
 from wagtail.contrib.table_block.blocks import TableBlock as WagtailTableBlock
 from wagtail.contrib.table_block.blocks import TableBlock as WagtailTableBlock
 from wagtail.core import blocks
 from wagtail.core import blocks
 from wagtail.documents.blocks import DocumentChooserBlock
 from wagtail.documents.blocks import DocumentChooserBlock

+ 1 - 1
coderedcms/blocks/layout_blocks.py

@@ -3,7 +3,7 @@ Layout blocks are essentially a wrapper around content.
 e.g. rows, columns, hero units, etc.
 e.g. rows, columns, hero units, etc.
 """
 """
 
 
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
 from wagtail.core import blocks
 from wagtail.core import blocks
 from wagtail.images.blocks import ImageChooserBlock
 from wagtail.images.blocks import ImageChooserBlock
 
 

+ 1 - 1
coderedcms/blocks/metadata_blocks.py

@@ -4,7 +4,7 @@ JSON and meta-data blocks, primarily used for SEO purposes.
 
 
 import json
 import json
 from django import forms
 from django import forms
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
 from wagtail.core import blocks
 from wagtail.core import blocks
 
 
 from coderedcms import schema
 from coderedcms import schema

+ 1 - 1
coderedcms/blocks/stream_form_blocks.py

@@ -1,4 +1,4 @@
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
 from wagtail.core import blocks
 from wagtail.core import blocks
 
 
 from coderedcms.wagtail_flexible_forms import blocks as form_blocks
 from coderedcms.wagtail_flexible_forms import blocks as form_blocks

+ 1 - 1
coderedcms/forms.py

@@ -8,7 +8,7 @@ from django import forms
 from django.core.exceptions import ValidationError
 from django.core.exceptions import ValidationError
 from django.db import models
 from django.db import models
 from django.http import HttpResponse
 from django.http import HttpResponse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
 from wagtail.contrib.forms.views import SubmissionsListView as WagtailSubmissionsListView
 from wagtail.contrib.forms.views import SubmissionsListView as WagtailSubmissionsListView
 from wagtail.contrib.forms.forms import FormBuilder
 from wagtail.contrib.forms.forms import FormBuilder
 from wagtail.contrib.forms.models import AbstractFormField
 from wagtail.contrib.forms.models import AbstractFormField

+ 1 - 1
coderedcms/models/integration_models.py

@@ -2,7 +2,7 @@ from django.db import models
 from django.forms.widgets import Input
 from django.forms.widgets import Input
 from django.template import Context, Template
 from django.template import Context, Template
 from django.template.loader import render_to_string
 from django.template.loader import render_to_string
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
 
 
 from wagtail.admin.edit_handlers import FieldPanel
 from wagtail.admin.edit_handlers import FieldPanel
 from wagtail.core import hooks
 from wagtail.core import hooks

+ 1 - 1
coderedcms/models/page_models.py

@@ -25,7 +25,7 @@ from django.template.loader import render_to_string
 from django.utils import timezone
 from django.utils import timezone
 from django.utils.html import strip_tags
 from django.utils.html import strip_tags
 from django.utils.safestring import mark_safe
 from django.utils.safestring import mark_safe
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
 from eventtools.models import BaseEvent, BaseOccurrence
 from eventtools.models import BaseEvent, BaseOccurrence
 from icalendar import Event as ICalEvent
 from icalendar import Event as ICalEvent
 from modelcluster.fields import ParentalKey, ParentalManyToManyField
 from modelcluster.fields import ParentalKey, ParentalManyToManyField

+ 1 - 1
coderedcms/models/snippet_models.py

@@ -4,7 +4,7 @@ Snippets are for content that is re-usable in nature.
 
 
 from django.db import models
 from django.db import models
 from django.utils.text import slugify
 from django.utils.text import slugify
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
 from modelcluster.fields import ParentalKey
 from modelcluster.fields import ParentalKey
 from modelcluster.models import ClusterableModel
 from modelcluster.models import ClusterableModel
 from wagtail.admin.edit_handlers import (
 from wagtail.admin.edit_handlers import (

+ 1 - 1
coderedcms/models/wagtailsettings_models.py

@@ -6,7 +6,7 @@ Global project or developer settings should be defined in coderedcms.settings.py
 
 
 import json
 import json
 from django.db import models
 from django.db import models
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
 from wagtail.admin.edit_handlers import HelpPanel, FieldPanel, MultiFieldPanel
 from wagtail.admin.edit_handlers import HelpPanel, FieldPanel, MultiFieldPanel
 from wagtail.images.edit_handlers import ImageChooserPanel
 from wagtail.images.edit_handlers import ImageChooserPanel
 from wagtail.contrib.settings.models import BaseSetting, register_setting
 from wagtail.contrib.settings.models import BaseSetting, register_setting

+ 1 - 1
coderedcms/settings.py

@@ -1,6 +1,6 @@
 import os
 import os
 from django.conf import settings
 from django.conf import settings
-from django.utils.lru_cache import lru_cache
+from functools import lru_cache
 
 
 
 
 PROJECT_DIR = settings.PROJECT_DIR if getattr(settings, 'PROJECT_DIR') else os.path.dirname(
 PROJECT_DIR = settings.PROJECT_DIR if getattr(settings, 'PROJECT_DIR') else os.path.dirname(

+ 1 - 1
coderedcms/views.py

@@ -7,7 +7,7 @@ from django.contrib.auth.decorators import login_required
 from django.contrib.contenttypes.models import ContentType
 from django.contrib.contenttypes.models import ContentType
 from django.core.paginator import Paginator, InvalidPage, EmptyPage, PageNotAnInteger
 from django.core.paginator import Paginator, InvalidPage, EmptyPage, PageNotAnInteger
 from django.shortcuts import redirect, render
 from django.shortcuts import redirect, render
-from django.utils.translation import ungettext, ugettext_lazy as _
+from django.utils.translation import ungettext, gettext_lazy as _
 from icalendar import Calendar
 from icalendar import Calendar
 from wagtail.admin import messages
 from wagtail.admin import messages
 from wagtail.search.backends import db, get_search_backend
 from wagtail.search.backends import db, get_search_backend

+ 2 - 3
coderedcms/wagtail_flexible_forms/blocks.py

@@ -1,9 +1,8 @@
 from django import forms
 from django import forms
 from django.db.models import BLANK_CHOICE_DASH
 from django.db.models import BLANK_CHOICE_DASH
 from django.utils.dateparse import parse_datetime
 from django.utils.dateparse import parse_datetime
-from django.utils.encoding import force_text
 from django.utils.text import slugify
 from django.utils.text import slugify
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
 from unidecode import unidecode
 from unidecode import unidecode
 from wagtail.core.blocks import (
 from wagtail.core.blocks import (
     StructBlock, TextBlock, CharBlock, BooleanBlock, ListBlock, StreamBlock,
     StructBlock, TextBlock, CharBlock, BooleanBlock, ListBlock, StreamBlock,
@@ -19,7 +18,7 @@ class FormFieldBlock(StructBlock):
     widget = None
     widget = None
 
 
     def get_slug(self, struct_value):
     def get_slug(self, struct_value):
-        return force_text(slugify(unidecode(struct_value['field_label'])))
+        return slugify(unidecode(struct_value['field_label']))
 
 
     def get_field_class(self, struct_value):
     def get_field_class(self, struct_value):
         return self.field_class
         return self.field_class

+ 1 - 1
coderedcms/wagtail_flexible_forms/edit_handlers.py

@@ -1,6 +1,6 @@
 from django.template.loader import render_to_string
 from django.template.loader import render_to_string
 from django.utils.safestring import mark_safe
 from django.utils.safestring import mark_safe
-from django.utils.translation import ugettext as _
+from django.utils.translation import gettext as _
 
 
 from wagtail.admin.edit_handlers import EditHandler
 from wagtail.admin.edit_handlers import EditHandler
 
 

+ 1 - 1
coderedcms/wagtail_flexible_forms/models.py

@@ -26,7 +26,7 @@ from django.http import HttpResponseRedirect
 from django.template.response import TemplateResponse
 from django.template.response import TemplateResponse
 from django.utils.safestring import SafeData, mark_safe
 from django.utils.safestring import SafeData, mark_safe
 from django.utils.timezone import now
 from django.utils.timezone import now
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
 from wagtail.core.models import Page
 from wagtail.core.models import Page
 from wagtail.contrib.forms.models import (
 from wagtail.contrib.forms.models import (
     AbstractForm, AbstractEmailForm, AbstractFormSubmission)
     AbstractForm, AbstractEmailForm, AbstractFormSubmission)

+ 1 - 1
coderedcms/wagtail_flexible_forms/wagtail_hooks.py

@@ -3,7 +3,7 @@ from django.contrib.admin import SimpleListFilter
 from django.contrib.admin.utils import quote
 from django.contrib.admin.utils import quote
 from django.shortcuts import redirect
 from django.shortcuts import redirect
 from django.urls import reverse
 from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
 from wagtail.contrib.modeladmin.helpers import (
 from wagtail.contrib.modeladmin.helpers import (
     PermissionHelper, PagePermissionHelper, PageAdminURLHelper, AdminURLHelper,
     PermissionHelper, PagePermissionHelper, PageAdminURLHelper, AdminURLHelper,
     ButtonHelper)
     ButtonHelper)

+ 2 - 2
coderedcms/wagtail_hooks.py

@@ -1,11 +1,11 @@
 import mimetypes
 import mimetypes
 
 
 from django.contrib.contenttypes.models import ContentType
 from django.contrib.contenttypes.models import ContentType
-from django.contrib.staticfiles.templatetags.staticfiles import static
+from django.templatetags.static import static
 from django.http.response import HttpResponse
 from django.http.response import HttpResponse
 from django.urls import reverse
 from django.urls import reverse
 from django.utils.html import format_html, mark_safe
 from django.utils.html import format_html, mark_safe
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
 from wagtail.core import hooks
 from wagtail.core import hooks
 from wagtail.core.models import UserPagePermissionsProxy, get_page_models
 from wagtail.core.models import UserPagePermissionsProxy, get_page_models
 from wagtailcache.cache import clear_cache
 from wagtailcache.cache import clear_cache

+ 5 - 5
setup.py

@@ -33,9 +33,9 @@ setup(
         'Programming Language :: Python :: 3.8',
         'Programming Language :: Python :: 3.8',
         'Programming Language :: Python :: 3 :: Only',
         'Programming Language :: Python :: 3 :: Only',
         'Framework :: Django',
         'Framework :: Django',
-        'Framework :: Django :: 2.0',
         'Framework :: Django :: 2.1',
         'Framework :: Django :: 2.1',
         'Framework :: Django :: 2.2',
         'Framework :: Django :: 2.2',
+        'Framework :: Django :: 3.0',
         'Framework :: Wagtail',
         'Framework :: Wagtail',
         'Framework :: Wagtail :: 2',
         'Framework :: Wagtail :: 2',
         'Topic :: Internet :: WWW/HTTP',
         'Topic :: Internet :: WWW/HTTP',
@@ -44,14 +44,14 @@ setup(
     ],
     ],
     install_requires=[
     install_requires=[
         'beautifulsoup4>=4.5.1,<4.6.1',  # should be the same as wagtail
         'beautifulsoup4>=4.5.1,<4.6.1',  # should be the same as wagtail
-        'django-eventtools==0.9.*',
+        'django-eventtools==1.0.*',
         'django-bootstrap4',
         'django-bootstrap4',
-        'Django>=2.0,<2.3',              # should be the same as wagtail
+        'Django>2.1,<3.1',              # should be the same as wagtail
         'geocoder>=1.38.1,<2.0',
         'geocoder>=1.38.1,<2.0',
         'icalendar==4.0.*',
         'icalendar==4.0.*',
-        'wagtail==2.7.*',
+        'wagtail==2.8.*',
         'wagtailfontawesome>=1.1.4,<2.0',
         'wagtailfontawesome>=1.1.4,<2.0',
-        'wagtail-cache==0.5.*',
+        'wagtail-cache==1.*',
         'wagtail-import-export>=0.2,<0.3'
         'wagtail-import-export>=0.2,<0.3'
     ],
     ],
     extras_require={
     extras_require={