fix(users): 用户接口添加汇总角色字段

pull/4467/head
xinwen 2020-08-07 17:40:10 +08:00 committed by 老广
parent ec2b3b4cda
commit f1e29a91f7
3 changed files with 56 additions and 48 deletions

Binary file not shown.

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: JumpServer 0.3.3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-05 16:43+0800\n"
"POT-Creation-Date: 2020-08-07 18:48+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: ibuler <ibuler@qq.com>\n"
"Language-Team: JumpServer team<ibuler@qq.com>\n"
@ -212,7 +212,7 @@ msgstr "IP"
#: assets/models/asset.py:187 assets/serializers/asset_user.py:45
#: assets/serializers/gathered_user.py:20 settings/serializers/settings.py:51
#: tickets/serializers/request_asset_perm.py:21
#: tickets/serializers/request_asset_perm.py:25
#: users/templates/users/_granted_assets.html:25
#: users/templates/users/user_asset_permission.html:157
msgid "Hostname"
@ -487,7 +487,7 @@ msgstr "每行一个命令"
#: assets/models/cmd_filter.py:56 audits/models.py:57
#: authentication/templates/authentication/_access_key_modal.html:34
#: perms/forms/asset_permission.py:20
#: tickets/serializers/request_asset_perm.py:60
#: tickets/serializers/request_asset_perm.py:64
#: tickets/serializers/ticket.py:30
#: users/templates/users/_granted_assets.html:29
#: users/templates/users/user_asset_permission.html:44
@ -543,7 +543,7 @@ msgstr "默认资产组"
#: templates/index.html:78 terminal/backends/command/models.py:18
#: terminal/backends/command/serializers.py:12 terminal/models.py:185
#: tickets/models/ticket.py:30 tickets/models/ticket.py:137
#: tickets/serializers/request_asset_perm.py:61
#: tickets/serializers/request_asset_perm.py:65
#: tickets/serializers/ticket.py:31 users/forms/group.py:15
#: users/models/user.py:157 users/models/user.py:643
#: users/serializers/group.py:20
@ -651,7 +651,7 @@ msgstr "SFTP根路径"
#: perms/models/remote_app_permission.py:16 templates/_nav.html:45
#: terminal/backends/command/models.py:20
#: terminal/backends/command/serializers.py:14 terminal/models.py:189
#: tickets/serializers/request_asset_perm.py:23
#: tickets/serializers/request_asset_perm.py:27
#: users/templates/users/_granted_assets.html:27
#: users/templates/users/user_asset_permission.html:42
#: users/templates/users/user_asset_permission.html:76
@ -922,7 +922,7 @@ msgid "Success"
msgstr "成功"
#: audits/models.py:43 ops/models/command.py:28 perms/models/base.py:52
#: terminal/models.py:199 tickets/serializers/request_asset_perm.py:25
#: terminal/models.py:199 tickets/serializers/request_asset_perm.py:29
#: xpack/plugins/change_auth_plan/models.py:177
#: xpack/plugins/change_auth_plan/models.py:308
#: xpack/plugins/gathered_user/models.py:76
@ -1003,7 +1003,7 @@ msgstr "Agent"
#: authentication/templates/authentication/_mfa_confirm_modal.html:14
#: authentication/templates/authentication/login_otp.html:6
#: users/forms/profile.py:52 users/models/user.py:511
#: users/serializers/user.py:234 users/templates/users/user_detail.html:77
#: users/serializers/user.py:240 users/templates/users/user_detail.html:77
#: users/templates/users/user_profile.html:87
msgid "MFA"
msgstr "多因子认证"
@ -1013,7 +1013,7 @@ msgstr "多因子认证"
msgid "Reason"
msgstr "原因"
#: audits/models.py:106 tickets/serializers/request_asset_perm.py:59
#: audits/models.py:106 tickets/serializers/request_asset_perm.py:63
#: tickets/serializers/ticket.py:29 xpack/plugins/cloud/models.py:211
#: xpack/plugins/cloud/models.py:269
msgid "Status"
@ -1176,6 +1176,10 @@ msgstr "登录复核 {}"
msgid "SSO auth closed"
msgstr "SSO 认证关闭了"
#: authentication/errors.py:218 authentication/views/login.py:237
msgid "Your password is too simple, please change it for security"
msgstr "你的密码过于简单,为了安全,请修改"
#: authentication/forms.py:26 authentication/forms.py:34
#: authentication/templates/authentication/login.html:38
#: authentication/templates/authentication/xpack_login.html:118
@ -1242,7 +1246,7 @@ msgid "Show"
msgstr "显示"
#: authentication/templates/authentication/_access_key_modal.html:66
#: users/models/user.py:409 users/serializers/user.py:231
#: users/models/user.py:409 users/serializers/user.py:237
#: users/templates/users/user_profile.html:94
#: users/templates/users/user_profile.html:163
#: users/templates/users/user_profile.html:166
@ -1251,7 +1255,7 @@ msgid "Disable"
msgstr "禁用"
#: authentication/templates/authentication/_access_key_modal.html:67
#: users/models/user.py:410 users/serializers/user.py:232
#: users/models/user.py:410 users/serializers/user.py:238
#: users/templates/users/user_profile.html:92
#: users/templates/users/user_profile.html:170
msgid "Enable"
@ -1387,10 +1391,6 @@ msgstr "退出登录成功,返回到登录页面"
msgid "Please change your password"
msgstr "请修改密码"
#: authentication/views/login.py:237
msgid "Your password is too simple, please change it for security"
msgstr "你的密码过于简单,为了安全,请修改"
#: common/const/__init__.py:6
#, python-format
msgid "%(name)s was created successfully"
@ -1703,7 +1703,7 @@ msgstr "提示RDP 协议不支持单独控制上传或下载文件"
#: perms/forms/asset_permission.py:86 perms/forms/database_app_permission.py:41
#: perms/forms/remote_app_permission.py:43 perms/models/base.py:50
#: templates/_nav.html:21 users/forms/user.py:168 users/models/group.py:31
#: users/models/user.py:495 users/serializers/user.py:48
#: users/models/user.py:495 users/serializers/user.py:49
#: users/templates/users/_select_user_modal.html:16
#: users/templates/users/user_asset_permission.html:39
#: users/templates/users/user_asset_permission.html:67
@ -1769,7 +1769,7 @@ msgstr "动作"
msgid "Asset permission"
msgstr "资产授权"
#: perms/models/base.py:53 tickets/serializers/request_asset_perm.py:27
#: perms/models/base.py:53 tickets/serializers/request_asset_perm.py:31
#: users/models/user.py:527 users/templates/users/user_detail.html:93
#: users/templates/users/user_profile.html:120
msgid "Date expired"
@ -2514,36 +2514,36 @@ msgstr "结束日期"
msgid "Args"
msgstr "参数"
#: tickets/api/request_asset_perm.py:44
#: tickets/api/request_asset_perm.py:45
#, python-format
msgid "Ticket has %s"
msgstr "工单已%s"
#: tickets/api/request_asset_perm.py:89
#: tickets/api/request_asset_perm.py:90
msgid "Confirm assets first"
msgstr "请先确认资产"
#: tickets/api/request_asset_perm.py:92
#: tickets/api/request_asset_perm.py:93
msgid "Confirmed assets changed"
msgstr "确认的资产变更了"
#: tickets/api/request_asset_perm.py:96
#: tickets/api/request_asset_perm.py:97
msgid "Confirm system-user first"
msgstr "请先确认系统用户"
#: tickets/api/request_asset_perm.py:100
#: tickets/api/request_asset_perm.py:101
msgid "Confirmed system-user changed"
msgstr "确认的系统用户变更了"
#: tickets/api/request_asset_perm.py:103 xpack/plugins/cloud/models.py:202
#: tickets/api/request_asset_perm.py:104 xpack/plugins/cloud/models.py:202
msgid "Succeed"
msgstr "成功"
#: tickets/api/request_asset_perm.py:110
#: tickets/api/request_asset_perm.py:112
msgid "From request ticket: {} {}"
msgstr "来自工单申请: {} {}"
#: tickets/api/request_asset_perm.py:112
#: tickets/api/request_asset_perm.py:114
msgid "{} request assets, approved by {}"
msgstr "{} 申请资产,通过人 {}"
@ -2619,27 +2619,27 @@ msgstr "{} {} 这个工单"
msgid "this ticket"
msgstr "这个工单"
#: tickets/serializers/request_asset_perm.py:19
#: tickets/serializers/request_asset_perm.py:23
msgid "IP group"
msgstr "IP组"
#: tickets/serializers/request_asset_perm.py:31
#: tickets/serializers/request_asset_perm.py:35
msgid "Confirmed assets"
msgstr "确认的资产"
#: tickets/serializers/request_asset_perm.py:34
#: tickets/serializers/request_asset_perm.py:38
msgid "Confirmed system user"
msgstr "确认的系统用户"
#: tickets/serializers/request_asset_perm.py:83
#: tickets/serializers/request_asset_perm.py:87
msgid "Invalid `org_id`"
msgstr "无效的 `org_id`"
#: tickets/serializers/request_asset_perm.py:92
#: tickets/serializers/request_asset_perm.py:96
msgid "Field `assignees` must be organization admin or superuser"
msgstr "字段 assignees 必须是组织管理员或者超级管理员"
#: tickets/serializers/request_asset_perm.py:142
#: tickets/serializers/request_asset_perm.py:146
#, python-brace-format
msgid ""
"\n"
@ -2808,8 +2808,8 @@ msgid "Public key should not be the same as your old one."
msgstr "不能和原来的密钥相同"
#: users/forms/profile.py:137 users/forms/user.py:90
#: users/serializers/user.py:194 users/serializers/user.py:276
#: users/serializers/user.py:334
#: users/serializers/user.py:200 users/serializers/user.py:282
#: users/serializers/user.py:340
msgid "Not a valid ssh public key"
msgstr "SSH密钥不合法"
@ -2833,15 +2833,15 @@ msgstr "添加到用户组"
msgid "* Your password does not meet the requirements"
msgstr "* 您的密码不符合要求"
#: users/forms/user.py:124 users/serializers/user.py:36
#: users/forms/user.py:124 users/serializers/user.py:37
msgid "Reset link will be generated and sent to the user"
msgstr "生成重置密码链接,通过邮件发送给用户"
#: users/forms/user.py:125 users/serializers/user.py:37
#: users/forms/user.py:125 users/serializers/user.py:38
msgid "Set password"
msgstr "设置密码"
#: users/forms/user.py:132 users/serializers/user.py:44
#: users/forms/user.py:132 users/serializers/user.py:45
#: xpack/plugins/change_auth_plan/models.py:61
#: xpack/plugins/change_auth_plan/serializers.py:30
msgid "Password strategy"
@ -2887,51 +2887,55 @@ msgstr "管理员"
msgid "Administrator is the super user of system"
msgstr "Administrator是初始的超级管理员"
#: users/serializers/user.py:54 users/serializers/user.py:90
#: users/serializers/user.py:55 users/serializers/user.py:93
msgid "Organization role name"
msgstr "组织角色名称"
#: users/serializers/user.py:81 users/serializers/user.py:247
#: users/serializers/user.py:59
msgid "Total role name"
msgstr "汇总角色名称"
#: users/serializers/user.py:84 users/serializers/user.py:253
msgid "Is first login"
msgstr "首次登录"
#: users/serializers/user.py:82
#: users/serializers/user.py:85
msgid "Is valid"
msgstr "账户是否有效"
#: users/serializers/user.py:83
#: users/serializers/user.py:86
msgid "Is expired"
msgstr " 是否过期"
#: users/serializers/user.py:84
#: users/serializers/user.py:87
msgid "Avatar url"
msgstr "头像路径"
#: users/serializers/user.py:88
#: users/serializers/user.py:91
msgid "Groups name"
msgstr "用户组名"
#: users/serializers/user.py:89
#: users/serializers/user.py:92
msgid "Source name"
msgstr "用户来源名"
#: users/serializers/user.py:91
#: users/serializers/user.py:94
msgid "Super role name"
msgstr "超级角色名称"
#: users/serializers/user.py:114
#: users/serializers/user.py:120
msgid "Role limit to {}"
msgstr "角色只能为 {}"
#: users/serializers/user.py:126 users/serializers/user.py:300
#: users/serializers/user.py:132 users/serializers/user.py:306
msgid "Password does not match security rules"
msgstr "密码不满足安全规则"
#: users/serializers/user.py:292
#: users/serializers/user.py:298
msgid "The old password is incorrect"
msgstr "旧密码错误"
#: users/serializers/user.py:306
#: users/serializers/user.py:312
msgid "The newly set password is inconsistent"
msgstr "两次密码不一致"

