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: