From a7e99bc60d7f3e2de2014e0b9d3d9f3e2ed2966d Mon Sep 17 00:00:00 2001 From: Livio Bieri Date: Fri, 8 Dec 2023 11:44:41 +0100 Subject: [PATCH] chore: adds a django admin action that re-syncs urls --- server/vbv_lernwelt/duedate/admin.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/server/vbv_lernwelt/duedate/admin.py b/server/vbv_lernwelt/duedate/admin.py index 048f4dee..68843156 100644 --- a/server/vbv_lernwelt/duedate/admin.py +++ b/server/vbv_lernwelt/duedate/admin.py @@ -1,6 +1,11 @@ from django.contrib import admin from wagtail.models import Page +from vbv_lernwelt.course_session.models import ( + CourseSessionAssignment, + CourseSessionAttendanceCourse, + CourseSessionEdoniqTest, +) from vbv_lernwelt.duedate.models import DueDate from vbv_lernwelt.learnpath.models import ( Circle, @@ -9,7 +14,16 @@ from vbv_lernwelt.learnpath.models import ( ) -# Register your models here. +@admin.action(description="Re-sync URLs from LearningContent") +def sync_wagtail_due_date_url(modeladmin, request, queryset): + for assignment in CourseSessionAssignment.objects.all(): + assignment.save() + for edoniq_test in CourseSessionEdoniqTest.objects.all(): + edoniq_test.save() + for attendance in CourseSessionAttendanceCourse.objects.all(): + attendance.save() + + @admin.register(DueDate) class DueDateAdmin(admin.ModelAdmin): date_hierarchy = "start" @@ -23,6 +37,7 @@ class DueDateAdmin(admin.ModelAdmin): ] list_filter = ["course_session__course", "course_session"] readonly_fields = ["course_session", "page"] + actions = [sync_wagtail_due_date_url] def get_readonly_fields(self, request, obj=None): default_readonly = super(DueDateAdmin, self).get_readonly_fields(request, obj)