Skip to content

Commit 27ed3ed

Browse files
authored
Merge pull request #580 from PROCOLLAB-github/fix/project-evaluation-logic
Реализован POST запрос для фильтрации проектов
2 parents 33bd64d + 2b27f0d commit 27ed3ed

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

project_rates/views.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,10 @@ class ProjectListForRate(generics.ListAPIView):
133133
filterset_class = ProjectFilter
134134
pagination_class = RateProjectsPagination
135135

136+
def post(self, request, *args, **kwargs):
137+
"""Allow POST with filters in JSON body."""
138+
return self.list(request, *args, **kwargs)
139+
136140
def _get_program(self) -> PartnerProgram:
137141
return PartnerProgram.objects.get(pk=self.kwargs.get("program_id"))
138142

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

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

0 commit comments

Comments
 (0)