diff --git a/greenmine/base/filters.py b/greenmine/base/filters.py index f586459f..5675338f 100644 --- a/greenmine/base/filters.py +++ b/greenmine/base/filters.py @@ -2,8 +2,7 @@ from rest_framework import filters - -class SimpleFilterBackend(filters.BaseFilterBackend): +class QueryParamsFilterMixin(object): _special_values_dict = { 'true': True, 'false': False, @@ -30,7 +29,15 @@ class SimpleFilterBackend(filters.BaseFilterBackend): return queryset -class IsProjectMemberFilterBackend(SimpleFilterBackend): +class FilterBackend(QueryParamsFilterMixin, + filters.BaseFilterBackend): + """ + Default filter backend. + """ + pass + + +class IsProjectMemberFilterBackend(FilterBackend): def filter_queryset(self, request, queryset, view): queryset = super(IsProjectMemberFilterBackend, self).filter_queryset( request, queryset, view) diff --git a/greenmine/settings/common.py b/greenmine/settings/common.py index 1bdec5b2..0db3d659 100644 --- a/greenmine/settings/common.py +++ b/greenmine/settings/common.py @@ -294,7 +294,7 @@ REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'greenmine.base.users.auth.SessionAuthentication', ), - 'FILTER_BACKEND': 'greenmine.base.filters.SimpleFilterBackend', + 'FILTER_BACKEND': 'greenmine.base.filters.FilterBackend', } from .appdefaults import *