]> git.0d.be Git - django-panik-nonstop.git/commitdiff
add page to edit metadata for tracks of a given artist
authorFrédéric Péters <fpeters@0d.be>
Thu, 16 Jul 2020 13:19:49 +0000 (15:19 +0200)
committerFrédéric Péters <fpeters@0d.be>
Thu, 16 Jul 2020 13:19:49 +0000 (15:19 +0200)
nonstop/templates/nonstop/artist_detail.html
nonstop/urls.py
nonstop/views.py

index 6201e35ad210bba7d6175a2837146d6ec71fb326..50174f095901a47e0a1358e21fe6d47656442cc0 100644 (file)
 </div>
 
 {% endblock %}
+
+{% block sidebar %}
+<aside id="sidebar">
+<p>
+<a class="button" href="{% url 'nonstop-artist-metadata-tracks' artist_pk=object.id %}">{% trans "Update tracks metadata" %}</a>
+</p>
+</aside>
+{% endblock %}
index cb54c506a4350d24a73a6fc1535e43a82e496a91..390f6042af3ab28d48e0d9f42b3a0e0ab7c25ea4 100644 (file)
@@ -5,7 +5,7 @@ from django.views.generic import RedirectView
 from .views import (SomaDayArchiveView, SomaDayArchiveCsvView, RedirectTodayView,
         TrackDetailView, ArtistDetailView, ArtistListView, StatisticsView,
         UploadTracksView, RecentTracksMetadataView, RandomTracksMetadataView,
-        QuickLinksView, SearchView, CleanupView,
+        QuickLinksView, SearchView, CleanupView, ArtistTracksMetadataView,
         SearchCsvView, AddSomaDiffusionView, DelSomaDiffusionView,
         DiffusionPropertiesView, AjaxProgram, ZoneSettings,
         jingle_audio_view)
@@ -32,6 +32,7 @@ urlpatterns = [
     url(r'^upload/$', UploadTracksView.as_view(), name='nonstop-upload-tracks'),
     url(r'^metadata/recent/$', RecentTracksMetadataView.as_view(), name='nonstop-recent-tracks'),
     url(r'^metadata/random/$', RandomTracksMetadataView.as_view(), name='nonstop-random-tracks'),
+    url(r'^metadata/artist/(?P<artist_pk>\d+)/$', ArtistTracksMetadataView.as_view(), name='nonstop-artist-metadata-tracks'),
     url(r'^search/$', SearchView.as_view(), name='nonstop-search'),
     url(r'^search/csv$', SearchCsvView.as_view(), name='nonstop-search-csv'),
     url(r'^quick-links/$', RedirectView.as_view(url=reverse_lazy('nonstop-quick-links'))),
index f0eee55c520426247b6320f1a6e0cf8581041665..e8342896c83102877361369e1cfd9b3c581c7ad0 100644 (file)
@@ -313,6 +313,16 @@ class RecentTracksMetadataView(TracksMetadataView):
         return super().get_queryset().exclude(creation_timestamp__isnull=True).order_by('-creation_timestamp')[:50]
 
 
+class ArtistTracksMetadataView(TracksMetadataView):
+
+    @property
+    def page_title(self):
+        return _('Metadata of tracks from %s') % Artist.objects.get(id=self.kwargs['artist_pk']).name
+
+    def get_queryset(self):
+        return super().get_queryset().filter(artist_id=self.kwargs['artist_pk']).order_by('title')
+
+
 class QuickLinksView(TemplateView):
     template_name = 'nonstop/quick_links.html'