#132 | #121: backoffice / dev-1.0-121 (#131)

cfr #121

Co-authored-by: Christophe Siraut <d@tobald.eu.org>
Co-authored-by: bkfox <thomas bkfox net>
Co-authored-by: Thomas Kairos <thomas@bkfox.net>
Reviewed-on: rc/aircox#131
Co-authored-by: Chris Tactic <ctactic@noreply.git.radiocampus.be>
Co-committed-by: Chris Tactic <ctactic@noreply.git.radiocampus.be>
This commit is contained in:
2024-04-28 22:02:09 +02:00
committed by Thomas Kairos
parent 1e17a1334a
commit 55123c386d
348 changed files with 124397 additions and 17879 deletions

View File

@ -2,12 +2,23 @@ from adminsortable2.admin import SortableAdminBase
from django.contrib import admin
from django.forms import ModelForm
from aircox.models import Episode
from .page import PageAdmin
from .sound import SoundInline, TrackInline
from aircox.models import Episode, EpisodeSound
from .page import ChildPageAdmin
from .sound import TrackInline
from .diffusion import DiffusionInline
class EpisodeSoundInline(admin.TabularInline):
model = EpisodeSound
extra = 0
fields = (
"sound",
"position",
"broadcast",
)
autocomplete_fields = ("sound",)
class EpisodeAdminForm(ModelForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
@ -15,26 +26,14 @@ class EpisodeAdminForm(ModelForm):
@admin.register(Episode)
class EpisodeAdmin(SortableAdminBase, PageAdmin):
class EpisodeAdmin(SortableAdminBase, ChildPageAdmin):
form = EpisodeAdminForm
list_display = PageAdmin.list_display
list_filter = tuple(f for f in PageAdmin.list_filter if f != "pub_date") + (
list_display = ChildPageAdmin.list_display
list_filter = tuple(f for f in ChildPageAdmin.list_filter if f != "pub_date") + (
"diffusion__start",
"pub_date",
)
search_fields = PageAdmin.search_fields + ("parent__title",)
search_fields = ChildPageAdmin.search_fields + ("parent__title",)
# readonly_fields = ('parent',)
inlines = [TrackInline, SoundInline, DiffusionInline]
def add_view(self, request, object_id, form_url="", context=None):
context = context or {}
context["init_app"] = True
context["init_el"] = "#inline-tracks"
return super().change_view(request, object_id, form_url, context)
def change_view(self, request, object_id, form_url="", context=None):
context = context or {}
context["init_app"] = True
context["init_el"] = "#inline-tracks"
return super().change_view(request, object_id, form_url, context)
inlines = (TrackInline, EpisodeSoundInline, DiffusionInline)