diff --git a/vacancy/urls.py b/vacancy/urls.py index 530b5f57..b0c66f5a 100644 --- a/vacancy/urls.py +++ b/vacancy/urls.py @@ -17,6 +17,6 @@ path("/", VacancyDetail.as_view()), path("/responses/", VacancyResponseList.as_view()), path("responses//", VacancyResponseDetail.as_view()), - path("responses//accept", VacancyResponseAccept.as_view()), - path("responses//decline", VacancyResponseDecline.as_view()), + path("responses//accept/", VacancyResponseAccept.as_view()), + path("responses//decline/", VacancyResponseDecline.as_view()), ] diff --git a/vacancy/views.py b/vacancy/views.py index 4135b414..59fd1694 100644 --- a/vacancy/views.py +++ b/vacancy/views.py @@ -2,6 +2,7 @@ from rest_framework import generics, mixins, permissions, status from rest_framework.generics import GenericAPIView from rest_framework.response import Response +from projects.models import Collaborator from vacancy.filters import VacancyFilter from vacancy.models import Vacancy, VacancyResponse @@ -100,7 +101,13 @@ def post(self, request, pk): return Response(status=status.HTTP_400_BAD_REQUEST) vacancy_request.is_approved = True vacancy = vacancy_request.vacancy - vacancy.project.collaborators.add(vacancy_request.user) + new_collaborator = Collaborator( + user=vacancy_request.user, + project=vacancy.project, + role=vacancy.role, + ) + new_collaborator.save() + # vacancy.project.collaborator_set.add(vacancy_request.user) vacancy.project.save() vacancy_request.save() return Response(status=status.HTTP_200_OK)