File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -537,11 +537,21 @@ class LeaveProject(generics.GenericAPIView):
537537 permission_classes = [IsAuthenticated ]
538538
539539 def delete (self , request , project_pk : int ) -> Response :
540+ current_user_id = self .request .user .id
540541 collaborator = get_object_or_404 (
541542 Collaborator .objects .all (),
542543 project_id = project_pk ,
543- user_id = self . request . user . id ,
544+ user_id = current_user_id ,
544545 )
546+ project = Project .objects .get (id = project_pk ).select_related ("leader" )
547+ if project .leader .id == current_user_id :
548+ return Response (
549+ {
550+ "error" : "You can't leave if you are a leader of a project. "
551+ "Please, switch leadership!"
552+ },
553+ status = status .HTTP_422_UNPROCESSABLE_ENTITY ,
554+ )
545555 collaborator .delete ()
546556 return Response (status = 204 )
547557
You can’t perform that action at this time.
0 commit comments