From d3be287368510353691c20ce681722a73b0f51f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20H=C3=A4ttasch?= <benjamin.haettasch@fachschaft.informatik.tu-darmstadt.de> Date: Sun, 9 May 2021 11:19:36 +0200 Subject: [PATCH] Move scheduling admin view urls to separate file Additionally fix wrong app installed check for ak detail link (should be AKSubmission, not AKScheduling) --- AKModel/admin.py | 20 +++++--------------- AKScheduling/urls.py | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+), 15 deletions(-) create mode 100644 AKScheduling/urls.py diff --git a/AKModel/admin.py b/AKModel/admin.py index 9427710f..886e353b 100644 --- a/AKModel/admin.py +++ b/AKModel/admin.py @@ -117,12 +117,8 @@ class AKTrackAdmin(admin.ModelAdmin): urls = super().get_urls() custom_urls = [] if apps.is_installed("AKScheduling"): - from AKScheduling.views import TrackAdminView - - custom_urls.extend([ - path('<slug:event_slug>/manage/', self.admin_site.admin_view(TrackAdminView.as_view()), - name="tracks_manage"), - ]) + from AKScheduling.urls import get_admin_urls_track + custom_urls.extend(get_admin_urls_track(self.admin_site)) return custom_urls + urls @@ -282,14 +278,8 @@ class AKSlotAdmin(admin.ModelAdmin): urls = super().get_urls() custom_urls = [] if apps.is_installed("AKScheduling"): - from AKScheduling.views import SchedulingAdminView, UnscheduledSlotsAdminView - - custom_urls.extend([ - path('<slug:event_slug>/schedule/', self.admin_site.admin_view(SchedulingAdminView.as_view()), - name="schedule"), - path('<slug:event_slug>/unscheduled/', self.admin_site.admin_view(UnscheduledSlotsAdminView.as_view()), - name="slots_unscheduled"), - ]) + from AKScheduling.urls import get_admin_urls_slot + custom_urls.extend(get_admin_urls_slot(self.admin_site)) return custom_urls + urls def get_form(self, request, obj=None, change=False, **kwargs): @@ -307,7 +297,7 @@ class AKSlotAdmin(admin.ModelAdmin): return super(AKSlotAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs) def ak_details_link(self, akslot): - if apps.is_installed("AKScheduling") and akslot.ak is not None: + if apps.is_installed("AKSubmission") and akslot.ak is not None: link = f"<a href={reverse('submit:ak_detail', args=[akslot.event.slug, akslot.ak.pk])}>{str(akslot.ak)}</a>" return mark_safe(link) return "-" diff --git a/AKScheduling/urls.py b/AKScheduling/urls.py new file mode 100644 index 00000000..4fb483a1 --- /dev/null +++ b/AKScheduling/urls.py @@ -0,0 +1,19 @@ +from django.urls import path + +from AKScheduling.views import SchedulingAdminView, UnscheduledSlotsAdminView, TrackAdminView + + +def get_admin_urls_slot(admin_site): + return [ + path('<slug:event_slug>/schedule/', admin_site.admin_view(SchedulingAdminView.as_view()), + name="schedule"), + path('<slug:event_slug>/unscheduled/', admin_site.admin_view(UnscheduledSlotsAdminView.as_view()), + name="slots_unscheduled"), + ] + + +def get_admin_urls_track(admin_site): + return [ + path('<slug:event_slug>/manage/', admin_site.admin_view(TrackAdminView.as_view()), + name="tracks_manage"), + ] -- GitLab