View File

@ -56,6 +56,7 @@ class UserSerializer(CommonBulkSerializerMixin, serializers.ModelSerializer):
allow_null=True, required=False, allow_blank=True,
choices=ORG_ROLE.choices
)
total_role_display = serializers.SerializerMethodField(label=_('Total role name'))
key_prefix_block = "_LOGIN_BLOCK_{}"
class Meta:
@ -67,7 +68,7 @@ class UserSerializer(CommonBulkSerializerMixin, serializers.ModelSerializer):
fields_small = fields_mini + [
'password', 'email', 'public_key', 'wechat', 'phone', 'mfa_level', 'mfa_enabled',
'mfa_level_display', 'mfa_force_enabled', 'role_display', 'org_role_display',
'comment', 'source', 'is_valid', 'is_expired',
'total_role_display', 'comment', 'source', 'is_valid', 'is_expired',
'is_active', 'created_by', 'is_first_login',
'password_strategy', 'date_password_last_updated', 'date_expired',
'avatar_url', 'source_display', 'date_joined', 'last_login'
@ -109,6 +110,9 @@ class UserSerializer(CommonBulkSerializerMixin, serializers.ModelSerializer):
choices.pop(User.ROLE.AUDITOR, None)
role._choices = choices
def get_total_role_display(self, instance):
return ' | '.join({str(instance.role_display), str(instance.org_role_display)})
def validate_role(self, value):
request = self.context.get('request')
if not request.user.is_superuser and value != User.ROLE.USER: