From d006e43795115c66e4f9d2ca2eeecd60189f9562 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Fri, 2 Jul 2021 11:11:29 +0200 Subject: [PATCH] use specific media duplication function with transcoded --- teleforma/admin.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/teleforma/admin.py b/teleforma/admin.py index a5703d5f..8305a9ab 100644 --- a/teleforma/admin.py +++ b/teleforma/admin.py @@ -26,12 +26,6 @@ from .models.messages import GroupedMessage, StudentGroup from .views.crfpa import CorrectorXLSBook, UserXLSBook -@admin.action(description='Duplicate selected objects') -def duplicate(modeladmin, request, queryset): - for object in queryset: - object.id = None - object.save() - class PeriodListFilter(SimpleListFilter): @@ -287,13 +281,25 @@ class MediaTranscodedInline(admin.TabularInline): model = MediaTranscoded +@admin.action(description='Duplicate selected medias') +def duplicate_media(modeladmin, request, queryset): + for media in queryset: + transcodeds = media.transcoded.all() + media.id = None + media.save() + for transcoded in transcodeds: + transcoded.id = None + transcoded.item = media + transcoded.save() + + class MediaAdmin(admin.ModelAdmin): list_per_page = 30 exclude = ['readers'] search_fields = ['id', 'title', 'course__title', 'course__code'] list_filter = (ConferenceDateBeginFilter, ) inlines = [MediaTranscodedInline] - actions = [duplicate,] + actions = [duplicate_media,] class ConferenceAdmin(admin.ModelAdmin): -- 2.39.5