vpeople create bug

This commit is contained in:
曹前明 2022-06-29 17:30:29 +08:00
parent ef396346a3
commit aa94bb7fc5
2 changed files with 3 additions and 6 deletions

View File

@ -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)

View File

@ -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: