feat: handover 创建并提交的接口
This commit is contained in:
parent
5ee10e7cc5
commit
468cb7b658
|
@ -387,6 +387,22 @@ class HandoverViewSet(CustomModelViewSet):
|
|||
raise ParseError('非交送人和接收人不可删除该记录')
|
||||
return super().perform_destroy(instance)
|
||||
|
||||
@action(methods=['post'], detail=True, perms_map={'post': 'handover.create'}, serializer_class=HandoverSerializer)
|
||||
@transaction.atomic
|
||||
def create_and_submit(self, request, *args, **kwargs):
|
||||
user = request.user
|
||||
sr = HandoverSerializer(data=request.data, context={'request': request})
|
||||
sr.is_valid(raise_exception=True)
|
||||
ins = sr.save()
|
||||
if ins.type != Handover.H_SCRAP:
|
||||
if ins.recive_user is None or user == ins.recive_user or user.belong_dept == ins.recive_user.belong_dept:
|
||||
pass
|
||||
else:
|
||||
raise ParseError('非接收人不可提交')
|
||||
if ins.submit_time is None:
|
||||
handover_submit(ins, user, None)
|
||||
return Response({"id": ins.id})
|
||||
|
||||
@action(methods=['post'], detail=True, perms_map={'post': 'handover.submit'}, serializer_class=Serializer)
|
||||
@transaction.atomic
|
||||
def submit(self, request, *args, **kwargs):
|
||||
|
|
Loading…
Reference in New Issue