diff --git a/config/urls.py b/config/urls.py index ee3e9ca..a11bce0 100644 --- a/config/urls.py +++ b/config/urls.py @@ -24,12 +24,8 @@ # Disable email/password views path('admin/account/', account, name='wagtailadmin_account'), - # path('admin/account/change_password/', default_views.page_not_found, - # kwargs={"exception": Exception("Page not Found")}, name='wagtailadmin_account_change_password'), path('admin/account/change_email/', default_views.page_not_found, kwargs={"exception": Exception("Page not Found")}, name='wagtailadmin_account_change_email'), - # path('admin/password_reset/', default_views.page_not_found, - # kwargs={"exception": Exception("Page not Found")}), # Override wagtail user views path('admin/users/', include('mpicms.users.urls')), diff --git a/mpicms/base/blocks.py b/mpicms/base/blocks.py index d0d5d9a..819c3d3 100644 --- a/mpicms/base/blocks.py +++ b/mpicms/base/blocks.py @@ -10,13 +10,15 @@ class ContactBlock(blocks.StructBlock): information = blocks.TextBlock(required=False, label=_('Information')) class Meta: # noqa - icon="user" - template='base/blocks/contact_block.html' + icon = "user" + template = 'base/blocks/contact_block.html' + class MarkdownBlock(blocks.TextBlock): class Meta: # noqa template = 'base/blocks/markdown_block.html' + class TableBlock(WagtailTableBlock): class Meta: # noqa template = 'base/blocks/table_block.html' diff --git a/mpicms/base/mixins.py b/mpicms/base/mixins.py index 64f3216..83c2914 100644 --- a/mpicms/base/mixins.py +++ b/mpicms/base/mixins.py @@ -27,12 +27,12 @@ def serve_preview(self, request, mode_name): translation.activate(mode_name) return super().serve_preview(request, mode_name) - def serve(self, request): # Not in use - if request.user.is_authenticated: - if 'subscribe' in request.GET: - self.subscribers.add(request.user) - elif 'unsubscribe' in request.GET: - self.subscribers.remove(request.user) + # def serve(self, request): # Not in use, may be useful in the future for subscribing per GET request. + # if request.user.is_authenticated: + # if 'subscribe' in request.GET: + # self.subscribers.add(request.user) + # elif 'unsubscribe' in request.GET: + # self.subscribers.remove(request.user) return super().serve(request) @@ -86,7 +86,8 @@ class SideBarMixin(Page): sidebar = StreamField([ ('editor', blocks.RichTextBlock( 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'))) + ('contacts', blocks.ListBlock( + ContactBlock(), icon="user", template='base/blocks/contact_list_block.html', label=_('Contacts'))) ], blank=True, verbose_name=_("Sidebar Content")) content_panels = [ diff --git a/mpicms/base/models.py b/mpicms/base/models.py index a762968..6a85034 100644 --- a/mpicms/base/models.py +++ b/mpicms/base/models.py @@ -4,12 +4,9 @@ from wagtail.core import blocks from wagtail.core.models import Page from wagtail.core.fields import RichTextField -from wagtail.admin.edit_handlers import FieldPanel, InlinePanel, MultiFieldPanel -from wagtail.search import index -from wagtail.snippets.blocks import SnippetChooserBlock +from wagtail.admin.edit_handlers import FieldPanel from wagtail.snippets.edit_handlers import SnippetChooserPanel from wagtail.snippets.models import register_snippet -from wagtail.api import APIField from wagtail.admin.edit_handlers import StreamFieldPanel from wagtail.images.edit_handlers import ImageChooserPanel from wagtail.core.fields import StreamField @@ -17,7 +14,7 @@ from mpicms.news.mixins import NewsMixin from mpicms.events.mixins import EventMixin from .mixins import BasePage, BodyMixin, SideBarMixin -from .blocks import ContactBlock, MenuBlock +from .blocks import MenuBlock Page.show_in_menus_default = True @@ -88,9 +85,6 @@ class RootPage(EventMixin, NewsMixin, BasePage): StreamFieldPanel('quick_links') ] - api_fields = [ - # APIField('banner') - ] class Meta: # noqa verbose_name = _("root page") diff --git a/mpicms/base/signals.py b/mpicms/base/signals.py index b20be11..2d62081 100644 --- a/mpicms/base/signals.py +++ b/mpicms/base/signals.py @@ -1,7 +1,7 @@ import logging from django.contrib.auth import get_user_model -from django.db.models.signals import post_save, pre_save, m2m_changed +from django.db.models.signals import m2m_changed from django.dispatch import receiver from django.core.mail import send_mail from django.conf import settings diff --git a/mpicms/base/utils.py b/mpicms/base/utils.py index c3334ef..37e144f 100644 --- a/mpicms/base/utils.py +++ b/mpicms/base/utils.py @@ -4,6 +4,7 @@ def can_create(request, model): return True return not getattr(model, 'creation_limited', False) + def get_room_link(room): if room: - return 'https://twiki.molgen.mpg.de/foswiki/bin/room/' + room.split()[0] \ No newline at end of file + return 'https://twiki.molgen.mpg.de/foswiki/bin/room/' + room.split()[0] diff --git a/mpicms/base/views.py b/mpicms/base/views.py index 7367679..c592c86 100644 --- a/mpicms/base/views.py +++ b/mpicms/base/views.py @@ -119,4 +119,4 @@ def unsubscribe(request, page_id): if redirect_to and is_safe_url(url=redirect_to, allowed_hosts={request.get_host()}): return redirect(redirect_to) else: - return redirect('wagtailadmin_explore', page.get_parent().id) \ No newline at end of file + return redirect('wagtailadmin_explore', page.get_parent().id) diff --git a/mpicms/base/wagtail_hooks.py b/mpicms/base/wagtail_hooks.py index 14bfa84..58279b9 100644 --- a/mpicms/base/wagtail_hooks.py +++ b/mpicms/base/wagtail_hooks.py @@ -4,7 +4,6 @@ from django.urls import reverse from django.utils.html import format_html from django.templatetags.static import static -from django.contrib.auth import get_user_model from django.core.mail import send_mail from django.conf import settings from django.utils.html import strip_tags @@ -12,8 +11,6 @@ from wagtail.contrib.modeladmin.options import ModelAdmin, modeladmin_register from wagtail.core import hooks from wagtail.admin.menu import MenuItem -from wagtail.contrib.modeladmin.helpers import PermissionHelper -from wagtail.admin.action_menu import ActionMenuItem from .models import FeaturedImage @@ -21,7 +18,6 @@ logger = logging.getLogger(__name__) - @hooks.register('insert_global_admin_css') def global_admin_css(): return format_html('', static('css/admin.css')) @@ -75,4 +71,4 @@ class FeaturedImageAdmin(ModelAdmin): menu_icon = 'image' -modeladmin_register(FeaturedImageAdmin) \ No newline at end of file +modeladmin_register(FeaturedImageAdmin) diff --git a/mpicms/events/models.py b/mpicms/events/models.py index e9913e5..b11d278 100644 --- a/mpicms/events/models.py +++ b/mpicms/events/models.py @@ -1,6 +1,6 @@ import json -from ics import Calendar, Event as ICSEvent from datetime import datetime +from ics import Calendar, Event as ICSEvent from django.db import models from django.core.exceptions import ValidationError @@ -131,12 +131,12 @@ def ics(self): c = Calendar() for event in self.events: e = ICSEvent( - name = event.title, - begin = event.start, - end = event.end, - description = event.search_description, - url = event.full_url, - location = event.room + name=event.title, + begin=event.start, + end=event.end, + description=event.search_description, + url=event.full_url, + location=event.room ) c.events.add(e) return '\n'.join(c) diff --git a/mpicms/events/views.py b/mpicms/events/views.py index 6bee43d..6497e73 100644 --- a/mpicms/events/views.py +++ b/mpicms/events/views.py @@ -7,4 +7,4 @@ def ics_view(request): index = EventIndex.objects.first() response = HttpResponse(index.ics, content_type="text/calendar") response["Content-disposition"] = "attachment; filename=calendar.ics" - return response \ No newline at end of file + return response diff --git a/mpicms/personal/models.py b/mpicms/personal/models.py index 5627d8f..15c787f 100644 --- a/mpicms/personal/models.py +++ b/mpicms/personal/models.py @@ -3,8 +3,7 @@ from django.core.validators import MaxValueValidator from wagtail.core.models import Orderable -from wagtail.admin.edit_handlers import FieldPanel, MultiFieldPanel, FieldRowPanel, InlinePanel -from wagtail.admin.edit_handlers import FieldPanel, FieldRowPanel, InlinePanel +from wagtail.admin.edit_handlers import FieldPanel, MultiFieldPanel, InlinePanel from wagtail.snippets.models import register_snippet from wagtail.search import index from wagtail.snippets.edit_handlers import SnippetChooserPanel diff --git a/mpicms/personal/tests.py b/mpicms/personal/tests.py index 5b2182a..80d5910 100644 --- a/mpicms/personal/tests.py +++ b/mpicms/personal/tests.py @@ -1,24 +1,25 @@ -import pytest +# import pytest -from .models import Contact, Group, ContactGroups +# from .models import Contact, Group, ContactGroups -@pytest.mark.django_db -def test_contact_ordering(): - g1 = Group.objects.create(name="G1", priority="1") - g2 = Group.objects.create(name="G2", priority="2") - g3 = Group.objects.create(name="G3", priority="3") +# DEPRECATED: Priority no longer used for contact ordering. +# @pytest.mark.django_db +# def test_contact_ordering(): +# g1 = Group.objects.create(name="G1", priority="1") +# g2 = Group.objects.create(name="G2", priority="2") +# g3 = Group.objects.create(name="G3", priority="3") - a = Contact.objects.create(last_name="A", priority="4") - b = Contact.objects.create(last_name="B", priority="3") - c = Contact.objects.create(last_name="C", priority="2") - d = Contact.objects.create(last_name="D", priority="1") +# a = Contact.objects.create(last_name="A", priority="4") +# b = Contact.objects.create(last_name="B", priority="3") +# c = Contact.objects.create(last_name="C", priority="2") +# d = Contact.objects.create(last_name="D", priority="1") - ContactGroups.objects.bulk_create([ - ContactGroups(group=g1, contact=a), - ContactGroups(group=g2, contact=b), - ContactGroups(group=g3, contact=c), - ContactGroups(group=g3, contact=d), - ]) +# ContactGroups.objects.bulk_create([ +# ContactGroups(group=g1, contact=a), +# ContactGroups(group=g2, contact=b), +# ContactGroups(group=g3, contact=c), +# ContactGroups(group=g3, contact=d), +# ]) - assert list(Contact.objects.all()) == [c, d, b, a] \ No newline at end of file +# assert list(Contact.objects.all()) == [c, d, b, a] diff --git a/mpicms/personal/translation.py b/mpicms/personal/translation.py index 64d73ce..bf716aa 100644 --- a/mpicms/personal/translation.py +++ b/mpicms/personal/translation.py @@ -10,6 +10,7 @@ class PositionTR(TranslationOptions): 'title', ) + @register(Group) class GroupTR(TranslationOptions): fields = ( diff --git a/mpicms/personal/views.py b/mpicms/personal/views.py index 0d3ae71..bcc49c6 100644 --- a/mpicms/personal/views.py +++ b/mpicms/personal/views.py @@ -1,7 +1,6 @@ from django.views.generic.list import ListView -from django.db.models import OuterRef, Subquery -from .models import Contact, Group, ContactGroups +from .models import Contact, Group class ContactListView(ListView): diff --git a/mpicms/personal/wagtail_hooks.py b/mpicms/personal/wagtail_hooks.py index 295ffcd..c82d654 100644 --- a/mpicms/personal/wagtail_hooks.py +++ b/mpicms/personal/wagtail_hooks.py @@ -3,7 +3,6 @@ from django.shortcuts import get_object_or_404 from wagtail.contrib.modeladmin.options import ModelAdmin, modeladmin_register, ModelAdminGroup -from wagtail.contrib.modeladmin.helpers import PermissionHelper from wagtail.contrib.modeladmin.views import EditView, InspectView, DeleteView, InstanceSpecificView from .models import Contact, Group, Position @@ -20,15 +19,19 @@ def __init__(self, model_admin, instance_pk): **filter_kwargs) self.instance = get_object_or_404(object_qs) + class ContactEditView(ContactInstanceView, EditView): pass + class ContactInspectView(ContactInstanceView, InspectView): pass + class ContactDeleteView(ContactInstanceView, DeleteView): pass + class ContactAdmin(ModelAdmin): model = Contact menu_label = _('Persons') diff --git a/mpicms/publications/models.py b/mpicms/publications/models.py index 6857fd0..fe385b9 100644 --- a/mpicms/publications/models.py +++ b/mpicms/publications/models.py @@ -2,7 +2,6 @@ from django.utils.translation import gettext_lazy as _ from django.utils.html import strip_tags -from wagtail.core.models import Orderable from wagtail.admin.edit_handlers import FieldPanel from wagtail.search import index from wagtail.core.fields import RichTextField diff --git a/mpicms/publications/templatetags/publication_tags.py b/mpicms/publications/templatetags/publication_tags.py index c72f0e9..03091d4 100644 --- a/mpicms/publications/templatetags/publication_tags.py +++ b/mpicms/publications/templatetags/publication_tags.py @@ -9,4 +9,4 @@ def publication_list(context): return { 'publications': Publication.objects.all()[:5], 'request': context['request'], - } \ No newline at end of file + }