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':
from apps.rpm.services import sync_to_rep
sync_to_rep(ep)
elif ep.type == 'visitor':
elif ep.type in ['visitor', 'driver']:
from apps.vm.services import sync_to_visitor
sync_to_visitor(ep)
return Response()

View File

@ -27,8 +27,12 @@ class RpartyCreateUpdateSerializer(CustomModelSerializer):
def create(self, validated_data):
instance = super().create(validated_data)
with transaction.atomic():
dept = Dept.objects.create(name=instance.name,
parent=instance.belong_dept, type='rparty')
dept = Dept.objects.get_or_create(name=instance.name,
defaults={
"name": instance.name,
"parent": instance.belong_dept,
"type": "rparty"
})
sync_dahua_dept(dept)
instance.dept = dept
instance.save()
@ -47,6 +51,7 @@ class RpartyCreateUpdateSerializer(CustomModelSerializer):
class RpartySerializer(CustomModelSerializer):
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)
class Meta:

View File

@ -49,11 +49,11 @@ class RpartyViewSet(CustomModelViewSet):
if obj.admin:
ins = obj.admin
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('该账号已存在,请选择绑定')
serializer = UserCreateSerializer(data=request.data)
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.save()
# 岗位设置为相关方岗位
@ -70,7 +70,7 @@ class RpartyViewSet(CustomModelViewSet):
ins.update_by = self.request.user
ins.save()
# 同步设置rep
sync_to_rep(ins.employee)
# sync_to_rep(ins.employee)
return Response()