diff --git a/vrobbler/apps/scrobbles/urls.py b/vrobbler/apps/scrobbles/urls.py index 84a921b..9d1b5ba 100644 --- a/vrobbler/apps/scrobbles/urls.py +++ b/vrobbler/apps/scrobbles/urls.py @@ -121,6 +121,7 @@ urlpatterns = [ views.ScrobbleLongPlaysView.as_view(), name="long-plays", ), + path("scrobbles/", views.ScrobbleListView.as_view(), name="scrobble-list"), path( "scrobbles//", views.ScrobbleDetailView.as_view(), @@ -129,5 +130,4 @@ urlpatterns = [ path("scrobbles//start/", views.scrobble_start, name="start"), path("scrobbles//finish/", views.scrobble_finish, name="finish"), path("scrobbles//cancel/", views.scrobble_cancel, name="cancel"), - path("scrobbles/", views.ScrobbleListView.as_view(), name="scrobble-list"), ] diff --git a/vrobbler/apps/scrobbles/views.py b/vrobbler/apps/scrobbles/views.py index 6dc06b1..818ec87 100644 --- a/vrobbler/apps/scrobbles/views.py +++ b/vrobbler/apps/scrobbles/views.py @@ -192,26 +192,6 @@ class ScrobbleableDetailView(ChartContextMixin, DetailView): class RecentScrobbleList(ListView): model = Scrobble - -class ScrobbleListView(LoginRequiredMixin, ListView): - model = Scrobble - paginate_by = 100 - template_name = "scrobbles/scrobble_all_list.html" - - def get_queryset(self): - qs = Scrobble.objects.filter(user=self.request.user).order_by("-timestamp") - tags_param = self.request.GET.get("tags", "") - if tags_param: - tag_list = [t.strip() for t in tags_param.split(",") if t.strip()] - if tag_list: - qs = qs.filter(tags__name__in=tag_list).distinct() - return qs - - def get_context_data(self, **kwargs): - ctx = super().get_context_data(**kwargs) - ctx["tags_param"] = self.request.GET.get("tags", "") - return ctx - def get(self, *args, **kwargs): user = self.request.user if user.is_authenticated: @@ -324,6 +304,26 @@ class ScrobbleListView(LoginRequiredMixin, ListView): return Scrobble.objects.all().order_by("-timestamp") +class ScrobbleListView(LoginRequiredMixin, ListView): + model = Scrobble + paginate_by = 100 + template_name = "scrobbles/scrobble_all_list.html" + + def get_queryset(self): + qs = Scrobble.objects.filter(user=self.request.user).order_by("-timestamp") + tags_param = self.request.GET.get("tags", "") + if tags_param: + tag_list = [t.strip() for t in tags_param.split(",") if t.strip()] + if tag_list: + qs = qs.filter(tags__name__in=tag_list).distinct() + return qs + + def get_context_data(self, **kwargs): + ctx = super().get_context_data(**kwargs) + ctx["tags_param"] = self.request.GET.get("tags", "") + return ctx + + class ScrobbleLongPlaysView(TemplateView): template_name = "scrobbles/long_plays_in_progress.html" diff --git a/vrobbler/templates/scrobbles/scrobble_detail.html b/vrobbler/templates/scrobbles/scrobble_detail.html index 24451a2..a1365a2 100644 --- a/vrobbler/templates/scrobbles/scrobble_detail.html +++ b/vrobbler/templates/scrobbles/scrobble_detail.html @@ -21,14 +21,16 @@

{{ object.logdata.description }}

{% endif %} -Tags: {{object.tags}} -{% if object.tags.all %}

- {% for tag in object.tags.all %} - {{ tag.name }} - {% endfor %} + Tags: + {% if object.tags.all %} + {% for tag in object.tags.all %} + {{ tag.name }} + {% endfor %} + {% else %} + untagged + {% endif %}

-{% endif %} {% with notes_html=object.logdata.notes_as_html %} {% if notes_html %}