feat: base wfmixin 修改时校验
This commit is contained in:
parent
a58d95843f
commit
c6dc424b33
|
|
@ -36,10 +36,13 @@ class TicketMixin:
|
||||||
|
|
||||||
def perform_update(self, serializer):
|
def perform_update(self, serializer):
|
||||||
ins = serializer.save()
|
ins = serializer.save()
|
||||||
|
ruser = self.request.user
|
||||||
if ins.ticket and self.ticket_auto_submit_on_update:
|
if ins.ticket and self.ticket_auto_submit_on_update:
|
||||||
source_state:State = ins.ticket.state
|
source_state:State = ins.ticket.state
|
||||||
if source_state.type != State.STATE_TYPE_START:
|
if source_state.type != State.STATE_TYPE_START:
|
||||||
raise ParseError('该工单已开始流转,不可修改')
|
raise ParseError('该工单已开始流转,不可修改')
|
||||||
|
if ruser != ins.ticket.create_by:
|
||||||
|
raise ParseError('非工单创建人不可修改')
|
||||||
transition = WfService.get_state_transitions(source_state).first()
|
transition = WfService.get_state_transitions(source_state).first()
|
||||||
ticket_data = self.gen_ticket_data(ins)
|
ticket_data = self.gen_ticket_data(ins)
|
||||||
WfService.handle_ticket(ticket=ins.ticket, transition=transition, new_ticket_data=ticket_data,
|
WfService.handle_ticket(ticket=ins.ticket, transition=transition, new_ticket_data=ticket_data,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue