Skip to content
Snippets Groups Projects
Commit cae6166f authored by Eliot Berriot's avatar Eliot Berriot
Browse files

Merge branch '986-playlist-track-count' into 'develop'

Resolve "Skipped upload increased count on playlist"

Closes #986

See merge request funkwhale/funkwhale!970
parents dd9cca43 c8702ca7
No related branches found
No related tags found
No related merge requests found
......@@ -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)
......
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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment