From 5fee42f896d6f72c746c9a5f28a16a2c15fb8baf Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Tue, 17 Apr 2018 20:03:31 +0200 Subject: [PATCH] Can now filter by import status on library tracks --- api/funkwhale_api/federation/filters.py | 8 +++++++ .../federation/LibraryTrackTable.vue | 24 +++++++++++++++++-- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/api/funkwhale_api/federation/filters.py b/api/funkwhale_api/federation/filters.py index c911f1a89..7a388ff12 100644 --- a/api/funkwhale_api/federation/filters.py +++ b/api/funkwhale_api/federation/filters.py @@ -24,6 +24,7 @@ class LibraryFilter(django_filters.FilterSet): class LibraryTrackFilter(django_filters.FilterSet): library = django_filters.CharFilter('library__uuid') + imported = django_filters.CharFilter(method='filter_imported') q = fields.SearchFilter(search_fields=[ 'artist_name', 'title', @@ -31,6 +32,13 @@ class LibraryTrackFilter(django_filters.FilterSet): 'library__actor__domain', ]) + def filter_imported(self, queryset, field_name, value): + if value.lower() in ['true', '1', 'yes']: + queryset = queryset.filter(local_track_file__isnull=False) + elif value.lower() in ['false', '0', 'no']: + queryset = queryset.filter(local_track_file__isnull=True) + return queryset + class Meta: model = models.LibraryTrack fields = { diff --git a/front/src/components/federation/LibraryTrackTable.vue b/front/src/components/federation/LibraryTrackTable.vue index b4e7dd06f..925ef3889 100644 --- a/front/src/components/federation/LibraryTrackTable.vue +++ b/front/src/components/federation/LibraryTrackTable.vue @@ -1,7 +1,20 @@