update dependencies
This commit is contained in:
		@ -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)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -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'),
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -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(
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -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'),
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -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):
 | 
			
		||||
 | 
			
		||||
@ -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/'):]
 | 
			
		||||
 | 
			
		||||
@ -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:
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -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'
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@ -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<path>.*)$', 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<path>.*)$', 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()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user