chore: adds a django admin action that re-syncs urls

This commit is contained in:
Livio Bieri 2023-12-08 11:44:41 +01:00
parent 745d38819e
commit a7e99bc60d
1 changed files with 16 additions and 1 deletions

View File

@ -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)