Browse Source

fix: 修改用户自更新失败的问题

pull/8549/head^2
Jiangjie.Bai 2 years ago committed by 老广
parent
commit
b64727e04c
  1. 10
      apps/users/serializers/user.py

10
apps/users/serializers/user.py

@ -6,7 +6,7 @@ from rest_framework import serializers
from common.mixins import CommonBulkSerializerMixin
from common.validators import PhoneValidator
from common.utils import pretty_string
from common.utils import pretty_string, get_logger
from common.drf.fields import EncryptedField
from rbac.builtin import BuiltinRole
from rbac.permissions import RBACPermission
@ -19,6 +19,8 @@ __all__ = [
'InviteSerializer', 'ServiceAccountSerializer',
]
logger = get_logger(__file__)
class RolesSerializerMixin(serializers.Serializer):
system_roles = serializers.ManyRelatedField(
@ -199,8 +201,10 @@ class UserSerializer(RolesSerializerMixin, CommonBulkSerializerMixin, serializer
if not disallow_fields:
return attrs
# 用户自己不能更新自己的一些字段
error = _('User cannot self-update fields: {}').format(disallow_fields)
raise serializers.ValidationError(error)
logger.debug('Disallow update self fields: %s', disallow_fields)
for field in disallow_fields:
attrs.pop(field, None)
return attrs
def validate(self, attrs):
attrs = self.check_disallow_self_update_fields(attrs)

Loading…
Cancel
Save