forked from rc/aircox
update dependencies
This commit is contained in:
parent
1ebafb5241
commit
a951d7a319
|
@ -79,7 +79,7 @@ class AircoxMiddleware(object):
|
||||||
tz.activate(pytz.timezone('Europe/Brussels'))
|
tz.activate(pytz.timezone('Europe/Brussels'))
|
||||||
aircox = AircoxInfo()
|
aircox = AircoxInfo()
|
||||||
|
|
||||||
if request.user.is_authenticated():
|
if request.user.is_authenticated:
|
||||||
self.init_station(request, aircox)
|
self.init_station(request, aircox)
|
||||||
self.init_timezone(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
|
import aircox.views as views
|
||||||
|
|
||||||
urls = [
|
urls = [
|
||||||
url(r'^on_air', views.on_air, name='aircox.on_air'),
|
path('on_air', views.on_air, name='aircox.on_air'),
|
||||||
url(r'^monitor', views.Monitor.as_view(), name='aircox.monitor'),
|
path('monitor', views.Monitor.as_view(), name='aircox.monitor'),
|
||||||
url(r'^stats', views.StatisticsView.as_view(), name='aircox.stats'),
|
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
|
# pages and panels
|
||||||
from wagtail.contrib.settings.models import BaseSetting, register_setting
|
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
|
PageManager, PageQuerySet
|
||||||
from wagtail.wagtailcore.fields import RichTextField
|
from wagtail.core.fields import RichTextField
|
||||||
from wagtail.wagtailimages.edit_handlers import ImageChooserPanel
|
from wagtail.images.edit_handlers import ImageChooserPanel
|
||||||
from wagtail.wagtailadmin.edit_handlers import FieldPanel, FieldRowPanel, \
|
from wagtail.admin.edit_handlers import FieldPanel, FieldRowPanel, \
|
||||||
MultiFieldPanel, InlinePanel, PageChooserPanel, StreamFieldPanel
|
MultiFieldPanel, InlinePanel, PageChooserPanel, StreamFieldPanel
|
||||||
from wagtail.wagtailsearch import index
|
from wagtail.search import index
|
||||||
|
|
||||||
# snippets
|
# snippets
|
||||||
from wagtail.wagtailsnippets.models import register_snippet
|
from wagtail.snippets.models import register_snippet
|
||||||
|
|
||||||
# tags
|
# tags
|
||||||
from modelcluster.fields import ParentalKey
|
from modelcluster.fields import ParentalKey
|
||||||
|
@ -40,6 +40,7 @@ from aircox_cms.utils import image_url
|
||||||
class WebsiteSettings(BaseSetting):
|
class WebsiteSettings(BaseSetting):
|
||||||
station = models.OneToOneField(
|
station = models.OneToOneField(
|
||||||
aircox.models.Station,
|
aircox.models.Station,
|
||||||
|
models.SET_NULL,
|
||||||
verbose_name = _('aircox station'),
|
verbose_name = _('aircox station'),
|
||||||
related_name = 'website_settings',
|
related_name = 'website_settings',
|
||||||
unique = True,
|
unique = True,
|
||||||
|
@ -70,6 +71,7 @@ class WebsiteSettings(BaseSetting):
|
||||||
)
|
)
|
||||||
list_page = models.ForeignKey(
|
list_page = models.ForeignKey(
|
||||||
'aircox_cms.DynamicListPage',
|
'aircox_cms.DynamicListPage',
|
||||||
|
on_delete=models.CASCADE,
|
||||||
verbose_name = _('page for lists'),
|
verbose_name = _('page for lists'),
|
||||||
help_text=_('page used to display the results of a search and other '
|
help_text=_('page used to display the results of a search and other '
|
||||||
'lists'),
|
'lists'),
|
||||||
|
@ -121,6 +123,7 @@ class WebsiteSettings(BaseSetting):
|
||||||
# done manually, when the user edit it.
|
# done manually, when the user edit it.
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
default_programs_page = ParentalKey(
|
default_programs_page = ParentalKey(
|
||||||
Page,
|
Page,
|
||||||
verbose_name = _('default programs page'),
|
verbose_name = _('default programs page'),
|
||||||
|
@ -133,7 +136,7 @@ class WebsiteSettings(BaseSetting):
|
||||||
# /doc/ (technicians, admin): if the page has not been created,
|
# /doc/ (technicians, admin): if the page has not been created,
|
||||||
# it still can be created using the `programs_to_cms` command.
|
# it still can be created using the `programs_to_cms` command.
|
||||||
),
|
),
|
||||||
limit_choices_to = lambda: {
|
limit_choices_to = {
|
||||||
'show_in_menus': True,
|
'show_in_menus': True,
|
||||||
'publication__isnull': False,
|
'publication__isnull': False,
|
||||||
},
|
},
|
||||||
|
@ -167,6 +170,7 @@ class WebsiteSettings(BaseSetting):
|
||||||
class Comment(models.Model):
|
class Comment(models.Model):
|
||||||
publication = models.ForeignKey(
|
publication = models.ForeignKey(
|
||||||
Page,
|
Page,
|
||||||
|
on_delete=models.CASCADE,
|
||||||
verbose_name = _('page')
|
verbose_name = _('page')
|
||||||
)
|
)
|
||||||
published = models.BooleanField(
|
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 import timezone as tz
|
||||||
from django.utils.functional import cached_property
|
from django.utils.functional import cached_property
|
||||||
|
|
||||||
from wagtail.wagtailadmin.edit_handlers import *
|
from wagtail.admin.edit_handlers import *
|
||||||
from wagtail.wagtailcore.models import Page, Orderable
|
from wagtail.core.models import Page, Orderable
|
||||||
from wagtail.wagtailimages.models import Image
|
from wagtail.images.models import Image
|
||||||
from wagtail.wagtailimages.edit_handlers import ImageChooserPanel
|
from wagtail.images.edit_handlers import ImageChooserPanel
|
||||||
|
|
||||||
from aircox_cms.utils import related_pages_filter
|
from aircox_cms.utils import related_pages_filter
|
||||||
|
|
||||||
|
|
|
@ -10,11 +10,11 @@ from django.urls import reverse
|
||||||
from modelcluster.models import ClusterableModel
|
from modelcluster.models import ClusterableModel
|
||||||
from modelcluster.fields import ParentalKey
|
from modelcluster.fields import ParentalKey
|
||||||
|
|
||||||
from wagtail.wagtailadmin.edit_handlers import *
|
from wagtail.admin.edit_handlers import *
|
||||||
from wagtail.wagtailimages.edit_handlers import ImageChooserPanel
|
from wagtail.images.edit_handlers import ImageChooserPanel
|
||||||
from wagtail.wagtailcore.models import Page
|
from wagtail.core.models import Page
|
||||||
from wagtail.wagtailcore.fields import RichTextField
|
from wagtail.core.fields import RichTextField
|
||||||
from wagtail.wagtailsnippets.models import register_snippet
|
from wagtail.snippets.models import register_snippet
|
||||||
|
|
||||||
import aircox.models
|
import aircox.models
|
||||||
from aircox_cms.models.lists import *
|
from aircox_cms.models.lists import *
|
||||||
|
@ -52,6 +52,7 @@ class Region(ClusterableModel):
|
||||||
)
|
)
|
||||||
model = models.ForeignKey(
|
model = models.ForeignKey(
|
||||||
ContentType,
|
ContentType,
|
||||||
|
on_delete=models.CASCADE,
|
||||||
verbose_name = _('model'),
|
verbose_name = _('model'),
|
||||||
blank = True, null = True,
|
blank = True, null = True,
|
||||||
help_text=_('this section is displayed only when the current '
|
help_text=_('this section is displayed only when the current '
|
||||||
|
@ -60,6 +61,7 @@ class Region(ClusterableModel):
|
||||||
)
|
)
|
||||||
page = models.ForeignKey(
|
page = models.ForeignKey(
|
||||||
Page,
|
Page,
|
||||||
|
on_delete=models.CASCADE,
|
||||||
verbose_name = _('page'),
|
verbose_name = _('page'),
|
||||||
blank = True, null = True,
|
blank = True, null = True,
|
||||||
help_text=_('this section is displayed only on this page'),
|
help_text=_('this section is displayed only on this page'),
|
||||||
|
@ -218,7 +220,7 @@ class SectionText(Section):
|
||||||
]
|
]
|
||||||
|
|
||||||
def get_context(self, request, page):
|
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 = super().get_context(request, page)
|
||||||
context['content'] = expand_db_html(self.body)
|
context['content'] = expand_db_html(self.body)
|
||||||
return context
|
return context
|
||||||
|
@ -232,6 +234,7 @@ class SectionImage(SectionRelativeItem):
|
||||||
|
|
||||||
image = models.ForeignKey(
|
image = models.ForeignKey(
|
||||||
'wagtailimages.Image',
|
'wagtailimages.Image',
|
||||||
|
on_delete=models.CASCADE,
|
||||||
verbose_name = _('image'),
|
verbose_name = _('image'),
|
||||||
related_name='+',
|
related_name='+',
|
||||||
blank=True, null=True,
|
blank=True, null=True,
|
||||||
|
@ -307,7 +310,7 @@ class SectionImage(SectionRelativeItem):
|
||||||
return self.cache
|
return self.cache
|
||||||
|
|
||||||
def get_context(self, request, page):
|
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)
|
context = super().get_context(request, page)
|
||||||
|
|
||||||
image = self.related_attr(page, 'cover') or self.image
|
image = self.related_attr(page, 'cover') or self.image
|
||||||
|
@ -461,11 +464,13 @@ class SectionTimetable(Section,DatedBaseList):
|
||||||
|
|
||||||
station = models.ForeignKey(
|
station = models.ForeignKey(
|
||||||
aircox.models.Station,
|
aircox.models.Station,
|
||||||
|
on_delete=models.CASCADE,
|
||||||
verbose_name = _('station'),
|
verbose_name = _('station'),
|
||||||
help_text = _('(required) related station')
|
help_text = _('(required) related station')
|
||||||
)
|
)
|
||||||
target = models.ForeignKey(
|
target = models.ForeignKey(
|
||||||
'aircox_cms.TimetablePage',
|
'aircox_cms.TimetablePage',
|
||||||
|
on_delete=models.CASCADE,
|
||||||
verbose_name = _('timetable page'),
|
verbose_name = _('timetable page'),
|
||||||
blank = True, null = True,
|
blank = True, null = True,
|
||||||
help_text = _('select a timetable page used to show complete timetable'),
|
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 import timezone as tz
|
||||||
from django.utils.translation import ugettext as _, ugettext_lazy
|
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.models as aircox
|
||||||
import aircox_cms.models as models
|
import aircox_cms.models as models
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.template.loader import render_to_string
|
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):
|
class TemplateMixin(models.Model):
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
import inspect
|
import inspect
|
||||||
|
|
||||||
from django.core.urlresolvers import reverse
|
from django.urls import reverse
|
||||||
from wagtail.wagtailcore.models import Page
|
from wagtail.core.models import Page
|
||||||
|
|
||||||
def image_url(image, filter_spec):
|
def image_url(image, filter_spec):
|
||||||
"""
|
"""
|
||||||
Return an url for the given image -- shortcut function for
|
Return an url for the given image -- shortcut function for
|
||||||
wagtailimages' serve.
|
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)
|
signature = generate_signature(image.id, filter_spec)
|
||||||
url = reverse('wagtailimages_serve', args=(signature, image.id, filter_spec))
|
url = reverse('wagtailimages_serve', args=(signature, image.id, filter_spec))
|
||||||
url += image.file.name[len('original_images/'):]
|
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.template.loader import render_to_string
|
||||||
from django.utils.safestring import mark_safe
|
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:
|
class Component:
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
import json
|
import json
|
||||||
|
|
||||||
from django.utils import timezone as tz
|
from django.urls import reverse
|
||||||
from django.utils.translation import ugettext_lazy as _
|
|
||||||
from django.core.urlresolvers import reverse
|
|
||||||
from django.forms import SelectMultiple, TextInput
|
from django.forms import SelectMultiple, TextInput
|
||||||
from django.contrib.staticfiles.templatetags.staticfiles import static
|
from django.contrib.staticfiles.templatetags.staticfiles import static
|
||||||
from django.utils.html import format_html
|
from django.utils.html import format_html
|
||||||
|
from django.utils import timezone as tz
|
||||||
from django.utils.safestring import mark_safe
|
from django.utils.safestring import mark_safe
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
from wagtail.wagtailcore import hooks
|
from wagtail.core import hooks
|
||||||
from wagtail.wagtailadmin.menu import MenuItem, Menu, SubmenuMenuItem
|
from wagtail.admin.menu import MenuItem, Menu, SubmenuMenuItem
|
||||||
from wagtail.wagtailcore.models import PageRevision
|
from wagtail.core.models import PageRevision
|
||||||
from wagtail.contrib.modeladmin.options import \
|
from wagtail.contrib.modeladmin.options import \
|
||||||
ModelAdmin, ModelAdminGroup, modeladmin_register
|
ModelAdmin, ModelAdminGroup, modeladmin_register
|
||||||
from wagtail.wagtailadmin.edit_handlers import FieldPanel, FieldRowPanel, \
|
from wagtail.admin.edit_handlers import FieldPanel, FieldRowPanel, \
|
||||||
MultiFieldPanel, InlinePanel, PageChooserPanel, StreamFieldPanel
|
MultiFieldPanel, InlinePanel, PageChooserPanel, StreamFieldPanel
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -119,17 +119,17 @@ INSTALLED_APPS = (
|
||||||
'aircox_cms',
|
'aircox_cms',
|
||||||
|
|
||||||
'jet',
|
'jet',
|
||||||
'wagtail.wagtailforms',
|
'wagtail.contrib.forms',
|
||||||
'wagtail.wagtailredirects',
|
'wagtail.contrib.redirects',
|
||||||
'wagtail.wagtailembeds',
|
'wagtail.embeds',
|
||||||
'wagtail.wagtailsites',
|
'wagtail.sites',
|
||||||
'wagtail.wagtailusers',
|
'wagtail.users',
|
||||||
'wagtail.wagtailsnippets',
|
'wagtail.snippets',
|
||||||
'wagtail.wagtaildocs',
|
'wagtail.documents',
|
||||||
'wagtail.wagtailimages',
|
'wagtail.images',
|
||||||
'wagtail.wagtailsearch',
|
'wagtail.search',
|
||||||
'wagtail.wagtailadmin',
|
'wagtail.admin',
|
||||||
'wagtail.wagtailcore',
|
'wagtail.core',
|
||||||
'wagtail.contrib.settings',
|
'wagtail.contrib.settings',
|
||||||
'wagtail.contrib.modeladmin',
|
'wagtail.contrib.modeladmin',
|
||||||
|
|
||||||
|
@ -157,8 +157,8 @@ MIDDLEWARE = (
|
||||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||||
'django.middleware.security.SecurityMiddleware',
|
'django.middleware.security.SecurityMiddleware',
|
||||||
|
|
||||||
'wagtail.wagtailcore.middleware.SiteMiddleware',
|
'wagtail.core.middleware.SiteMiddleware',
|
||||||
'wagtail.wagtailredirects.middleware.RedirectMiddleware',
|
'wagtail.contrib.redirects.middleware.RedirectMiddleware',
|
||||||
|
|
||||||
'aircox.middleware.AircoxMiddleware'
|
'aircox.middleware.AircoxMiddleware'
|
||||||
)
|
)
|
||||||
|
|
|
@ -13,37 +13,41 @@ Including another URLconf
|
||||||
1. Add an import: from blog import urls as blog_urls
|
1. Add an import: from blog import urls as blog_urls
|
||||||
2. Add a URL to urlpatterns: url(r'^blog/', include(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 django.contrib import admin
|
||||||
from instance import settings
|
|
||||||
|
|
||||||
from wagtail.wagtailadmin import urls as wagtailadmin_urls
|
from wagtail.admin import urls as wagtailadmin_urls
|
||||||
from wagtail.wagtaildocs import urls as wagtaildocs_urls
|
from wagtail.documents import urls as wagtaildocs_urls
|
||||||
from wagtail.wagtailcore import urls as wagtail_urls
|
from wagtail.core import urls as wagtail_urls
|
||||||
from wagtail.wagtailimages.views.serve import ServeView
|
from wagtail.images.views.serve import ServeView
|
||||||
|
|
||||||
import aircox.urls
|
import aircox.urls
|
||||||
|
|
||||||
|
try:
|
||||||
|
urlpatterns = [
|
||||||
|
path('jet/', include('jet.urls', 'jet')),
|
||||||
|
path('admin/', admin.site.urls),
|
||||||
|
path('aircox/', include(aircox.urls.urls)),
|
||||||
|
|
||||||
urlpatterns = [
|
# cms
|
||||||
url(r'^jet/', include('jet.urls', 'jet')),
|
path('cms/', include(wagtailadmin_urls)),
|
||||||
url(r'^admin/', include(admin.site.urls)),
|
path('documents/', include(wagtaildocs_urls)),
|
||||||
url(r'^aircox/', include(aircox.urls.urls)),
|
re_path( r'^images/([^/]*)/(\d*)/([^/]*)/[^/]*$', ServeView.as_view(),
|
||||||
|
name='wagtailimages_serve'),
|
||||||
|
]
|
||||||
|
|
||||||
# cms
|
if settings.DEBUG:
|
||||||
url(r'^cms/', include(wagtailadmin_urls)),
|
from django.views.static import serve
|
||||||
url(r'^documents/', include(wagtaildocs_urls)),
|
urlpatterns.append(
|
||||||
url( r'^images/([^/]*)/(\d*)/([^/]*)/[^/]*$', ServeView.as_view(),
|
re_path(r'^media/(?P<path>.*)$', serve,
|
||||||
name='wagtailimages_serve'),
|
{'document_root': settings.MEDIA_ROOT, 'show_indexes':True}
|
||||||
]
|
)
|
||||||
|
|
||||||
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}
|
|
||||||
)
|
)
|
||||||
)
|
|
||||||
|
|
||||||
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
|
gunicorn>=19.6.0
|
||||||
Django>=1.10.3,<2.0
|
Django>=2.2.0
|
||||||
wagtail>=1.5.3,<2.0
|
wagtail>=2.4
|
||||||
django-taggit>=0.18.3
|
|
||||||
watchdog>=0.8.3
|
watchdog>=0.8.3
|
||||||
psutil>=5.0.1
|
psutil>=5.0.1
|
||||||
pyyaml>=3.12
|
pyyaml>=3.12
|
||||||
dateutils>=0.6.6
|
dateutils>=0.6.6
|
||||||
bleach>=1.4.3
|
bleach>=1.4.3
|
||||||
django-overextends>=0.4.2
|
django-auth-ldap>=1.7.0
|
||||||
Pillow>=3.3.0
|
|
||||||
django-modelcluster==2.0
|
|
||||||
django-honeypot>=0.5.0
|
django-honeypot>=0.5.0
|
||||||
django-jet>=1.0.3
|
django-jet>=1.0.3
|
||||||
mutagen>=1.37
|
mutagen>=1.37
|
||||||
|
|
Loading…
Reference in New Issue
Block a user