@@ -482,12 +482,13 @@ def delete(self, request, project_pk: int) -> Response:
482482
483483class DeleteProjectCollaborators (generics .GenericAPIView ):
484484 permission_classes = [IsProjectLeader ]
485- queryset = Project .objects .all ().select_related ("leader" )
486485
487486 def _project_data (
488- self ,
487+ self , project_pk : int
489488 ) -> tuple [Annotated [int , "ID проекта" ], Annotated [int , "ID лидера проекта" ]]:
490- project = self .get_object ()
489+ project = get_object_or_404 (
490+ Project .objects .select_related ("leader" ), id = project_pk
491+ )
491492 return project .id , project .leader .id
492493
493494 @staticmethod
@@ -505,7 +506,7 @@ def _collabs_queryset(
505506 def delete (self , request , project_pk : int ) -> Response :
506507 requested_collabs_ids : set [int ] = set (request .data )
507508
508- project_id , leader_id = self ._project_data ()
509+ project_id , leader_id = self ._project_data (project_pk )
509510 existing_collabs_ids : set [int ] = set (
510511 self ._collabs_queryset (project_id , requested_collabs_ids , leader_id )
511512 )
@@ -516,6 +517,9 @@ def delete(self, request, project_pk: int) -> Response:
516517 status = status .HTTP_422_UNPROCESSABLE_ENTITY ,
517518 )
518519 if unexisting_collabs := requested_collabs_ids - existing_collabs_ids :
520+ raise ValueError (
521+ unexisting_collabs , "." , requested_collabs_ids , "." , existing_collabs_ids
522+ )
519523 return Response (
520524 {
521525 "error" : f"Users with ids: { list (unexisting_collabs )} are not part of this project."
0 commit comments