From 49abd43cf381f4e3353c7689acf4d2d4e7fe94e1 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 24 Mar 2023 16:39:21 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=AF=A5=E9=A1=B9=E7=9B=AE=E6=88=90?= =?UTF-8?q?=E5=91=98=E5=B7=B2=E5=81=9A=E7=A6=BB=E5=8E=82=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/rpm/views.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/rpm/views.py b/apps/rpm/views.py index 93d2229c..329155e0 100644 --- a/apps/rpm/views.py +++ b/apps/rpm/views.py @@ -228,7 +228,7 @@ class RpjmemberViewSet(CustomModelViewSet): raise ParseError('成员在该状态不可删除') return super().destroy(request, *args, **kwargs) - @action(methods=['post'], detail=True, perms_map={'post': 'rpj.update'}) + @action(methods=['put'], detail=True, perms_map={'put': 'rpj.update'}) @transaction.atomic def leave(self, request, pk=None): """提前离厂 @@ -239,6 +239,8 @@ class RpjmemberViewSet(CustomModelViewSet): rpj = obj.rpj if rpj.state not in [Rpj.RPJ_WORKING, Rpj.RPJ_ENTER]: raise ParseError('该项目状态成员不可离厂') + if RpjLog.objects.filter(rpj=rpj, remployee=obj.remployee, operation='member_leave').exists(): + raise ParseError('该项目成员已做离厂操作') obj.note = '提前离厂' obj.save() rpj_member_leave(obj)