From 09b1de61967140d57df54b03617fdc47492e90a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Barrag=C3=A1n=20Merino?= Date: Mon, 30 Sep 2013 17:36:53 +0200 Subject: [PATCH] Created a backend filter to filter the queryset by project__memberships --- greenmine/base/filters.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/greenmine/base/filters.py b/greenmine/base/filters.py index 5522b3ab..f586459f 100644 --- a/greenmine/base/filters.py +++ b/greenmine/base/filters.py @@ -28,3 +28,15 @@ class SimpleFilterBackend(filters.BaseFilterBackend): queryset = queryset.filter(**query_params) return queryset + + +class IsProjectMemberFilterBackend(SimpleFilterBackend): + def filter_queryset(self, request, queryset, view): + queryset = super(IsProjectMemberFilterBackend, self).filter_queryset( + request, queryset, view) + user = request.user + + if user.is_authenticated(): + queryset = queryset.filter(project__members=request.user) + + return queryset