feat: 日志操作时对有ticket的进行处理
This commit is contained in:
parent
c3338d05c2
commit
7d2d74ee80
|
@ -21,6 +21,7 @@ from .serializers import (SflogExpSerializer, SfLogSerializer, StLogSerializer,
|
|||
MlogbOutUpdateSerializer, FmlogSerializer, FmlogUpdateSerializer, BatchStSerializer)
|
||||
from .services import mlog_submit, handover_submit, mlog_revert
|
||||
from apps.wpm.services import mlog_submit_validate, generate_new_batch
|
||||
from apps.wf.models import State
|
||||
# Create your views here.
|
||||
|
||||
|
||||
|
@ -164,12 +165,18 @@ class MlogViewSet(CustomModelViewSet):
|
|||
def perform_destroy(self, instance):
|
||||
if instance.submit_time is not None:
|
||||
raise ParseError('日志已提交不可变动')
|
||||
if instance.ticket and instance.ticket.state != State.STATE_TYPE_START:
|
||||
raise ParseError('该日志存在审批!')
|
||||
# delete_auditlog(instance, instance.id)
|
||||
if instance.ticket:
|
||||
instance.ticket.delete()
|
||||
instance.delete()
|
||||
|
||||
@transaction.atomic
|
||||
def perform_update(self, serializer):
|
||||
ins = serializer.instance
|
||||
if ins.ticket and ins.ticket.state != State.STATE_TYPE_START:
|
||||
raise ParseError('该日志在审批中不可修改!')
|
||||
if ins.submit_time is not None:
|
||||
raise ParseError('该日志已提交!')
|
||||
# val_old = MlogSerializer(instance=ins).data
|
||||
|
@ -195,6 +202,8 @@ class MlogViewSet(CustomModelViewSet):
|
|||
修改日志
|
||||
"""
|
||||
ins = self.get_object()
|
||||
if ins.ticket and ins.ticket.state != State.STATE_TYPE_START:
|
||||
raise ParseError('该日志在审批中不可修改!')
|
||||
sr = MlogChangeSerializer(instance=ins, data=request.data)
|
||||
sr.is_valid(raise_exception=True)
|
||||
sr.save()
|
||||
|
@ -229,6 +238,8 @@ class MlogViewSet(CustomModelViewSet):
|
|||
撤回日志提交
|
||||
"""
|
||||
ins: Mlog = self.get_object()
|
||||
if ins.ticket:
|
||||
raise ParseError('该日志存在审批!')
|
||||
user = request.user
|
||||
if ins.submit_time is None:
|
||||
raise ParseError('日志未提交不可撤销')
|
||||
|
|
Loading…
Reference in New Issue