This commit is contained in:
nikolark committed 2015-01-17 16:42:00 +01:00
1 parent f869c9066a
commit d42d6253c4
2 files changed
+9 -3

No files matched your search

+7 -1
View File
@@ -1,6 +1,7 @@
import django_filters
from dpdapi.models import Alias
from rest_framework.filters import BaseFilterBackend
class AliasRegexFilter(django_filters.FilterSet):
@@ -8,4 +9,9 @@ class AliasRegexFilter(django_filters.FilterSet):
source_regex = django_filters.CharFilter(name="source", lookup_type='iregex')
class Meta:
model = Alias
model = Alias
class AliasRegexFilterBackend(BaseFilterBackend):
def filter_queryset(self, request, queryset, view):
return AliasRegexFilter(request.query_params, queryset=queryset).qs
+2 -2
View File
@@ -5,7 +5,7 @@ from rest_framework.permissions import IsAuthenticated
from rest_framework.response import Response
from rest_framework import status, filters, viewsets
from dpdapi.filters import AliasRegexFilter
from dpdapi.filters import AliasRegexFilterBackend
from dpdapi.models import Alias, Domain, User
from dpdapi.serializers import AliasSerializer, AliasIdSerializer, DomainSerializer, UserSerializer
@@ -18,7 +18,7 @@ class AliasViewSet(viewsets.ModelViewSet):
queryset = Alias.objects.all()
serializer_class = AliasSerializer
permission_classes = [IsAuthenticated]
filter_backends = (filters.DjangoFilterBackend, AliasRegexFilter)
filter_backends = (filters.DjangoFilterBackend, AliasRegexFilterBackend)
filter_fields = ('domain', 'domain__name',)
@list_route(methods=['post'])