rpm 分配账号bug

This commit is contained in:
曹前明 2022-09-15 15:47:35 +08:00
parent b34575f398
commit 840f7c707b
3 changed files with 11 additions and 6 deletions

View File

@ -85,7 +85,7 @@ class EmployeeViewSet(CustomModelViewSet):
if ep.type == 'remployee': if ep.type == 'remployee':
from apps.rpm.services import sync_to_rep from apps.rpm.services import sync_to_rep
sync_to_rep(ep) sync_to_rep(ep)
elif ep.type == 'visitor': elif ep.type in ['visitor', 'driver']:
from apps.vm.services import sync_to_visitor from apps.vm.services import sync_to_visitor
sync_to_visitor(ep) sync_to_visitor(ep)
return Response() return Response()

View File

@ -27,8 +27,12 @@ class RpartyCreateUpdateSerializer(CustomModelSerializer):
def create(self, validated_data): def create(self, validated_data):
instance = super().create(validated_data) instance = super().create(validated_data)
with transaction.atomic(): with transaction.atomic():
dept = Dept.objects.create(name=instance.name, dept = Dept.objects.get_or_create(name=instance.name,
parent=instance.belong_dept, type='rparty') defaults={
"name": instance.name,
"parent": instance.belong_dept,
"type": "rparty"
})
sync_dahua_dept(dept) sync_dahua_dept(dept)
instance.dept = dept instance.dept = dept
instance.save() instance.save()
@ -47,6 +51,7 @@ class RpartyCreateUpdateSerializer(CustomModelSerializer):
class RpartySerializer(CustomModelSerializer): class RpartySerializer(CustomModelSerializer):
admin_username = serializers.CharField(source='admin.username', read_only=True) admin_username = serializers.CharField(source='admin.username', read_only=True)
admin_name = serializers.CharField(source='admin.name', read_only=True)
belong_dept_name = serializers.CharField(source='belong_dept.name', read_only=True) belong_dept_name = serializers.CharField(source='belong_dept.name', read_only=True)
class Meta: class Meta:

View File

@ -49,11 +49,11 @@ class RpartyViewSet(CustomModelViewSet):
if obj.admin: if obj.admin:
ins = obj.admin ins = obj.admin
else: else:
if User.objects.get_queryset(all=True).filter(Q(phone=vdata['phone']) | Q(username=vdata['username'])).exist(): if User.objects.get_queryset(all=True).filter(Q(phone=vdata['phone']) | Q(username=vdata['username'])).exists():
raise ParseError('该账号已存在,请选择绑定') raise ParseError('该账号已存在,请选择绑定')
serializer = UserCreateSerializer(data=request.data) serializer = UserCreateSerializer(data=request.data)
serializer.is_valid(raise_exception=True) serializer.is_valid(raise_exception=True)
serializer.save(type='remployee', password=make_password('0000')) ins = serializer.save(type='remployee', password=make_password('0000'))
obj.admin = ins obj.admin = ins
obj.save() obj.save()
# 岗位设置为相关方岗位 # 岗位设置为相关方岗位
@ -70,7 +70,7 @@ class RpartyViewSet(CustomModelViewSet):
ins.update_by = self.request.user ins.update_by = self.request.user
ins.save() ins.save()
# 同步设置rep # 同步设置rep
sync_to_rep(ins.employee) # sync_to_rep(ins.employee)
return Response() return Response()