vpeople create bug
This commit is contained in:
parent
ef396346a3
commit
aa94bb7fc5
|
@ -4,6 +4,7 @@ from apps.utils.serializers import CustomModelSerializer
|
||||||
from apps.vm.models import Visit, Visitor, Vpeople
|
from apps.vm.models import Visit, Visitor, Vpeople
|
||||||
from apps.hrm.serializers import phone_check
|
from apps.hrm.serializers import phone_check
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
from rest_framework.exceptions import ParseError
|
||||||
|
|
||||||
|
|
||||||
class VisitCreateUpdateSerializer(CustomModelSerializer):
|
class VisitCreateUpdateSerializer(CustomModelSerializer):
|
||||||
|
@ -38,6 +39,8 @@ class VpeopleCreateSerializer(CustomModelSerializer):
|
||||||
fields = ['visit', 'visitor', 'is_main']
|
fields = ['visit', 'visitor', 'is_main']
|
||||||
|
|
||||||
def create(self, validated_data):
|
def create(self, validated_data):
|
||||||
|
if validated_data['visit'].state != Visit.V_CREATE:
|
||||||
|
raise ParseError('项目非创建状态不可新增成员')
|
||||||
ins = super().create(validated_data)
|
ins = super().create(validated_data)
|
||||||
if ins.is_main:
|
if ins.is_main:
|
||||||
Vpeople.objects.filter(visit=validated_data['visit']).exclude(id__in=ins.id).update(is_main=False)
|
Vpeople.objects.filter(visit=validated_data['visit']).exclude(id__in=ins.id).update(is_main=False)
|
||||||
|
|
|
@ -112,12 +112,6 @@ class VpeopleViewSet(ListModelMixin, RetrieveModelMixin, CreateModelMixin, Destr
|
||||||
serializer_class = VpeopleSerializer
|
serializer_class = VpeopleSerializer
|
||||||
filterset_fields = ['visit']
|
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):
|
def destroy(self, request, *args, **kwargs):
|
||||||
obj = self.get_object()
|
obj = self.get_object()
|
||||||
if obj.visit.state != Visit.V_CREATE:
|
if obj.visit.state != Visit.V_CREATE:
|
||||||
|
|
Loading…
Reference in New Issue