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)