From 341f1cb2d59b4fa40dbf458372b9e8df7d7d4741 Mon Sep 17 00:00:00 2001 From: bkfox Date: Wed, 20 May 2020 12:36:35 +0200 Subject: [PATCH] add parent validation on Episode admin form (issue #11) --- aircox/admin/episode.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/aircox/admin/episode.py b/aircox/admin/episode.py index 9cf7eb8..999f672 100644 --- a/aircox/admin/episode.py +++ b/aircox/admin/episode.py @@ -1,9 +1,8 @@ -import copy - +from django import forms from django.contrib import admin -from django.utils.translation import gettext as _, gettext_lazy +from django.utils.translation import gettext as _ -from ..models import Episode, Diffusion, Sound, Track +from ..models import Episode, Diffusion from .page import PageAdmin from .sound import SoundInline, TracksInline @@ -46,8 +45,15 @@ class DiffusionInline(DiffusionBaseAdmin, admin.TabularInline): return request.user.has_perm('aircox_program.scheduling') +class EpisodeAdminForm(forms.ModelForm): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.fields['parent'].required = True + + @admin.register(Episode) class EpisodeAdmin(PageAdmin): + form = EpisodeAdminForm list_display = PageAdmin.list_display list_filter = PageAdmin.list_filter search_fields = PageAdmin.search_fields + ['parent__title']