create EpisodeSound & adapt; update list editors

This commit is contained in:
bkfox 2024-03-26 17:47:32 +01:00
parent 78a8478da8
commit 6bfcdd06c8
5 changed files with 18 additions and 19 deletions

View File

@ -12,8 +12,6 @@ from aircox.conf import settings
from .program import Program
from .file import File, FileQuerySet
from .track import Track
from .controllers.playlist_import import PlaylistImport
__all__ = ("Sound", "SoundQuerySet")
@ -133,6 +131,9 @@ class Sound(File):
Use provided sound's metadata if any and no csv file has been
found.
"""
from aircox.controllers.playlist_import import PlaylistImport
from .track import Track
if self.track_set.count() > 1:
return

File diff suppressed because one or more lines are too long

View File

@ -17,7 +17,6 @@ Context:
{% block tag-attrs %}
{{ block.super }}
list-url="{% url "api:episodesound-list" %}"
sound-list-url="{% url "api:sound-list" %}?program={{ object.parent_id }}"
sound-upload-url="{% url "api:sound-list" %}"
sound-delete-url="{% url "api:sound-detail" pk=123 %}"

View File

@ -73,7 +73,7 @@ class EpisodeUpdateView(UserPassesTestMixin, BaseProgramMixin, PageUpdateView):
return forms.TrackFormSet(**kwargs)
def get_soundlist_queryset(self, episode):
return episode.episodesound_set.all().select_related("sound").order_by("-broadcast", "position")
return episode.episodesound_set.all().select_related("sound").order_by("position")
def get_soundlist_formset(self, episode, **kwargs):
kwargs.update(

View File

@ -18,20 +18,19 @@
</button>
</template>
<template #default>
<div class="a-select-file">
<a-file-upload ref="upload" v-if="panel == UPLOAD"
:url="uploadUrl"
:label="uploadLabel" :field-name="uploadFieldName"
@load="uploadDone">
<template #form="data">
<slot name="upload-form" v-bind="data"></slot>
</template>
<template #preview="data">
<slot name="upload-preview" v-bind="data"></slot>
</template>
</a-file-upload>
<div ref="list" v-show="panel == LIST"
<a-file-upload ref="upload" v-if="panel == UPLOAD"
:url="uploadUrl"
:label="uploadLabel" :field-name="uploadFieldName"
@load="uploadDone">
<template #form="data">
<slot name="upload-form" v-bind="data"></slot>
</template>
<template #preview="data">
<slot name="upload-preview" v-bind="data"></slot>
</template>
</a-file-upload>
<div class="a-select-file" v-else>
<div ref="list"
:class="['a-select-file-list', listClass]">
<!-- tiles -->
<div v-if="prevUrl">