From a06343d526f800ef5dc1ed17b0005467dbd53c24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bodor=20M=C3=A1t=C3=A9?= <bodor.mate@kszk.bme.hu> Date: Fri, 4 Jan 2019 21:44:03 +0100 Subject: [PATCH] Add profile and event query parameter filter to Note viewset --- src/stats/serializers.py | 2 +- src/stats/views.py | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/stats/serializers.py b/src/stats/serializers.py index 6841d4e..b2f4a76 100644 --- a/src/stats/serializers.py +++ b/src/stats/serializers.py @@ -29,5 +29,5 @@ class NoteSerializer(serializers.ModelSerializer): fields = '__all__' read_only_fields = ('created_at', 'update_at', 'created_by') - def get_creted_by_name(self, obj): + def get_created_by_name(self, obj): return obj.created_by.full_name diff --git a/src/stats/views.py b/src/stats/views.py index 322bb9b..13d1cc0 100644 --- a/src/stats/views.py +++ b/src/stats/views.py @@ -12,5 +12,16 @@ class EventViewSet(viewsets.ModelViewSet): class NoteViewSet(viewsets.ModelViewSet): serializer_class = serializers.NoteSerializer - queryset = models.Note.objects.all() permission_classes = (IsStaffUser, ) + + def get_queryset(self): + queryset = models.Note.objects.all() + profile_id = self.request.query_params.get('profileID', None) + event_id = self.request.query_params.get('eventID', None) + if profile_id is not None and event_id is not None: + return queryset.filter(user=profile_id, event=event_id) + if profile_id is not None: + return queryset.filter(user=profile_id) + if event_id is not None: + return queryset.filter(event=event_id) + return queryset -- GitLab