Skip to content

Commit

Permalink
Merge pull request #76 from PROCOLLAB-github/dev
Browse files Browse the repository at this point in the history
Create route for project VacancyResponces
  • Loading branch information
Yakser authored Nov 21, 2022
2 parents 82658ad + 8ca825e commit 98975d7
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 2 deletions.
3 changes: 2 additions & 1 deletion projects/urls.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from django.urls import path


from projects.views import (
ProjectDetail,
ProjectList,
Expand All @@ -9,6 +8,7 @@
AchievementDetail,
ProjectCollaborators,
ProjectCountView,
ProjectVacancyResponses,
)

app_name = "projects"
Expand All @@ -21,4 +21,5 @@
path("steps/", ProjectSteps.as_view()),
path("achievements/", AchievementList.as_view()),
path("achievements/<int:pk>/", AchievementDetail.as_view()),
path("<int:pk>/responses/", ProjectVacancyResponses.as_view()),
]
19 changes: 18 additions & 1 deletion projects/views.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
from django.db.models import Q
from django_filters import rest_framework as filters
from rest_framework import generics, permissions, status
from rest_framework.permissions import IsAuthenticated
from rest_framework.response import Response
from rest_framework.views import APIView
from django.db.models import Q

from core.permissions import IsStaffOrReadOnly
from projects.filters import ProjectFilter
from projects.helpers import VERBOSE_STEPS
Expand All @@ -15,6 +17,8 @@
AchievementDetailSerializer,
ProjectCollaboratorSerializer,
)
from vacancy.models import VacancyResponse
from vacancy.serializers import VacancyResponseListSerializer


class ProjectList(generics.ListCreateAPIView):
Expand Down Expand Up @@ -169,3 +173,16 @@ class AchievementDetail(generics.RetrieveUpdateDestroyAPIView):
queryset = Achievement.objects.get_achievements_for_detail_view()
serializer_class = AchievementDetailSerializer
permission_classes = [IsStaffOrReadOnly]


class ProjectVacancyResponses(generics.GenericAPIView):
serializer_class = VacancyResponseListSerializer
permission_classes = [IsAuthenticated]

def get_queryset(self):
return VacancyResponse.objects.filter(vacancy__project_id=self.kwargs["pk"])

def get(self, request, pk):
queryset = self.get_queryset()
serializer = self.get_serializer(queryset, many=True)
return Response(serializer.data)

0 comments on commit 98975d7

Please sign in to comment.