Skip to content

Commit 1a1230a

Browse files
authored
Enhance engagement close/reopen actions with permission checks (#14517)
* feat: enhance engagement close/reopen actions with permission checks and update response handling * feat: add versioned fixtures to EngagementCloseReopenAPITest class
1 parent dda5cad commit 1a1230a

3 files changed

Lines changed: 485 additions & 7 deletions

File tree

dojo/api_v2/views.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
from django.db.models import OuterRef, Value
1616
from django.db.models.functions import Coalesce
1717
from django.db.models.query import QuerySet as DjangoQuerySet
18-
from django.http import FileResponse, HttpResponse
18+
from django.http import FileResponse
1919
from django.shortcuts import get_object_or_404
2020
from django.urls import reverse
2121
from django.utils import timezone
@@ -469,20 +469,20 @@ def get_queryset(self):
469469
@extend_schema(
470470
request=OpenApiTypes.NONE, responses={status.HTTP_200_OK: ""},
471471
)
472-
@action(detail=True, methods=["post"])
472+
@action(detail=True, methods=["post"], permission_classes=(IsAuthenticated, permissions.UserHasEngagementRelatedObjectPermission))
473473
def close(self, request, pk=None):
474474
eng = self.get_object()
475475
close_engagement(eng)
476-
return HttpResponse()
476+
return Response({}, status=status.HTTP_200_OK)
477477

478478
@extend_schema(
479479
request=OpenApiTypes.NONE, responses={status.HTTP_200_OK: ""},
480480
)
481-
@action(detail=True, methods=["post"])
481+
@action(detail=True, methods=["post"], permission_classes=(IsAuthenticated, permissions.UserHasEngagementRelatedObjectPermission))
482482
def reopen(self, request, pk=None):
483483
eng = self.get_object()
484484
reopen_engagement(eng)
485-
return HttpResponse()
485+
return Response({}, status=status.HTTP_200_OK)
486486

487487
@extend_schema(
488488
request=serializers.ReportGenerateOptionSerializer,

0 commit comments

Comments
 (0)