Skip to content

Commit 98975d7

Browse files
authored
Merge pull request #76 from PROCOLLAB-github/dev
Create route for project VacancyResponces
2 parents 82658ad + 8ca825e commit 98975d7

2 files changed

Lines changed: 20 additions & 2 deletions

File tree

projects/urls.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
from django.urls import path
22

3-
43
from projects.views import (
54
ProjectDetail,
65
ProjectList,
@@ -9,6 +8,7 @@
98
AchievementDetail,
109
ProjectCollaborators,
1110
ProjectCountView,
11+
ProjectVacancyResponses,
1212
)
1313

1414
app_name = "projects"
@@ -21,4 +21,5 @@
2121
path("steps/", ProjectSteps.as_view()),
2222
path("achievements/", AchievementList.as_view()),
2323
path("achievements/<int:pk>/", AchievementDetail.as_view()),
24+
path("<int:pk>/responses/", ProjectVacancyResponses.as_view()),
2425
]

projects/views.py

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1+
from django.db.models import Q
12
from django_filters import rest_framework as filters
23
from rest_framework import generics, permissions, status
4+
from rest_framework.permissions import IsAuthenticated
35
from rest_framework.response import Response
46
from rest_framework.views import APIView
5-
from django.db.models import Q
7+
68
from core.permissions import IsStaffOrReadOnly
79
from projects.filters import ProjectFilter
810
from projects.helpers import VERBOSE_STEPS
@@ -15,6 +17,8 @@
1517
AchievementDetailSerializer,
1618
ProjectCollaboratorSerializer,
1719
)
20+
from vacancy.models import VacancyResponse
21+
from vacancy.serializers import VacancyResponseListSerializer
1822

1923

2024
class ProjectList(generics.ListCreateAPIView):
@@ -169,3 +173,16 @@ class AchievementDetail(generics.RetrieveUpdateDestroyAPIView):
169173
queryset = Achievement.objects.get_achievements_for_detail_view()
170174
serializer_class = AchievementDetailSerializer
171175
permission_classes = [IsStaffOrReadOnly]
176+
177+
178+
class ProjectVacancyResponses(generics.GenericAPIView):
179+
serializer_class = VacancyResponseListSerializer
180+
permission_classes = [IsAuthenticated]
181+
182+
def get_queryset(self):
183+
return VacancyResponse.objects.filter(vacancy__project_id=self.kwargs["pk"])
184+
185+
def get(self, request, pk):
186+
queryset = self.get_queryset()
187+
serializer = self.get_serializer(queryset, many=True)
188+
return Response(serializer.data)

0 commit comments

Comments
 (0)