From 0f12969f74bcd18328b7c4af8f219c36dcbfcf5d Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Tue, 11 Oct 2016 17:41:35 +0200 Subject: [PATCH] Add (temporary) audio views, DE-ACTIVATE Audio.SearchableManager (bug adding link in editor) --- app/organization/media/models.py | 2 +- app/organization/media/urls.py | 3 +++ app/organization/media/views.py | 42 +++++++++++++++++++++++++++++--- 3 files changed, 43 insertions(+), 4 deletions(-) diff --git a/app/organization/media/models.py b/app/organization/media/models.py index 7a9906db..35fcda66 100644 --- a/app/organization/media/models.py +++ b/app/organization/media/models.py @@ -25,7 +25,7 @@ class Media(Displayable): poster_url = models.URLField(_('poster'), max_length=1024, blank=True) created_at = models.DateTimeField(auto_now=True) - objects = SearchableManager() + # objects = SearchableManager() search_fields = ("title",) class Meta: diff --git a/app/organization/media/urls.py b/app/organization/media/urls.py index 6fe87b46..2e5763d5 100644 --- a/app/organization/media/urls.py +++ b/app/organization/media/urls.py @@ -15,4 +15,7 @@ urlpatterns = [ url(r'^videos/$', VideoListView.as_view(), name="festival-video-list"), url(r'^videos/detail/(?P.*)/$', VideoDetailView.as_view(), name="festival-video-detail"), url(r'^videos/category/(?P.*)/$', VideoListCategoryView.as_view(), name="festival-video-list-category"), + url(r'^audios/detail/(?P.*)/$', AudioDetailView.as_view(), name="festival-audio-detail"), + url(r'^audios/category/(?P.*)/$', AudioListCategoryView.as_view(), name="festival-audio-list-category"), + ] diff --git a/app/organization/media/views.py b/app/organization/media/views.py index b447b6d5..4ea5af32 100644 --- a/app/organization/media/views.py +++ b/app/organization/media/views.py @@ -8,6 +8,7 @@ from mezzanine_agenda.models import Event from organization.agenda.models import EventVideo from organization.magazine.models import Article, Topic, Brief, ArticleVideo + class VideoListView(ListView): model = Video @@ -18,7 +19,7 @@ class VideoListView(ListView): def get_context_data(self, **kwargs): context = super(VideoListView, self).get_context_data(**kwargs) - context['categories'] = VideoCategory.objects.all() + context['categories'] = MediaCategory.objects.all() return context @@ -36,7 +37,7 @@ class VideoDetailView(SlugMixin, DetailView): class VideoListCategoryView(VideoListView): def get_queryset(self): - self.category = VideoCategory.objects.get(slug=self.kwargs['slug']) + self.category = MediaCategory.objects.get(slug=self.kwargs['slug']) return self.model.objects.filter(category=self.category) def get_context_data(self, **kwargs): @@ -51,10 +52,45 @@ class MediaListView(ListView): context_object_name = 'media' def get_queryset(self): - # audios = Audio.objects.all() + audios = Audio.objects.all() videos = Video.objects.all() media_list = [video for video in videos] # media_list += [audio for audio in audios] media_list.sort(key=lambda x: x.created_at, reverse=True) return media_list + + +class AudioDetailView(SlugMixin, DetailView): + + model = Audio + template_name='festival/video_detail.html' + context_object_name = 'video' + + def get_context_data(self, **kwargs): + context = super(AudioDetailView, self).get_context_data(**kwargs) + return context + +class AudioListView(ListView): + + model = Audio + template_name='festival/video_list.html' + + def get_queryset(self, **kwargs): + return self.model.objects.published() + + def get_context_data(self, **kwargs): + context = super(AudioListView, self).get_context_data(**kwargs) + context['categories'] = MediaCategory.objects.all() + return context + +class AudioListCategoryView(AudioListView): + + def get_queryset(self): + self.category = MediaCategory.objects.get(slug=self.kwargs['slug']) + return self.model.objects.filter(category=self.category) + + def get_context_data(self, **kwargs): + context = super(AudioListCategoryView, self).get_context_data(**kwargs) + context['category'] = self.category + return context -- 2.39.5