创建提交bug

This commit is contained in:
caoqianming 2022-04-13 10:57:58 +08:00
parent 69d05b02da
commit c400fd79b4
4 changed files with 20 additions and 14 deletions

View File

@ -12,6 +12,16 @@ class EmployeeSerializer(CustomModelSerializer):
class Meta: class Meta:
model = Employee model = Employee
exclude = EXCLUDE_FIELDS + ['face_data'] exclude = EXCLUDE_FIELDS + ['face_data']
def save(self, **kwargs):
if self.validated_data.get('user', None):
user = self.validated_data['user']
self.validated_data['name'] = user.name
self.validated_data['belong_dept'] = user.belong_dept
return super().save(**kwargs)
class EmployeeNotWorkRemarkSerializer(ModelSerializer): class EmployeeNotWorkRemarkSerializer(ModelSerializer):
class Meta: class Meta:

View File

@ -24,7 +24,7 @@ from rest_framework.exceptions import ParseError
# Create your views here. # Create your views here.
class EmployeeViewSet(CustomModelViewSet): class EmployeeViewSet(CustomModelViewSet):
""" """
工信息管理 员管理
""" """
queryset = Employee.objects.all() queryset = Employee.objects.all()
select_related_fields = ['user'] select_related_fields = ['user']
@ -32,7 +32,7 @@ class EmployeeViewSet(CustomModelViewSet):
serializer_class = EmployeeSerializer serializer_class = EmployeeSerializer
search_fields = ['name', 'number', 'user__username'] search_fields = ['name', 'number', 'user__username']
ordering = ['-pk'] ordering = ['-pk']
def update(self, request, *args, **kwargs): def update(self, request, *args, **kwargs):
partial = kwargs.pop('partial', False) partial = kwargs.pop('partial', False)
instance = self.get_object() instance = self.get_object()
@ -41,14 +41,9 @@ class EmployeeViewSet(CustomModelViewSet):
serializer.is_valid(raise_exception=True) serializer.is_valid(raise_exception=True)
photo = data.get('photo', None) photo = data.get('photo', None)
if instance.photo != photo: if instance.photo != photo:
f_l, msg = HRMService.get_facedata_from_img(img_path=photo) # 调取大华接口
if f_l: return Response()
serializer.save(update_by=request.user, face_data = f_l) serializer.save()
# 更新人脸缓存
update_all_user_facedata_cache.delay()
return Response()
return Response(msg, status=status.HTTP_400_BAD_REQUEST)
serializer.save(update_by=request.user)
return Response() return Response()
@action(methods=['post'], detail=True, perms_map={'post': 'employee_notworkremark'} @action(methods=['post'], detail=True, perms_map={'post': 'employee_notworkremark'}

View File

@ -149,7 +149,7 @@ class RoleCreateUpdateSerializer(CustomModelSerializer):
model = Role model = Role
exclude = EXCLUDE_FIELDS exclude = EXCLUDE_FIELDS
class PermissionSerializer(CustomModelSerializer): class PermissionSerializer(serializers.ModelSerializer):
""" """
权限序列化 权限序列化
""" """
@ -158,7 +158,7 @@ class PermissionSerializer(CustomModelSerializer):
model = Permission model = Permission
fields = '__all__' fields = '__all__'
class PermissionCreateUpdateSerializer(CustomModelSerializer): class PermissionCreateUpdateSerializer(serializers.ModelSerializer):
""" """
权限序列化 权限序列化
""" """

View File

@ -19,10 +19,11 @@ class CustomModelSerializer(DynamicFieldsMixin, serializers.ModelSerializer):
if self.request: if self.request:
if getattr(self.request, 'user', None): if getattr(self.request, 'user', None):
validated_data['create_by'] = self.request.user validated_data['create_by'] = self.request.user
if 'belong_dept' in validated_data: # 如果指定数据归属部门 if 'belong_dept' in validated_data: # 如果指定数据归属部门
pass pass
elif getattr(self.request.user, 'belong_dept', None): elif getattr(self.request.user, 'belong_dept', None):
validated_data['belong_dept'] = self.request.user.belong_dept if hasattr(self.Meta.model, 'belong_dept'):
validated_data['belong_dept'] = self.request.user.belong_dept
return super().create(validated_data) return super().create(validated_data)
def update(self, instance, validated_data): def update(self, instance, validated_data):