forked from rc/aircox
aircox/views/episode: add name, url and delete properties as sound data available to vuejs
This commit is contained in:
parent
4f28e884ae
commit
ff9cfd4a89
|
@ -5,7 +5,7 @@ from django.urls import reverse
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from django.views.generic.base import View
|
from django.views.generic.base import View
|
||||||
|
|
||||||
from aircox.models import Episode, Program, StaticPage, Track
|
from aircox.models import Episode, Program, StaticPage, Sound, Track
|
||||||
from aircox import forms, filters, permissions
|
from aircox import forms, filters, permissions
|
||||||
|
|
||||||
from .mixins import VueFormDataMixin
|
from .mixins import VueFormDataMixin
|
||||||
|
@ -144,6 +144,14 @@ class EpisodeUpdateView(UserPassesTestMixin, VueFormDataMixin, PageUpdateView):
|
||||||
for key in ("soundlist_formset", "tracklist_formset"):
|
for key in ("soundlist_formset", "tracklist_formset"):
|
||||||
formset = kwargs[key]
|
formset = kwargs[key]
|
||||||
kwargs[f"{key}_data"] = self.get_formset_data(formset, {"episode": self.object.id})
|
kwargs[f"{key}_data"] = self.get_formset_data(formset, {"episode": self.object.id})
|
||||||
|
|
||||||
|
for i, episode_sound in enumerate(kwargs["soundlist_formset_data"]["initials"]):
|
||||||
|
# annotate sound properties for vuejs
|
||||||
|
sound = Sound.objects.get(id=episode_sound["sound"])
|
||||||
|
kwargs["soundlist_formset_data"]["initials"][i]["name"] = sound.name
|
||||||
|
kwargs["soundlist_formset_data"]["initials"][i]["url"] = sound.file.url
|
||||||
|
kwargs["soundlist_formset_data"]["initials"][i]["delete_attr_name"] = f"sounds-{i}-DELETE"
|
||||||
|
|
||||||
return super().get_context_data(**kwargs)
|
return super().get_context_data(**kwargs)
|
||||||
|
|
||||||
def post(self, request, *args, **kwargs):
|
def post(self, request, *args, **kwargs):
|
||||||
|
|
Loading…
Reference in New Issue
Block a user