[views] Fix showing only a users scrobbles

This commit is contained in:
2025-07-26 21:31:44 -04:00
parent 7d13967708
commit 685de842ea
12 changed files with 33 additions and 32 deletions

View File

@ -64,15 +64,16 @@ class ScrobbleableListView(ListView):
def get_queryset(self):
queryset = super().get_queryset()
user_filter = Q()
if not self.request.user.is_anonymous:
queryset = queryset.annotate(
user_filter = Q(scrobble__user=self.request.user)
queryset = (
queryset.annotate(
scrobble_count=Count("scrobble"),
filter=Q(scrobble__user=self.request.user),
).order_by("-scrobble_count")
else:
queryset = queryset.annotate(
scrobble_count=Count("scrobble")
).order_by("-scrobble_count")
)
.filter(user_filter, scrobble_count__gt=0)
.order_by("-scrobble_count")
)
return queryset
@ -86,7 +87,7 @@ class ScrobbleableDetailView(DetailView):
if not self.request.user.is_anonymous:
context_data["scrobbles"] = self.object.scrobble_set.filter(
user=self.request.user
)
).order_by("-timestamp")
return context_data
@ -201,7 +202,7 @@ class RecentScrobbleList(ListView):
processed_finished__isnull=True,
user=self.request.user,
)
data["counts"] = [] #scrobble_counts(user)
data["counts"] = [] # scrobble_counts(user)
else:
data["weekly_data"] = week_of_scrobbles()
data["counts"] = scrobble_counts()