From: Guillaume Pellerin Date: Fri, 2 Jul 2021 09:11:29 +0000 (+0200) Subject: use specific media duplication function with transcoded X-Git-Tag: 2.3~23 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=d006e43795115c66e4f9d2ca2eeecd60189f9562;p=teleforma.git use specific media duplication function with transcoded --- 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):