From a951d7a319088dcbb0e7e939d3fed9ec3991a454 Mon Sep 17 00:00:00 2001 From: bkfox Date: Sat, 11 May 2019 15:15:57 +0200 Subject: [PATCH] update dependencies --- aircox/middleware.py | 2 +- aircox/urls.py | 9 +++--- aircox_cms/models/__init__.py | 18 +++++++----- aircox_cms/models/lists.py | 8 +++--- aircox_cms/models/sections.py | 19 ++++++++----- aircox_cms/signals.py | 2 +- aircox_cms/template.py | 2 +- aircox_cms/utils.py | 6 ++-- aircox_cms/views/components.py | 2 +- aircox_cms/wagtail_hooks.py | 14 ++++----- instance/sample_settings.py | 26 ++++++++--------- instance/urls.py | 52 ++++++++++++++++++---------------- requirements.txt | 9 ++---- 13 files changed, 90 insertions(+), 79 deletions(-) diff --git a/aircox/middleware.py b/aircox/middleware.py index 4dd4bb0..f2c3675 100644 --- a/aircox/middleware.py +++ b/aircox/middleware.py @@ -79,7 +79,7 @@ class AircoxMiddleware(object): tz.activate(pytz.timezone('Europe/Brussels')) aircox = AircoxInfo() - if request.user.is_authenticated(): + if request.user.is_authenticated: self.init_station(request, aircox) self.init_timezone(request, aircox) diff --git a/aircox/urls.py b/aircox/urls.py index dad9b18..3bc046b 100755 --- a/aircox/urls.py +++ b/aircox/urls.py @@ -1,9 +1,10 @@ -from django.conf.urls import include, url +from django.urls import path + import aircox.views as views urls = [ - url(r'^on_air', views.on_air, name='aircox.on_air'), - url(r'^monitor', views.Monitor.as_view(), name='aircox.monitor'), - url(r'^stats', views.StatisticsView.as_view(), name='aircox.stats'), + path('on_air', views.on_air, name='aircox.on_air'), + path('monitor', views.Monitor.as_view(), name='aircox.monitor'), + path('stats', views.StatisticsView.as_view(), name='aircox.stats'), ] diff --git a/aircox_cms/models/__init__.py b/aircox_cms/models/__init__.py index be2297a..2159219 100755 --- a/aircox_cms/models/__init__.py +++ b/aircox_cms/models/__init__.py @@ -8,16 +8,16 @@ from django.utils.translation import ugettext as _, ugettext_lazy # pages and panels from wagtail.contrib.settings.models import BaseSetting, register_setting -from wagtail.wagtailcore.models import Page, Orderable, \ +from wagtail.core.models import Page, Orderable, \ PageManager, PageQuerySet -from wagtail.wagtailcore.fields import RichTextField -from wagtail.wagtailimages.edit_handlers import ImageChooserPanel -from wagtail.wagtailadmin.edit_handlers import FieldPanel, FieldRowPanel, \ +from wagtail.core.fields import RichTextField +from wagtail.images.edit_handlers import ImageChooserPanel +from wagtail.admin.edit_handlers import FieldPanel, FieldRowPanel, \ MultiFieldPanel, InlinePanel, PageChooserPanel, StreamFieldPanel -from wagtail.wagtailsearch import index +from wagtail.search import index # snippets -from wagtail.wagtailsnippets.models import register_snippet +from wagtail.snippets.models import register_snippet # tags from modelcluster.fields import ParentalKey @@ -40,6 +40,7 @@ from aircox_cms.utils import image_url class WebsiteSettings(BaseSetting): station = models.OneToOneField( aircox.models.Station, + models.SET_NULL, verbose_name = _('aircox station'), related_name = 'website_settings', unique = True, @@ -70,6 +71,7 @@ class WebsiteSettings(BaseSetting): ) list_page = models.ForeignKey( 'aircox_cms.DynamicListPage', + on_delete=models.CASCADE, verbose_name = _('page for lists'), help_text=_('page used to display the results of a search and other ' 'lists'), @@ -121,6 +123,7 @@ class WebsiteSettings(BaseSetting): # done manually, when the user edit it. ) ) + default_programs_page = ParentalKey( Page, verbose_name = _('default programs page'), @@ -133,7 +136,7 @@ class WebsiteSettings(BaseSetting): # /doc/ (technicians, admin): if the page has not been created, # it still can be created using the `programs_to_cms` command. ), - limit_choices_to = lambda: { + limit_choices_to = { 'show_in_menus': True, 'publication__isnull': False, }, @@ -167,6 +170,7 @@ class WebsiteSettings(BaseSetting): class Comment(models.Model): publication = models.ForeignKey( Page, + on_delete=models.CASCADE, verbose_name = _('page') ) published = models.BooleanField( diff --git a/aircox_cms/models/lists.py b/aircox_cms/models/lists.py index 87d2f75..4bea799 100644 --- a/aircox_cms/models/lists.py +++ b/aircox_cms/models/lists.py @@ -16,10 +16,10 @@ from django.utils.translation import ugettext as _, ugettext_lazy from django.utils import timezone as tz from django.utils.functional import cached_property -from wagtail.wagtailadmin.edit_handlers import * -from wagtail.wagtailcore.models import Page, Orderable -from wagtail.wagtailimages.models import Image -from wagtail.wagtailimages.edit_handlers import ImageChooserPanel +from wagtail.admin.edit_handlers import * +from wagtail.core.models import Page, Orderable +from wagtail.images.models import Image +from wagtail.images.edit_handlers import ImageChooserPanel from aircox_cms.utils import related_pages_filter diff --git a/aircox_cms/models/sections.py b/aircox_cms/models/sections.py index 4a4c143..c5d8b4c 100644 --- a/aircox_cms/models/sections.py +++ b/aircox_cms/models/sections.py @@ -10,11 +10,11 @@ from django.urls import reverse from modelcluster.models import ClusterableModel from modelcluster.fields import ParentalKey -from wagtail.wagtailadmin.edit_handlers import * -from wagtail.wagtailimages.edit_handlers import ImageChooserPanel -from wagtail.wagtailcore.models import Page -from wagtail.wagtailcore.fields import RichTextField -from wagtail.wagtailsnippets.models import register_snippet +from wagtail.admin.edit_handlers import * +from wagtail.images.edit_handlers import ImageChooserPanel +from wagtail.core.models import Page +from wagtail.core.fields import RichTextField +from wagtail.snippets.models import register_snippet import aircox.models from aircox_cms.models.lists import * @@ -52,6 +52,7 @@ class Region(ClusterableModel): ) model = models.ForeignKey( ContentType, + on_delete=models.CASCADE, verbose_name = _('model'), blank = True, null = True, help_text=_('this section is displayed only when the current ' @@ -60,6 +61,7 @@ class Region(ClusterableModel): ) page = models.ForeignKey( Page, + on_delete=models.CASCADE, verbose_name = _('page'), blank = True, null = True, help_text=_('this section is displayed only on this page'), @@ -218,7 +220,7 @@ class SectionText(Section): ] def get_context(self, request, page): - from wagtail.wagtailcore.rich_text import expand_db_html + from wagtail.core.rich_text import expand_db_html context = super().get_context(request, page) context['content'] = expand_db_html(self.body) return context @@ -232,6 +234,7 @@ class SectionImage(SectionRelativeItem): image = models.ForeignKey( 'wagtailimages.Image', + on_delete=models.CASCADE, verbose_name = _('image'), related_name='+', blank=True, null=True, @@ -307,7 +310,7 @@ class SectionImage(SectionRelativeItem): return self.cache def get_context(self, request, page): - from wagtail.wagtailimages.views.serve import generate_signature + from wagtail.images.views.serve import generate_signature context = super().get_context(request, page) image = self.related_attr(page, 'cover') or self.image @@ -461,11 +464,13 @@ class SectionTimetable(Section,DatedBaseList): station = models.ForeignKey( aircox.models.Station, + on_delete=models.CASCADE, verbose_name = _('station'), help_text = _('(required) related station') ) target = models.ForeignKey( 'aircox_cms.TimetablePage', + on_delete=models.CASCADE, verbose_name = _('timetable page'), blank = True, null = True, help_text = _('select a timetable page used to show complete timetable'), diff --git a/aircox_cms/signals.py b/aircox_cms/signals.py index f136374..cdd01cd 100755 --- a/aircox_cms/signals.py +++ b/aircox_cms/signals.py @@ -5,7 +5,7 @@ from django.dispatch import receiver from django.utils import timezone as tz from django.utils.translation import ugettext as _, ugettext_lazy -from wagtail.wagtailcore.models import Page, Site, PageRevision +from wagtail.core.models import Page, Site, PageRevision import aircox.models as aircox import aircox_cms.models as models diff --git a/aircox_cms/template.py b/aircox_cms/template.py index 996acd4..0daebdb 100644 --- a/aircox_cms/template.py +++ b/aircox_cms/template.py @@ -1,6 +1,6 @@ from django.db import models from django.template.loader import render_to_string -from wagtail.wagtailcore.utils import camelcase_to_underscore +from wagtail.core.utils import camelcase_to_underscore class TemplateMixin(models.Model): diff --git a/aircox_cms/utils.py b/aircox_cms/utils.py index 74dec5a..f493d39 100755 --- a/aircox_cms/utils.py +++ b/aircox_cms/utils.py @@ -1,14 +1,14 @@ import inspect -from django.core.urlresolvers import reverse -from wagtail.wagtailcore.models import Page +from django.urls import reverse +from wagtail.core.models import Page def image_url(image, filter_spec): """ Return an url for the given image -- shortcut function for wagtailimages' serve. """ - from wagtail.wagtailimages.views.serve import generate_signature + from wagtail.images.views.serve import generate_signature signature = generate_signature(image.id, filter_spec) url = reverse('wagtailimages_serve', args=(signature, image.id, filter_spec)) url += image.file.name[len('original_images/'):] diff --git a/aircox_cms/views/components.py b/aircox_cms/views/components.py index a2b838d..acc94fe 100644 --- a/aircox_cms/views/components.py +++ b/aircox_cms/views/components.py @@ -4,7 +4,7 @@ from django.db import models from django.template.loader import render_to_string from django.utils.safestring import mark_safe -from wagtail.wagtailcore.utils import camelcase_to_underscore +from wagtail.core.utils import camelcase_to_underscore class Component: diff --git a/aircox_cms/wagtail_hooks.py b/aircox_cms/wagtail_hooks.py index f96a09c..7f73144 100755 --- a/aircox_cms/wagtail_hooks.py +++ b/aircox_cms/wagtail_hooks.py @@ -1,19 +1,19 @@ import json -from django.utils import timezone as tz -from django.utils.translation import ugettext_lazy as _ -from django.core.urlresolvers import reverse +from django.urls import reverse from django.forms import SelectMultiple, TextInput from django.contrib.staticfiles.templatetags.staticfiles import static from django.utils.html import format_html +from django.utils import timezone as tz from django.utils.safestring import mark_safe +from django.utils.translation import ugettext_lazy as _ -from wagtail.wagtailcore import hooks -from wagtail.wagtailadmin.menu import MenuItem, Menu, SubmenuMenuItem -from wagtail.wagtailcore.models import PageRevision +from wagtail.core import hooks +from wagtail.admin.menu import MenuItem, Menu, SubmenuMenuItem +from wagtail.core.models import PageRevision from wagtail.contrib.modeladmin.options import \ ModelAdmin, ModelAdminGroup, modeladmin_register -from wagtail.wagtailadmin.edit_handlers import FieldPanel, FieldRowPanel, \ +from wagtail.admin.edit_handlers import FieldPanel, FieldRowPanel, \ MultiFieldPanel, InlinePanel, PageChooserPanel, StreamFieldPanel diff --git a/instance/sample_settings.py b/instance/sample_settings.py index f2818e2..703168c 100755 --- a/instance/sample_settings.py +++ b/instance/sample_settings.py @@ -119,17 +119,17 @@ INSTALLED_APPS = ( 'aircox_cms', 'jet', - 'wagtail.wagtailforms', - 'wagtail.wagtailredirects', - 'wagtail.wagtailembeds', - 'wagtail.wagtailsites', - 'wagtail.wagtailusers', - 'wagtail.wagtailsnippets', - 'wagtail.wagtaildocs', - 'wagtail.wagtailimages', - 'wagtail.wagtailsearch', - 'wagtail.wagtailadmin', - 'wagtail.wagtailcore', + 'wagtail.contrib.forms', + 'wagtail.contrib.redirects', + 'wagtail.embeds', + 'wagtail.sites', + 'wagtail.users', + 'wagtail.snippets', + 'wagtail.documents', + 'wagtail.images', + 'wagtail.search', + 'wagtail.admin', + 'wagtail.core', 'wagtail.contrib.settings', 'wagtail.contrib.modeladmin', @@ -157,8 +157,8 @@ MIDDLEWARE = ( 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.security.SecurityMiddleware', - 'wagtail.wagtailcore.middleware.SiteMiddleware', - 'wagtail.wagtailredirects.middleware.RedirectMiddleware', + 'wagtail.core.middleware.SiteMiddleware', + 'wagtail.contrib.redirects.middleware.RedirectMiddleware', 'aircox.middleware.AircoxMiddleware' ) diff --git a/instance/urls.py b/instance/urls.py index 42bf530..2a1b029 100755 --- a/instance/urls.py +++ b/instance/urls.py @@ -13,37 +13,41 @@ Including another URLconf 1. Add an import: from blog import urls as blog_urls 2. Add a URL to urlpatterns: url(r'^blog/', include(blog_urls)) """ -from django.conf.urls import include, url +from django.conf import settings +from django.urls import include, path, re_path from django.contrib import admin -from instance import settings -from wagtail.wagtailadmin import urls as wagtailadmin_urls -from wagtail.wagtaildocs import urls as wagtaildocs_urls -from wagtail.wagtailcore import urls as wagtail_urls -from wagtail.wagtailimages.views.serve import ServeView +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.images.views.serve import ServeView import aircox.urls +try: + urlpatterns = [ + path('jet/', include('jet.urls', 'jet')), + path('admin/', admin.site.urls), + path('aircox/', include(aircox.urls.urls)), -urlpatterns = [ - url(r'^jet/', include('jet.urls', 'jet')), - url(r'^admin/', include(admin.site.urls)), - url(r'^aircox/', include(aircox.urls.urls)), + # cms + path('cms/', include(wagtailadmin_urls)), + path('documents/', include(wagtaildocs_urls)), + re_path( r'^images/([^/]*)/(\d*)/([^/]*)/[^/]*$', ServeView.as_view(), + name='wagtailimages_serve'), + ] - # cms - url(r'^cms/', include(wagtailadmin_urls)), - url(r'^documents/', include(wagtaildocs_urls)), - url( r'^images/([^/]*)/(\d*)/([^/]*)/[^/]*$', ServeView.as_view(), - name='wagtailimages_serve'), -] - -if settings.DEBUG: - from django.views.static import serve - urlpatterns.append( - url(r'^media/(?P.*)$', serve, - {'document_root': settings.MEDIA_ROOT, 'show_indexes':True} + if settings.DEBUG: + from django.views.static import serve + urlpatterns.append( + re_path(r'^media/(?P.*)$', serve, + {'document_root': settings.MEDIA_ROOT, 'show_indexes':True} + ) ) - ) -urlpatterns.append(url(r'', include(wagtail_urls))) + urlpatterns.append(re_path(r'', include(wagtail_urls))) + +except Exception as e: + import traceback + traceback.print_exc() diff --git a/requirements.txt b/requirements.txt index b075997..4c28f54 100755 --- a/requirements.txt +++ b/requirements.txt @@ -1,15 +1,12 @@ gunicorn>=19.6.0 -Django>=1.10.3,<2.0 -wagtail>=1.5.3,<2.0 -django-taggit>=0.18.3 +Django>=2.2.0 +wagtail>=2.4 watchdog>=0.8.3 psutil>=5.0.1 pyyaml>=3.12 dateutils>=0.6.6 bleach>=1.4.3 -django-overextends>=0.4.2 -Pillow>=3.3.0 -django-modelcluster==2.0 +django-auth-ldap>=1.7.0 django-honeypot>=0.5.0 django-jet>=1.0.3 mutagen>=1.37