[Update] 用户Profile添加在当前组织的角色

pull/4019/head
ibuler 2020-05-13 11:05:58 +08:00
parent 195cbbbe42
commit 17163dd909
2 changed files with 15 additions and 9 deletions

View File

@ -159,6 +159,14 @@ class RoleMixin:
roles.append(str(_('User')))
return " | ".join(roles)
def current_org_roles(self):
roles = []
if self.can_admin_current_org:
roles.append('Admin')
if self.can_audit_current_org:
roles.append('Auditor')
return roles
@property
def is_superuser(self):
if self.role == 'Admin':

View File

@ -181,19 +181,17 @@ class ResetOTPSerializer(serializers.Serializer):
pass
class UserRoleSerializer(serializers.Serializer):
name = serializers.CharField(max_length=24)
display = serializers.CharField(max_length=64)
class UserProfileSerializer(UserSerializer):
admin_or_audit_orgs = UserOrgSerializer(many=True, read_only=True)
current_org_roles = serializers.ListField()
class Meta(UserSerializer.Meta):
# fields = [
# 'id', 'name', 'username', 'email',
# 'role', 'wechat', 'phone', 'mfa_level',
# 'comment', 'source', 'is_valid', 'is_expired',
# 'is_active', 'created_by', 'is_first_login',
# 'date_password_last_updated', 'date_expired',
# 'avatar_url', 'groups', 'admin_or_audit_orgs',
# ]
fields = UserSerializer.Meta.fields + [
'admin_or_audit_orgs'
'admin_or_audit_orgs', 'current_org_roles'
]