diff --git a/backend/secfit/users/views.py b/backend/secfit/users/views.py index 84060f4fe763b0a02f12efc86dff26bfe7ea6a21..5949ca4fb175393d078fd0c10ae09c17dcad28df 100644 --- a/backend/secfit/users/views.py +++ b/backend/secfit/users/views.py @@ -130,23 +130,28 @@ class OfferList( user = self.request.user # filtering by status (if provided) - status = query_params.get("status", None) - if status is not None and self.request is not None: - query_set = query_set.filter(status=status) - if query_params.get("status", None) is None: - query_set = Offer.objects.filter(Q(owner=user)).distinct() + filter_status(self, query_set, query_params, user) # filtering by category (sent or received) - category = query_params.get("category", None) - if category is not None and query_params is not None: - if category == "sent": - query_set = query_set.filter(owner=user) - elif category == "received": - query_set = query_set.filter(recipient=user) + filter_category(query_params, query_set, user) return query_set else: return result +def filter_status(self, query_set, query_params, user): + status = query_params.get("status", None) + if status is not None and self.request is not None: + query_set = query_set.filter(status=status) + if query_params.get("status", None) is None: + query_set = Offer.objects.filter(Q(owner=user)).distinct() + +def filter_category(query_params, query_set, user): + category = query_params.get("category", None) + if category is not None and query_params is not None: + if category == "sent": + query_set = query_set.filter(owner=user) + elif category == "received": + query_set = query_set.filter(recipient=user) class OfferDetail( mixins.RetrieveModelMixin,