Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions project_rates/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,10 @@ class ProjectListForRate(generics.ListAPIView):
filterset_class = ProjectFilter
pagination_class = RateProjectsPagination

def post(self, request, *args, **kwargs):
"""Allow POST with filters in JSON body."""
return self.list(request, *args, **kwargs)

def _get_program(self) -> PartnerProgram:
return PartnerProgram.objects.get(pk=self.kwargs.get("program_id"))

Expand All @@ -141,10 +145,10 @@ def _get_filters(self) -> dict:
Accept filters from JSON body to mirror /partner_programs/<id>/projects/filter/:
{"filters": {"case": ["Кейс 1"]}}
"""
if self.request.method != "POST":
return {}
data = getattr(self.request, "data", None)
body_filters = (
data.get("filters") if isinstance(data, dict) and data.get("filters") else {}
)
body_filters = data.get("filters") if isinstance(data, dict) else {}
return body_filters if isinstance(body_filters, dict) else {}

def get_queryset(self) -> QuerySet[Project]:
Expand Down