@@ -515,12 +515,13 @@ def delete(self, request, project_pk: int) -> Response:
515515
516516class DeleteProjectCollaborators (generics .GenericAPIView ):
517517 permission_classes = [IsProjectLeader ]
518- queryset = Project .objects .all ().select_related ("leader" )
519518
520519 def _project_data (
521- self ,
520+ self , project_pk : int
522521 ) -> tuple [Annotated [int , "ID проекта" ], Annotated [int , "ID лидера проекта" ]]:
523- project = self .get_object ()
522+ project = get_object_or_404 (
523+ Project .objects .select_related ("leader" ), id = project_pk
524+ )
524525 return project .id , project .leader .id
525526
526527 @staticmethod
@@ -538,7 +539,7 @@ def _collabs_queryset(
538539 def delete (self , request , project_pk : int ) -> Response :
539540 requested_collabs_ids : set [int ] = set (request .data )
540541
541- project_id , leader_id = self ._project_data ()
542+ project_id , leader_id = self ._project_data (project_pk )
542543 existing_collabs_ids : set [int ] = set (
543544 self ._collabs_queryset (project_id , requested_collabs_ids , leader_id )
544545 )
@@ -549,6 +550,9 @@ def delete(self, request, project_pk: int) -> Response:
549550 status = status .HTTP_422_UNPROCESSABLE_ENTITY ,
550551 )
551552 if unexisting_collabs := requested_collabs_ids - existing_collabs_ids :
553+ raise ValueError (
554+ unexisting_collabs , "." , requested_collabs_ids , "." , existing_collabs_ids
555+ )
552556 return Response (
553557 {
554558 "error" : f"Users with ids: { list (unexisting_collabs )} are not part of this project."
0 commit comments