BUG#2390 Allowing to filter projects by membership
parent
d3f9cfa4f5
commit
ed01cbd3a7
|
@ -57,7 +57,10 @@ class QueryParamsFilterMixin(filters.BaseFilterBackend):
|
||||||
query_params[field_name] = field_data
|
query_params[field_name] = field_data
|
||||||
|
|
||||||
if query_params:
|
if query_params:
|
||||||
queryset = queryset.filter(**query_params)
|
try:
|
||||||
|
queryset = queryset.filter(**query_params)
|
||||||
|
except ValueError:
|
||||||
|
raise exc.BadRequest("Error in filter params types.")
|
||||||
|
|
||||||
return queryset
|
return queryset
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,7 @@ class ProjectViewSet(ModelCrudViewSet):
|
||||||
list_serializer_class = serializers.ProjectSerializer
|
list_serializer_class = serializers.ProjectSerializer
|
||||||
permission_classes = (permissions.ProjectPermission, )
|
permission_classes = (permissions.ProjectPermission, )
|
||||||
filter_backends = (filters.CanViewProjectObjFilterBackend,)
|
filter_backends = (filters.CanViewProjectObjFilterBackend,)
|
||||||
|
filter_fields = (('member', 'members'),)
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
qs = models.Project.objects.all()
|
qs = models.Project.objects.all()
|
||||||
|
@ -402,7 +403,7 @@ class MembershipViewSet(ModelCrudViewSet):
|
||||||
# Creation
|
# Creation
|
||||||
if self.request.method == 'POST':
|
if self.request.method == 'POST':
|
||||||
return self.admin_serializer_class
|
return self.admin_serializer_class
|
||||||
|
|
||||||
return self.serializer_class
|
return self.serializer_class
|
||||||
|
|
||||||
project = get_object_or_404(models.Project, pk=project_id)
|
project = get_object_or_404(models.Project, pk=project_id)
|
||||||
|
|
Loading…
Reference in New Issue