mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-24 04:50:30 +00:00
fix: 工单已关闭 再审批bug
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from rest_framework import viewsets
|
||||
from rest_framework.decorators import action
|
||||
from rest_framework.exceptions import MethodNotAllowed
|
||||
@@ -54,16 +54,20 @@ class TicketViewSet(CommonApiMixin, viewsets.ModelViewSet):
|
||||
def open(self, request, *args, **kwargs):
|
||||
return super().create(request, *args, **kwargs)
|
||||
|
||||
@action(detail=True, methods=[PUT], permission_classes=[IsAssignee, NotClosed])
|
||||
@action(detail=True, methods=[PUT], permission_classes=[IsAssignee, ])
|
||||
def approve(self, request, *args, **kwargs):
|
||||
response = super().update(request, *args, **kwargs)
|
||||
instance = self.get_object()
|
||||
instance.approve(processor=self.request.user)
|
||||
if instance.status_closed:
|
||||
return Response(data={"error": _("Ticket already closed")}, status=400)
|
||||
response = super().update(request, *args, **kwargs)
|
||||
self.get_object().approve(processor=self.request.user)
|
||||
return response
|
||||
|
||||
@action(detail=True, methods=[PUT], permission_classes=[IsAssignee, NotClosed])
|
||||
@action(detail=True, methods=[PUT], permission_classes=[IsAssignee, ])
|
||||
def reject(self, request, *args, **kwargs):
|
||||
instance = self.get_object()
|
||||
if instance.status_closed:
|
||||
return Response(data={"error": _("Ticket already closed")}, status=400)
|
||||
serializer = self.get_serializer(instance)
|
||||
instance.reject(processor=request.user)
|
||||
return Response(serializer.data)
|
||||
|
Reference in New Issue
Block a user