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