[views] Fix showing only a users scrobbles
This commit is contained in:
@ -64,15 +64,16 @@ class ScrobbleableListView(ListView):
|
|||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
queryset = super().get_queryset()
|
queryset = super().get_queryset()
|
||||||
|
user_filter = Q()
|
||||||
if not self.request.user.is_anonymous:
|
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"),
|
scrobble_count=Count("scrobble"),
|
||||||
filter=Q(scrobble__user=self.request.user),
|
)
|
||||||
).order_by("-scrobble_count")
|
.filter(user_filter, scrobble_count__gt=0)
|
||||||
else:
|
.order_by("-scrobble_count")
|
||||||
queryset = queryset.annotate(
|
)
|
||||||
scrobble_count=Count("scrobble")
|
|
||||||
).order_by("-scrobble_count")
|
|
||||||
return queryset
|
return queryset
|
||||||
|
|
||||||
|
|
||||||
@ -86,7 +87,7 @@ class ScrobbleableDetailView(DetailView):
|
|||||||
if not self.request.user.is_anonymous:
|
if not self.request.user.is_anonymous:
|
||||||
context_data["scrobbles"] = self.object.scrobble_set.filter(
|
context_data["scrobbles"] = self.object.scrobble_set.filter(
|
||||||
user=self.request.user
|
user=self.request.user
|
||||||
)
|
).order_by("-timestamp")
|
||||||
return context_data
|
return context_data
|
||||||
|
|
||||||
|
|
||||||
@ -201,7 +202,7 @@ class RecentScrobbleList(ListView):
|
|||||||
processed_finished__isnull=True,
|
processed_finished__isnull=True,
|
||||||
user=self.request.user,
|
user=self.request.user,
|
||||||
)
|
)
|
||||||
data["counts"] = [] #scrobble_counts(user)
|
data["counts"] = [] # scrobble_counts(user)
|
||||||
else:
|
else:
|
||||||
data["weekly_data"] = week_of_scrobbles()
|
data["weekly_data"] = week_of_scrobbles()
|
||||||
data["counts"] = scrobble_counts()
|
data["counts"] = scrobble_counts()
|
||||||
|
|||||||
@ -39,7 +39,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<p>{{object.scrobble_set.count}} scrobbles</p>
|
<p>{{scrobbles.count}} scrobbles</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="{{object.start_url}}">Drink again</a>
|
<a href="{{object.start_url}}">Drink again</a>
|
||||||
</p>
|
</p>
|
||||||
@ -55,7 +55,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for scrobble in object.scrobble_set.all|dictsortreversed:"timestamp" %}
|
{% for scrobble in scrobbles.all|dictsortreversed:"timestamp" %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{scrobble.local_timestamp}}</td>
|
<td>{{scrobble.local_timestamp}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@ -42,7 +42,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<p>{{object.scrobble_set.count}} scrobbles</p>
|
<p>{{scrobbles.count}} scrobbles</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="{{object.start_url}}">Play again</a>
|
<a href="{{object.start_url}}">Play again</a>
|
||||||
</p>
|
</p>
|
||||||
@ -60,7 +60,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for scrobble in object.scrobble_set.all|dictsortreversed:"timestamp" %}
|
{% for scrobble in scrobbles.all|dictsortreversed:"timestamp" %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{scrobble.local_timestamp}}</td>
|
<td>{{scrobble.local_timestamp}}</td>
|
||||||
<td>{{scrobble.media_obj.publisher}}</td>
|
<td>{{scrobble.media_obj.publisher}}</td>
|
||||||
|
|||||||
@ -26,10 +26,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<p>{{object.scrobble_set.count}} scrobbles</p>
|
<p>{{scrobbles.count}} scrobbles</p>
|
||||||
<p>Read {{object.scrobble_set.last.book_pages_read}} pages{% if object.scrobble_set.last.long_play_complete %} and completed{% else %}{% endif %}</p>
|
<p>Read {{scrobbles.last.book_pages_read}} pages{% if scrobbles.last.long_play_complete %} and completed{% else %}{% endif %}</p>
|
||||||
<p>
|
<p>
|
||||||
{% if object.scrobble_set.last.long_play_complete == True %}
|
{% if scrobbles.last.long_play_complete == True %}
|
||||||
<a href="">Read again</a>
|
<a href="">Read again</a>
|
||||||
{% else %}
|
{% else %}
|
||||||
<a href="">Resume reading</a>
|
<a href="">Resume reading</a>
|
||||||
@ -50,7 +50,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for scrobble in object.scrobble_set.all|dictsortreversed:"timestamp" %}
|
{% for scrobble in scrobbles.all|dictsortreversed:"timestamp" %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{scrobble.local_timestamp}}</td>
|
<td>{{scrobble.local_timestamp}}</td>
|
||||||
<td>{% if scrobble.long_play_complete == True %}Yes{% endif %}</td>
|
<td>{% if scrobble.long_play_complete == True %}Yes{% endif %}</td>
|
||||||
|
|||||||
@ -48,7 +48,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<p>{{object.scrobble_set.count}} scrobbles</p>
|
<p>{{scrobbles.count}} scrobbles</p>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md">
|
<div class="col-md">
|
||||||
<h3>Last scrobbles</h3>
|
<h3>Last scrobbles</h3>
|
||||||
@ -60,7 +60,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for scrobble in object.scrobble_set.all|dictsortreversed:"timestamp" %}
|
{% for scrobble in scrobbles.all|dictsortreversed:"timestamp" %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{scrobble.local_timestamp|naturaltime}}</td>
|
<td>{{scrobble.local_timestamp|naturaltime}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@ -26,7 +26,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for scrobble in object.scrobble_set.all %}
|
{% for scrobble in scrobbles.all %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{scrobble.local_timestamp}}</td>
|
<td>{{scrobble.local_timestamp}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<p>{{object.scrobble_set.count}} scrobbles</p>
|
<p>{{scrobbles.count}} scrobbles</p>
|
||||||
{% if charts %}
|
{% if charts %}
|
||||||
<p>{% for chart in charts %}<em><a href="{{chart.link}}">{{chart}}</a></em>{% if forloop.last %}{% else %} | {% endif %}{% endfor %}</p>
|
<p>{% for chart in charts %}<em><a href="{{chart.link}}">{{chart}}</a></em>{% if forloop.last %}{% else %} | {% endif %}{% endfor %}</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -26,7 +26,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for scrobble in object.scrobble_set.all %}
|
{% for scrobble in scrobbles.all %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{scrobble.local_timestamp}}</td>
|
<td>{{scrobble.local_timestamp}}</td>
|
||||||
<td><a href="{{scrobble.track.get_absolute_url}}">{{scrobble.track.title}}</a></td>
|
<td><a href="{{scrobble.track.get_absolute_url}}">{{scrobble.track.title}}</a></td>
|
||||||
|
|||||||
@ -18,7 +18,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for scrobble in object.scrobble_set.all %}
|
{% for scrobble in scrobbles.all %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{scrobble.local_timestamp}}</td>
|
<td>{{scrobble.local_timestamp}}</td>
|
||||||
<td>{{scrobble.media_obj.round.season.name}}</td>
|
<td>{{scrobble.media_obj.round.season.name}}</td>
|
||||||
|
|||||||
@ -39,7 +39,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<p>{{object.scrobble_set.count}} scrobbles</p>
|
<p>{{scrobbles.count}} scrobbles</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="{{object.start_url}}">Play again</a>
|
<a href="{{object.start_url}}">Play again</a>
|
||||||
</p>
|
</p>
|
||||||
@ -57,7 +57,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for scrobble in object.scrobble_set.all|dictsortreversed:"timestamp" %}
|
{% for scrobble in scrobbles.all|dictsortreversed:"timestamp" %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{scrobble.local_timestamp}}</td>
|
<td>{{scrobble.local_timestamp}}</td>
|
||||||
<td><a href="{{scrobble.get_media_source_url}}">{{scrobble.logdata.description}}</a></td>
|
<td><a href="{{scrobble.get_media_source_url}}">{{scrobble.logdata.description}}</a></td>
|
||||||
|
|||||||
@ -59,12 +59,12 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<p>{{object.scrobble_set.count}} scrobbles</p>
|
<p>{{scrobbles.count}} scrobbles</p>
|
||||||
{% if object.scrobble_set.last.long_play_seconds %}
|
{% if scrobbles.last.long_play_seconds %}
|
||||||
<p>{{object.scrobble_set.last.long_play_seconds|natural_duration}}{% if object.scrobble_set.last.long_play_complete %} and completed{% else %} spent playing{% endif %}</p>
|
<p>{{scrobbles.last.long_play_seconds|natural_duration}}{% if scrobbles.last.long_play_complete %} and completed{% else %} spent playing{% endif %}</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<p>
|
<p>
|
||||||
{% if object.scrobble_set.last.long_play_complete == True %}
|
{% if scrobbles.last.long_play_complete == True %}
|
||||||
<a href="">Play again</a>
|
<a href="">Play again</a>
|
||||||
{% else %}
|
{% else %}
|
||||||
<a href="{{object.start_url}}">Resume playing</a>
|
<a href="{{object.start_url}}">Resume playing</a>
|
||||||
@ -86,7 +86,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for scrobble in object.scrobble_set.all|dictsortreversed:"timestamp" %}
|
{% for scrobble in scrobbles.all|dictsortreversed:"timestamp" %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{scrobble.local-timestamp}}</td>
|
<td>{{scrobble.local-timestamp}}</td>
|
||||||
<td>{% if scrobble.long_play_complete == True %}Yes{% else %}Not yet{% endif %}</td>
|
<td>{% if scrobble.long_play_complete == True %}Yes{% else %}Not yet{% endif %}</td>
|
||||||
|
|||||||
@ -85,7 +85,7 @@ dd {
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for scrobble in object.scrobble_set.all %}
|
{% for scrobble in scrobbles.all %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{scrobble.local_timestamp}}</td>
|
<td>{{scrobble.local_timestamp}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@ -51,7 +51,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for scrobble in object.scrobble_set.all %}
|
{% for scrobble in scrobbles.all %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{scrobble.local_timestamp}}</td>
|
<td>{{scrobble.local_timestamp}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
Reference in New Issue
Block a user