From aa94bb7fc5096616ebdb77d0aefc04090780b67b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E5=89=8D=E6=98=8E?= <909355014@qq.com> Date: Wed, 29 Jun 2022 17:30:29 +0800 Subject: [PATCH] vpeople create bug --- apps/vm/serializers.py | 3 +++ apps/vm/views.py | 6 ------ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/apps/vm/serializers.py b/apps/vm/serializers.py index f0680f1e..bb5b3264 100644 --- a/apps/vm/serializers.py +++ b/apps/vm/serializers.py @@ -4,6 +4,7 @@ from apps.utils.serializers import CustomModelSerializer from apps.vm.models import Visit, Visitor, Vpeople from apps.hrm.serializers import phone_check from rest_framework import serializers +from rest_framework.exceptions import ParseError class VisitCreateUpdateSerializer(CustomModelSerializer): @@ -38,6 +39,8 @@ class VpeopleCreateSerializer(CustomModelSerializer): fields = ['visit', 'visitor', 'is_main'] def create(self, validated_data): + if validated_data['visit'].state != Visit.V_CREATE: + raise ParseError('项目非创建状态不可新增成员') ins = super().create(validated_data) if ins.is_main: Vpeople.objects.filter(visit=validated_data['visit']).exclude(id__in=ins.id).update(is_main=False) diff --git a/apps/vm/views.py b/apps/vm/views.py index 4fbce494..ecab79a4 100644 --- a/apps/vm/views.py +++ b/apps/vm/views.py @@ -112,12 +112,6 @@ class VpeopleViewSet(ListModelMixin, RetrieveModelMixin, CreateModelMixin, Destr serializer_class = VpeopleSerializer filterset_fields = ['visit'] - def create(self, request, *args, **kwargs): - obj = self.get_object() - if obj.visit.state != Visit.V_CREATE: - raise ParseError('项目非创建状态不可新增成员') - return super().create(request, *args, **kwargs) - def destroy(self, request, *args, **kwargs): obj = self.get_object() if obj.visit.state != Visit.V_CREATE: