Merge branch '986-playlist-track-count' into 'develop'
Resolve "Skipped upload increased count on playlist" Closes #986 See merge request funkwhale/funkwhale!970
This commit is contained in:
commit
cae6166fe4
|
@ -589,7 +589,12 @@ CELERY_BEAT_SCHEDULE = {
|
|||
},
|
||||
"federation.refresh_nodeinfo_known_nodes": {
|
||||
"task": "federation.refresh_nodeinfo_known_nodes",
|
||||
"schedule": crontab(minute="0", hour="*"),
|
||||
"schedule": crontab(
|
||||
**env.dict(
|
||||
"SCHEDULE_FEDERATION_REFRESH_NODEINFO_KNOWN_NODES",
|
||||
default={"minute": "0", "hour": "*"},
|
||||
)
|
||||
),
|
||||
"options": {"expires": 60 * 60},
|
||||
},
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ class PlaylistViewSet(
|
|||
queryset = (
|
||||
models.Playlist.objects.all()
|
||||
.select_related("user__actor")
|
||||
.annotate(tracks_count=Count("playlist_tracks"))
|
||||
.annotate(tracks_count=Count("playlist_tracks", distinct=True))
|
||||
.with_covers()
|
||||
.with_duration()
|
||||
)
|
||||
|
|
|
@ -25,6 +25,18 @@ def test_serializer_includes_tracks_count(factories, logged_in_api_client):
|
|||
assert response.data["tracks_count"] == 1
|
||||
|
||||
|
||||
def test_serializer_includes_tracks_count_986(factories, logged_in_api_client):
|
||||
playlist = factories["playlists.Playlist"]()
|
||||
plt = factories["playlists.PlaylistTrack"](playlist=playlist)
|
||||
factories["music.Upload"].create_batch(
|
||||
3, track=plt.track, library__privacy_level="everyone", import_status="finished"
|
||||
)
|
||||
url = reverse("api:v1:playlists-detail", kwargs={"pk": playlist.pk})
|
||||
response = logged_in_api_client.get(url)
|
||||
|
||||
assert response.data["tracks_count"] == 1
|
||||
|
||||
|
||||
def test_serializer_includes_is_playable(factories, logged_in_api_client):
|
||||
playlist = factories["playlists.Playlist"]()
|
||||
factories["playlists.PlaylistTrack"](playlist=playlist)
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Fixed invalid displayed number of tracks in playlist (#986)
|
|
@ -120,7 +120,9 @@
|
|||
<template slot="row-cells" slot-scope="scope">
|
||||
<template v-if="scope.obj.track">
|
||||
<td>
|
||||
<span :title="scope.obj.track.title">{{ scope.obj.track.title|truncate(25) }}</span>
|
||||
<router-link :to="{name: 'library.tracks.detail', params: {id: scope.obj.track.id }}" :title="scope.obj.track.title">
|
||||
{{ scope.obj.track.title|truncate(25) }}
|
||||
</router-link>
|
||||
</td>
|
||||
<td>
|
||||
<span
|
||||
|
|
Loading…
Reference in New Issue