|
| 1 | +from django.db.models import Q |
1 | 2 | from django_filters import rest_framework as filters |
2 | 3 | from rest_framework import generics, permissions, status |
| 4 | +from rest_framework.permissions import IsAuthenticated |
3 | 5 | from rest_framework.response import Response |
4 | 6 | from rest_framework.views import APIView |
5 | | -from django.db.models import Q |
| 7 | + |
6 | 8 | from core.permissions import IsStaffOrReadOnly |
7 | 9 | from projects.filters import ProjectFilter |
8 | 10 | from projects.helpers import VERBOSE_STEPS |
|
15 | 17 | AchievementDetailSerializer, |
16 | 18 | ProjectCollaboratorSerializer, |
17 | 19 | ) |
| 20 | +from vacancy.models import VacancyResponse |
| 21 | +from vacancy.serializers import VacancyResponseListSerializer |
18 | 22 |
|
19 | 23 |
|
20 | 24 | class ProjectList(generics.ListCreateAPIView): |
@@ -169,3 +173,16 @@ class AchievementDetail(generics.RetrieveUpdateDestroyAPIView): |
169 | 173 | queryset = Achievement.objects.get_achievements_for_detail_view() |
170 | 174 | serializer_class = AchievementDetailSerializer |
171 | 175 | 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