From ffd1ae0c4466ebbb176a67a88d836f0270d7f995 Mon Sep 17 00:00:00 2001 From: Marcos Date: Tue, 22 Mar 2022 16:13:19 +0100 Subject: [PATCH 01/10] Fixes broken channel page --- api/funkwhale_api/audio/serializers.py | 2 +- api/tests/audio/test_serializers.py | 2 +- changes/changelog.d/1729.bugfix | 1 + front/src/components/audio/ChannelEntries.vue | 2 +- front/src/components/audio/track/Table.vue | 14 ++++++++------ front/src/components/channels/AlbumSelect.vue | 8 ++++---- front/src/components/channels/LicenseSelect.vue | 2 +- front/src/components/common/DangerousButton.vue | 2 +- front/src/components/library/AlbumBase.vue | 2 +- front/src/filters.js | 9 +++++++++ front/src/views/channels/DetailBase.vue | 13 +++++++++---- front/tests/unit/specs/filters/filters.spec.js | 11 +++++++++-- 12 files changed, 46 insertions(+), 22 deletions(-) create mode 100644 changes/changelog.d/1729.bugfix diff --git a/api/funkwhale_api/audio/serializers.py b/api/funkwhale_api/audio/serializers.py index 0bd8e6c4a..2c7fe6f91 100644 --- a/api/funkwhale_api/audio/serializers.py +++ b/api/funkwhale_api/audio/serializers.py @@ -267,7 +267,7 @@ class ChannelSerializer(serializers.ModelSerializer): return obj.actor.received_follows.exclude(approved=False).count() def get_downloads_count(self, obj): - return getattr(obj, "_downloads_count", None) + return getattr(obj, "_downloads_count", None) or 0 def get_actor(self, obj): if obj.attributed_to == actors.get_service_actor(): diff --git a/api/tests/audio/test_serializers.py b/api/tests/audio/test_serializers.py index 58b7986e5..c91f1409f 100644 --- a/api/tests/audio/test_serializers.py +++ b/api/tests/audio/test_serializers.py @@ -250,7 +250,7 @@ def test_channel_serializer_external_representation(factories, to_api_date): "metadata": {}, "rss_url": channel.get_rss_url(), "url": channel.actor.url, - "downloads_count": None, + "downloads_count": 0, } expected["artist"]["description"] = common_serializers.ContentSerializer( content diff --git a/changes/changelog.d/1729.bugfix b/changes/changelog.d/1729.bugfix new file mode 100644 index 000000000..b7dd2b7c4 --- /dev/null +++ b/changes/changelog.d/1729.bugfix @@ -0,0 +1 @@ +Fixes channel page (#1729) (1729) diff --git a/front/src/components/audio/ChannelEntries.vue b/front/src/components/audio/ChannelEntries.vue index 21c4dc1c8..8b720042c 100644 --- a/front/src/components/audio/ChannelEntries.vue +++ b/front/src/components/audio/ChannelEntries.vue @@ -67,7 +67,7 @@ export default { props: { filters: { type: Object, required: true }, limit: { type: Number, default: 10 }, - defaultCover: { type: Object, required: true }, + defaultCover: { type: Object, default: () => ({}) }, isPodcast: { type: Boolean, required: true } }, data () { diff --git a/front/src/components/audio/track/Table.vue b/front/src/components/audio/track/Table.vue index 038371de8..c0d199926 100644 --- a/front/src/components/audio/track/Table.vue +++ b/front/src/components/audio/track/Table.vue @@ -108,7 +108,7 @@ > @@ -160,9 +160,10 @@