[Bugfix] ldap可以修改密码问题,platform大小写问题

pull/2099/head
ibuler 2018-11-23 16:24:30 +08:00
parent 0df7c6909e
commit 091cf39e4e
6 changed files with 159 additions and 141 deletions

View File

@ -277,7 +277,8 @@ class BulkImportAssetView(AdminUserRequiredMixin, JSONResponseMixin, FormView):
v = ''
elif k == 'domain':
v = get_object_or_none(Domain, name=v)
elif k == 'platform':
v = v.lower().capitalize()
if v != '':
asset_dict[k] = v

View File

@ -69,6 +69,7 @@ class BasicSettingForm(BaseForm):
)
EMAIL_SUBJECT_PREFIX = forms.CharField(
max_length=1024, label=_("Email Subject Prefix"),
help_text=_("Tips: Some word will be intercept by mail provider")
)

View File

@ -314,7 +314,7 @@ EMAIL_HOST_USER = 'noreply@jumpserver.org'
EMAIL_HOST_PASSWORD = ''
EMAIL_USE_SSL = False
EMAIL_USE_TLS = False
EMAIL_SUBJECT_PREFIX = '[Jumpserver] '
EMAIL_SUBJECT_PREFIX = '[JMS] '
REST_FRAMEWORK = {
# Use Django's standard `django.contrib.auth` permissions,

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Jumpserver 0.3.3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-11-22 15:16+0800\n"
"POT-Creation-Date: 2018-11-23 16:19+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"
@ -126,7 +126,7 @@ msgstr "端口"
#: perms/templates/perms/asset_permission_create_update.html:40
#: perms/templates/perms/asset_permission_list.html:56
#: perms/templates/perms/asset_permission_list.html:148
#: terminal/backends/command/models.py:13 terminal/models.py:134
#: terminal/backends/command/models.py:13 terminal/models.py:138
#: terminal/templates/terminal/command_list.html:40
#: terminal/templates/terminal/command_list.html:73
#: terminal/templates/terminal/session_list.html:41
@ -154,7 +154,7 @@ msgstr "不能包含特殊字符"
#: assets/templates/assets/domain_list.html:25
#: assets/templates/assets/label_list.html:14
#: assets/templates/assets/system_user_detail.html:58
#: assets/templates/assets/system_user_list.html:29 common/models.py:31
#: assets/templates/assets/system_user_list.html:29 common/models.py:29
#: common/templates/common/command_storage_create.html:41
#: common/templates/common/replay_storage_create.html:44
#: common/templates/common/terminal_setting.html:80
@ -164,9 +164,9 @@ msgstr "不能包含特殊字符"
#: perms/templates/perms/asset_permission_detail.html:62
#: perms/templates/perms/asset_permission_list.html:53
#: perms/templates/perms/asset_permission_user.html:54 terminal/models.py:18
#: terminal/models.py:161 terminal/templates/terminal/terminal_detail.html:43
#: terminal/models.py:165 terminal/templates/terminal/terminal_detail.html:43
#: terminal/templates/terminal/terminal_list.html:29 users/models/group.py:14
#: users/models/user.py:52 users/templates/users/_select_user_modal.html:13
#: users/models/user.py:53 users/templates/users/_select_user_modal.html:13
#: users/templates/users/user_detail.html:63
#: users/templates/users/user_group_detail.html:55
#: users/templates/users/user_group_list.html:12
@ -191,7 +191,7 @@ msgstr "名称"
#: assets/templates/assets/system_user_list.html:30
#: audits/templates/audits/login_log_list.html:49
#: perms/templates/perms/asset_permission_user.html:55 users/forms.py:15
#: users/forms.py:33 users/models/authentication.py:74 users/models/user.py:50
#: users/forms.py:33 users/models/authentication.py:77 users/models/user.py:51
#: users/templates/users/_select_user_modal.html:14
#: users/templates/users/login.html:64
#: users/templates/users/user_detail.html:67
@ -204,7 +204,7 @@ msgstr "用户名"
msgid "Password or private key passphrase"
msgstr "密码或密钥密码"
#: assets/forms/user.py:26 assets/models/base.py:24 common/forms.py:105
#: assets/forms/user.py:26 assets/models/base.py:24 common/forms.py:106
#: users/forms.py:17 users/forms.py:35 users/forms.py:47
#: users/templates/users/login.html:67
#: users/templates/users/reset_password.html:53
@ -216,7 +216,7 @@ msgstr "密码或密钥密码"
msgid "Password"
msgstr "密码"
#: assets/forms/user.py:29 users/models/user.py:79
#: assets/forms/user.py:29 users/models/user.py:80
msgid "Private key"
msgstr "ssh私钥"
@ -265,7 +265,7 @@ msgstr "如果选择手动登录模式,用户名和密码可以不填写"
#: assets/templates/assets/system_user_asset.html:51
#: assets/templates/assets/user_asset_list.html:46
#: assets/templates/assets/user_asset_list.html:162
#: audits/templates/audits/login_log_list.html:52 common/forms.py:134
#: audits/templates/audits/login_log_list.html:52 common/forms.py:135
#: perms/templates/perms/asset_permission_asset.html:55
#: users/templates/users/user_granted_asset.html:45
#: users/templates/users/user_group_granted_asset.html:45
@ -278,7 +278,7 @@ msgstr "IP"
#: assets/templates/assets/asset_list.html:92
#: assets/templates/assets/system_user_asset.html:50
#: assets/templates/assets/user_asset_list.html:45
#: assets/templates/assets/user_asset_list.html:161 common/forms.py:133
#: assets/templates/assets/user_asset_list.html:161 common/forms.py:134
#: perms/templates/perms/asset_permission_asset.html:54
#: users/templates/users/user_granted_asset.html:44
#: users/templates/users/user_group_granted_asset.html:44
@ -388,7 +388,7 @@ msgstr "标签管理"
#: assets/templates/assets/system_user_detail.html:100
#: ops/templates/ops/adhoc_detail.html:86 orgs/models.py:15 perms/models.py:37
#: perms/models.py:84 perms/templates/perms/asset_permission_detail.html:98
#: users/models/user.py:93 users/templates/users/user_detail.html:111
#: users/models/user.py:94 users/templates/users/user_detail.html:111
#: xpack/plugins/cloud/models.py:46 xpack/plugins/cloud/models.py:140
msgid "Created by"
msgstr "创建者"
@ -426,11 +426,11 @@ msgstr "创建日期"
#: assets/templates/assets/domain_list.html:28
#: assets/templates/assets/system_user_detail.html:104
#: assets/templates/assets/system_user_list.html:37
#: assets/templates/assets/user_asset_list.html:170 common/models.py:36
#: assets/templates/assets/user_asset_list.html:170 common/models.py:34
#: ops/models/adhoc.py:43 orgs/models.py:17 perms/models.py:39
#: perms/models.py:86 perms/templates/perms/asset_permission_detail.html:102
#: terminal/models.py:28 terminal/templates/terminal/terminal_detail.html:63
#: users/models/group.py:15 users/models/user.py:85
#: users/models/group.py:15 users/models/user.py:86
#: users/templates/users/user_detail.html:127
#: users/templates/users/user_group_detail.html:67
#: users/templates/users/user_group_list.html:14
@ -461,7 +461,7 @@ msgstr "带宽"
msgid "Contact"
msgstr "联系人"
#: assets/models/cluster.py:22 users/models/user.py:71
#: assets/models/cluster.py:22 users/models/user.py:72
#: users/templates/users/user_detail.html:76
msgid "Phone"
msgstr "手机"
@ -487,7 +487,7 @@ msgid "Default"
msgstr "默认"
#: assets/models/cluster.py:36 assets/models/label.py:14
#: users/models/user.py:397
#: users/models/user.py:422
msgid "System"
msgstr "系统"
@ -515,7 +515,7 @@ msgstr "BGP全网通"
msgid "Regex"
msgstr "正则表达式"
#: assets/models/cmd_filter.py:35 terminal/models.py:140
#: assets/models/cmd_filter.py:35 terminal/models.py:144
#: terminal/templates/terminal/command_list.html:55
#: terminal/templates/terminal/command_list.html:71
#: terminal/templates/terminal/session_detail.html:48
@ -616,12 +616,12 @@ msgstr "默认资产组"
#: perms/templates/perms/asset_permission_create_update.html:36
#: perms/templates/perms/asset_permission_list.html:54
#: perms/templates/perms/asset_permission_list.html:142 templates/index.html:87
#: terminal/backends/command/models.py:12 terminal/models.py:133
#: terminal/backends/command/models.py:12 terminal/models.py:137
#: terminal/templates/terminal/command_list.html:32
#: terminal/templates/terminal/command_list.html:72
#: terminal/templates/terminal/session_list.html:33
#: terminal/templates/terminal/session_list.html:71 users/forms.py:310
#: users/models/user.py:32 users/models/user.py:385
#: users/models/user.py:33 users/models/user.py:410
#: users/templates/users/user_group_detail.html:78
#: users/templates/users/user_group_list.html:13 users/views/user.py:384
#: xpack/plugins/orgs/forms.py:26
@ -631,7 +631,7 @@ msgid "User"
msgstr "用户"
#: assets/models/label.py:19 assets/models/node.py:20
#: assets/templates/assets/label_list.html:15 common/models.py:32
#: assets/templates/assets/label_list.html:15 common/models.py:30
msgid "Value"
msgstr "值"
@ -699,7 +699,7 @@ msgstr "登录模式"
#: perms/templates/perms/asset_permission_detail.html:140
#: perms/templates/perms/asset_permission_list.html:58
#: perms/templates/perms/asset_permission_list.html:154 templates/_nav.html:25
#: terminal/backends/command/models.py:14 terminal/models.py:135
#: terminal/backends/command/models.py:14 terminal/models.py:139
#: terminal/templates/terminal/command_list.html:48
#: terminal/templates/terminal/command_list.html:74
#: terminal/templates/terminal/session_list.html:49
@ -1544,7 +1544,7 @@ msgstr "批量更新资产"
msgid "Update asset"
msgstr "更新资产"
#: assets/views/asset.py:291
#: assets/views/asset.py:292
msgid "already exists"
msgstr "已经存在"
@ -1624,7 +1624,7 @@ msgstr "系统用户集群资产"
#: audits/templates/audits/ftp_log_list.html:73
#: audits/templates/audits/operate_log_list.html:70
#: audits/templates/audits/password_change_log_list.html:52
#: terminal/models.py:137 terminal/templates/terminal/session_list.html:74
#: terminal/models.py:141 terminal/templates/terminal/session_list.html:74
#: terminal/templates/terminal/terminal_detail.html:47
msgid "Remote addr"
msgstr "远端地址"
@ -1639,7 +1639,7 @@ msgid "Filename"
msgstr "文件名"
#: audits/models.py:22 audits/templates/audits/ftp_log_list.html:76
#: ops/templates/ops/task_list.html:39 users/models/authentication.py:70
#: ops/templates/ops/task_list.html:39 users/models/authentication.py:73
#: users/templates/users/user_detail.html:456 xpack/plugins/cloud/api.py:61
msgid "Success"
msgstr "成功"
@ -1665,7 +1665,7 @@ msgstr "修改者"
#: ops/templates/ops/adhoc_history.html:52
#: ops/templates/ops/adhoc_history_detail.html:61
#: ops/templates/ops/task_history.html:58 perms/models.py:35
#: perms/templates/perms/asset_permission_detail.html:86 terminal/models.py:144
#: perms/templates/perms/asset_permission_detail.html:86 terminal/models.py:148
#: terminal/templates/terminal/session_list.html:78
msgid "Date start"
msgstr "开始日期"
@ -1707,19 +1707,19 @@ msgid "City"
msgstr "城市"
#: audits/templates/audits/login_log_list.html:54 users/forms.py:168
#: users/models/authentication.py:79 users/models/user.py:74
#: users/models/authentication.py:82 users/models/user.py:75
#: users/templates/users/first_login.html:45
msgid "MFA"
msgstr "MFA"
#: audits/templates/audits/login_log_list.html:55
#: users/models/authentication.py:80 xpack/plugins/cloud/models.py:192
#: users/models/authentication.py:83 xpack/plugins/cloud/models.py:192
#: xpack/plugins/cloud/templates/cloud/sync_instance_task_history.html:69
msgid "Reason"
msgstr "原因"
#: audits/templates/audits/login_log_list.html:56
#: users/models/authentication.py:81 xpack/plugins/cloud/models.py:191
#: users/models/authentication.py:84 xpack/plugins/cloud/models.py:191
#: xpack/plugins/cloud/models.py:208
#: xpack/plugins/cloud/templates/cloud/sync_instance_task_history.html:70
#: xpack/plugins/cloud/templates/cloud/sync_instance_task_instance.html:67
@ -1758,7 +1758,7 @@ msgstr "改密日志"
#: audits/views.py:187 templates/_nav.html:10 users/views/group.py:28
#: users/views/group.py:44 users/views/group.py:60 users/views/group.py:76
#: users/views/group.py:92 users/views/login.py:344 users/views/user.py:68
#: users/views/group.py:92 users/views/login.py:346 users/views/user.py:68
#: users/views/user.py:83 users/views/user.py:111 users/views/user.py:192
#: users/views/user.py:353 users/views/user.py:403 users/views/user.py:437
msgid "Users"
@ -1835,72 +1835,76 @@ msgstr "用户第一次登录修改profile后重定向到地址"
msgid "Email Subject Prefix"
msgstr "Email主题前缀"
#: common/forms.py:77
#: common/forms.py:72
msgid "Tips: Some word will be intercept by mail provider"
msgstr "提示: 一些关键字可能会被邮件提供商拦截,如 跳板机、Jumpserver"
#: common/forms.py:78
msgid "SMTP host"
msgstr "SMTP主机"
#: common/forms.py:79
#: common/forms.py:80
msgid "SMTP port"
msgstr "SMTP端口"
#: common/forms.py:81
#: common/forms.py:82
msgid "SMTP user"
msgstr "SMTP账号"
#: common/forms.py:84
#: common/forms.py:85
msgid "SMTP password"
msgstr "SMTP密码"
#: common/forms.py:85
#: common/forms.py:86
msgid "Some provider use token except password"
msgstr "一些邮件提供商需要输入的是Token"
#: common/forms.py:88 common/forms.py:126
#: common/forms.py:89 common/forms.py:127
msgid "Use SSL"
msgstr "使用SSL"
#: common/forms.py:89
#: common/forms.py:90
msgid "If SMTP port is 465, may be select"
msgstr "如果SMTP端口是465通常需要启用SSL"
#: common/forms.py:92
#: common/forms.py:93
msgid "Use TLS"
msgstr "使用TLS"
#: common/forms.py:93
#: common/forms.py:94
msgid "If SMTP port is 587, may be select"
msgstr "如果SMTP端口是587通常需要启用TLS"
#: common/forms.py:99
#: common/forms.py:100
msgid "LDAP server"
msgstr "LDAP地址"
#: common/forms.py:102
#: common/forms.py:103
msgid "Bind DN"
msgstr "绑定DN"
#: common/forms.py:109
#: common/forms.py:110
msgid "User OU"
msgstr "用户OU"
#: common/forms.py:110
#: common/forms.py:111
msgid "Use | split User OUs"
msgstr "使用|分隔各OU"
#: common/forms.py:113
#: common/forms.py:114
msgid "User search filter"
msgstr "用户过滤器"
#: common/forms.py:114
#: common/forms.py:115
#, python-format
msgid "Choice may be (cn|uid|sAMAccountName)=%(user)s)"
msgstr "可能的选项是(cn或uid或sAMAccountName=%(user)s)"
#: common/forms.py:117
#: common/forms.py:118
msgid "User attr map"
msgstr "LDAP属性映射"
#: common/forms.py:119
#: common/forms.py:120
msgid ""
"User attr map present how to map LDAP user attr to jumpserver, username,name,"
"email is jumpserver attr"
@ -1908,69 +1912,69 @@ msgstr ""
"用户属性映射代表怎样将LDAP中用户属性映射到jumpserver用户上username, name,"
"email 是jumpserver的属性"
#: common/forms.py:128
#: common/forms.py:129
msgid "Enable LDAP auth"
msgstr "启用LDAP认证"
#: common/forms.py:137
#: common/forms.py:138
msgid "Password auth"
msgstr "密码认证"
#: common/forms.py:140
#: common/forms.py:141
msgid "Public key auth"
msgstr "密钥认证"
#: common/forms.py:143
#: common/forms.py:144
msgid "Heartbeat interval"
msgstr "心跳间隔"
#: common/forms.py:143 ops/models/adhoc.py:38
#: common/forms.py:144 ops/models/adhoc.py:38
msgid "Units: seconds"
msgstr "单位: 秒"
#: common/forms.py:146
#: common/forms.py:147
msgid "List sort by"
msgstr "资产列表排序"
#: common/forms.py:158
#: common/forms.py:159
msgid "MFA Secondary certification"
msgstr "MFA 二次认证"
#: common/forms.py:160
#: common/forms.py:161
msgid ""
"After opening, the user login must use MFA secondary authentication (valid "
"for all users, including administrators)"
msgstr "开启后用户登录必须使用MFA二次认证对所有用户有效包括管理员"
#: common/forms.py:167
#: common/forms.py:168
msgid "Limit the number of login failures"
msgstr "限制登录失败次数"
#: common/forms.py:172
#: common/forms.py:173
msgid "No logon interval"
msgstr "禁止登录时间间隔"
#: common/forms.py:174
#: common/forms.py:175
msgid ""
"Tip: (unit/minute) if the user has failed to log in for a limited number of "
"times, no login is allowed during this time interval."
msgstr ""
"提示: (单位: 分钟) 当用户登录失败次数达到限制后,那么在此时间间隔内禁止登录."
#: common/forms.py:181
#: common/forms.py:182
msgid "Connection max idle time"
msgstr "SSH最大空闲时间"
#: common/forms.py:183
#: common/forms.py:184
msgid ""
"If idle time more than it, disconnect connection(only ssh now) Unit: minute"
msgstr "提示: (单位: 分钟) 如果超过该配置没有操作,连接会被断开(仅ssh) "
#: common/forms.py:189
#: common/forms.py:190
msgid "Password expiration time"
msgstr "密码过期时间"
#: common/forms.py:192
#: common/forms.py:193
msgid ""
"Tip: (unit/day) If the user does not update the password during the time, "
"the user password will expire failure;The password expiration reminder mail "
@ -1978,45 +1982,45 @@ msgid ""
"the password expires"
msgstr ""
#: common/forms.py:201
#: common/forms.py:202
msgid "Password minimum length"
msgstr "密码最小长度 "
#: common/forms.py:207
#: common/forms.py:208
msgid "Must contain capital letters"
msgstr "必须包含大写字母"
#: common/forms.py:209
#: common/forms.py:210
msgid ""
"After opening, the user password changes and resets must contain uppercase "
"letters"
msgstr "开启后,用户密码修改、重置必须包含大写字母"
#: common/forms.py:215
#: common/forms.py:216
msgid "Must contain lowercase letters"
msgstr "必须包含小写字母"
#: common/forms.py:216
#: common/forms.py:217
msgid ""
"After opening, the user password changes and resets must contain lowercase "
"letters"
msgstr "开启后,用户密码修改、重置必须包含小写字母"
#: common/forms.py:222
#: common/forms.py:223
msgid "Must contain numeric characters"
msgstr "必须包含数字字符"
#: common/forms.py:223
#: common/forms.py:224
msgid ""
"After opening, the user password changes and resets must contain numeric "
"characters"
msgstr "开启后,用户密码修改、重置必须包含数字字符"
#: common/forms.py:229
#: common/forms.py:230
msgid "Must contain special characters"
msgstr "必须包含特殊字符"
#: common/forms.py:230
#: common/forms.py:231
msgid ""
"After opening, the user password changes and resets must contain special "
"characters"
@ -2030,7 +2034,7 @@ msgstr ""
msgid "discard time"
msgstr ""
#: common/models.py:35 users/models/authentication.py:51
#: common/models.py:33 users/models/authentication.py:54
#: users/templates/users/user_detail.html:96
msgid "Enabled"
msgstr "启用"
@ -2186,11 +2190,17 @@ msgstr "不能包含特殊字符"
msgid "Settings"
msgstr "系统设置"
#: common/views.py:29 common/views.py:55 common/views.py:81 common/views.py:112
#: common/views.py:29 common/views.py:81 common/views.py:112
#: common/views.py:162
msgid "Update setting successfully"
msgstr "更新设置成功"
#: common/views.py:55
#, fuzzy
#| msgid "Update setting successfully"
msgid "Update setting successfully, please restart program"
msgstr "更新设置成功"
#: common/views.py:127
msgid "Create replay storage"
msgstr "创建录像存储"
@ -2199,7 +2209,7 @@ msgstr "创建录像存储"
msgid "Create command storage"
msgstr "创建命令存储"
#: jumpserver/views.py:180
#: jumpserver/views.py:185
msgid ""
"<div>Luna is a separately deployed program, you need to deploy Luna, coco, "
"configure nginx for url distribution,</div> </div>If you see this page, "
@ -2457,7 +2467,7 @@ msgstr "组织管理"
#: perms/forms.py:31 perms/models.py:30 perms/models.py:80
#: perms/templates/perms/asset_permission_list.html:55
#: perms/templates/perms/asset_permission_list.html:145 templates/_nav.html:14
#: users/forms.py:280 users/models/group.py:26 users/models/user.py:58
#: users/forms.py:280 users/models/group.py:26 users/models/user.py:59
#: users/templates/users/_select_user_modal.html:16
#: users/templates/users/user_detail.html:211
#: users/templates/users/user_list.html:26
@ -2475,7 +2485,7 @@ msgstr "资产和节点至少选一个"
#: perms/models.py:36 perms/models.py:83
#: perms/templates/perms/asset_permission_detail.html:90
#: users/models/user.py:90 users/templates/users/user_detail.html:107
#: users/models/user.py:91 users/templates/users/user_detail.html:107
#: users/templates/users/user_profile.html:116
msgid "Date expired"
msgstr "失效日期"
@ -2952,43 +2962,43 @@ msgstr "SSH端口"
msgid "HTTP Port"
msgstr "HTTP端口"
#: terminal/models.py:105
#: terminal/models.py:109
msgid "Session Online"
msgstr "在线会话"
#: terminal/models.py:106
#: terminal/models.py:110
msgid "CPU Usage"
msgstr "CPU使用"
#: terminal/models.py:107
#: terminal/models.py:111
msgid "Memory Used"
msgstr "内存使用"
#: terminal/models.py:108
#: terminal/models.py:112
msgid "Connections"
msgstr "连接数"
#: terminal/models.py:109
#: terminal/models.py:113
msgid "Threads"
msgstr "线程数"
#: terminal/models.py:110
#: terminal/models.py:114
msgid "Boot Time"
msgstr "运行时间"
#: terminal/models.py:139 terminal/templates/terminal/session_list.html:104
#: terminal/models.py:143 terminal/templates/terminal/session_list.html:104
msgid "Replay"
msgstr "回放"
#: terminal/models.py:143
#: terminal/models.py:147
msgid "Date last active"
msgstr "最后活跃日期"
#: terminal/models.py:145
#: terminal/models.py:149
msgid "Date end"
msgstr "结束日期"
#: terminal/models.py:162
#: terminal/models.py:166
msgid "Args"
msgstr "参数"
@ -3142,66 +3152,66 @@ msgstr "用户 {} 密码已经过期,请更新。"
msgid "Please carry seed value and conduct MFA secondary certification"
msgstr "请携带seed值, 进行MFA二次认证"
#: users/api/auth.py:205
#: users/api/auth.py:204
msgid "Please verify the user name and password first"
msgstr "请先进行用户名和密码验证"
#: users/api/auth.py:217
#: users/api/auth.py:216
msgid "MFA certification failed"
msgstr "MFA认证失败"
#: users/api/user.py:138
#: users/api/user.py:140
msgid "Could not reset self otp, use profile reset instead"
msgstr "不能再该页面重置MFA, 请去个人信息页面重置"
#: users/authentication.py:56
#: users/authentication.py:53
msgid "Invalid signature header. No credentials provided."
msgstr ""
#: users/authentication.py:59
#: users/authentication.py:56
msgid "Invalid signature header. Signature string should not contain spaces."
msgstr ""
#: users/authentication.py:66
#: users/authentication.py:63
msgid "Invalid signature header. Format like AccessKeyId:Signature"
msgstr ""
#: users/authentication.py:70
#: users/authentication.py:67
msgid ""
"Invalid signature header. Signature string should not contain invalid "
"characters."
msgstr ""
#: users/authentication.py:90 users/authentication.py:106
#: users/authentication.py:87 users/authentication.py:103
msgid "Invalid signature."
msgstr ""
#: users/authentication.py:97
#: users/authentication.py:94
msgid "HTTP header: Date not provide or not %a, %d %b %Y %H:%M:%S GMT"
msgstr ""
#: users/authentication.py:102
#: users/authentication.py:99
msgid "Expired, more than 15 minutes"
msgstr ""
#: users/authentication.py:109
#: users/authentication.py:106
msgid "User disabled."
msgstr "用户已禁用"
#: users/authentication.py:124
#: users/authentication.py:121
msgid "Invalid token header. No credentials provided."
msgstr ""
#: users/authentication.py:127
#: users/authentication.py:124
msgid "Invalid token header. Sign string should not contain spaces."
msgstr ""
#: users/authentication.py:134
#: users/authentication.py:131
msgid ""
"Invalid token header. Sign string should not contain invalid characters."
msgstr ""
#: users/authentication.py:145
#: users/authentication.py:142
msgid "Invalid token or cache refreshed."
msgstr ""
@ -3209,7 +3219,7 @@ msgstr ""
msgid "MFA code"
msgstr "MFA 验证码"
#: users/forms.py:52 users/models/user.py:62
#: users/forms.py:52 users/models/user.py:63
#: users/templates/users/_select_user_modal.html:15
#: users/templates/users/user_detail.html:87
#: users/templates/users/user_list.html:25
@ -3237,7 +3247,7 @@ msgstr "添加到用户组"
msgid "Public key should not be the same as your old one."
msgstr "不能和原来的密钥相同"
#: users/forms.py:114 users/forms.py:245 users/serializers.py:49
#: users/forms.py:114 users/forms.py:245 users/serializers/v1.py:51
msgid "Not a valid ssh public key"
msgstr "ssh密钥不合法"
@ -3297,7 +3307,7 @@ msgstr "自动配置并下载SSH密钥"
msgid "Paste your id_rsa.pub here."
msgstr "复制你的公钥到这里"
#: users/forms.py:256 users/models/user.py:82
#: users/forms.py:256 users/models/user.py:83
#: users/templates/users/first_login.html:42
#: users/templates/users/user_password_update.html:46
#: users/templates/users/user_profile.html:68
@ -3311,106 +3321,106 @@ msgstr "ssh公钥"
msgid "Select users"
msgstr "选择用户"
#: users/models/authentication.py:36
#: users/models/authentication.py:39
msgid "Private Token"
msgstr "ssh密钥"
#: users/models/authentication.py:50 users/templates/users/user_detail.html:98
#: users/models/authentication.py:53 users/templates/users/user_detail.html:98
msgid "Disabled"
msgstr "禁用"
#: users/models/authentication.py:52 users/models/authentication.py:62
#: users/models/authentication.py:55 users/models/authentication.py:65
msgid "-"
msgstr ""
#: users/models/authentication.py:63
#: users/models/authentication.py:66
msgid "Username/password check failed"
msgstr "用户名/密码 校验失败"
#: users/models/authentication.py:64
#: users/models/authentication.py:67
msgid "MFA authentication failed"
msgstr "MFA 认证失败"
#: users/models/authentication.py:65
#: users/models/authentication.py:68
msgid "Username does not exist"
msgstr "用户名不存在"
#: users/models/authentication.py:66
#: users/models/authentication.py:69
msgid "Password expired"
msgstr "密码过期"
#: users/models/authentication.py:71 xpack/plugins/cloud/models.py:184
#: users/models/authentication.py:74 xpack/plugins/cloud/models.py:184
#: xpack/plugins/cloud/models.py:198
msgid "Failed"
msgstr "失败"
#: users/models/authentication.py:75
#: users/models/authentication.py:78
msgid "Login type"
msgstr "登录方式"
#: users/models/authentication.py:76
#: users/models/authentication.py:79
msgid "Login ip"
msgstr "登录IP"
#: users/models/authentication.py:77
#: users/models/authentication.py:80
msgid "Login city"
msgstr "登录城市"
#: users/models/authentication.py:78
#: users/models/authentication.py:81
msgid "User agent"
msgstr "Agent"
#: users/models/authentication.py:82
#: users/models/authentication.py:85
msgid "Date login"
msgstr "登录日期"
#: users/models/user.py:31 users/models/user.py:393
#: users/models/user.py:32 users/models/user.py:418
msgid "Administrator"
msgstr "管理员"
#: users/models/user.py:33
#: users/models/user.py:34
msgid "Application"
msgstr "应用程序"
#: users/models/user.py:36 users/templates/users/user_profile.html:92
#: users/models/user.py:37 users/templates/users/user_profile.html:92
#: users/templates/users/user_profile.html:167
#: users/templates/users/user_profile.html:170
msgid "Disable"
msgstr "禁用"
#: users/models/user.py:37 users/templates/users/user_profile.html:90
#: users/models/user.py:38 users/templates/users/user_profile.html:90
#: users/templates/users/user_profile.html:174
msgid "Enable"
msgstr "启用"
#: users/models/user.py:38 users/templates/users/user_profile.html:88
#: users/models/user.py:39 users/templates/users/user_profile.html:88
msgid "Force enable"
msgstr "强制启用"
#: users/models/user.py:54 users/templates/users/user_detail.html:71
#: users/models/user.py:55 users/templates/users/user_detail.html:71
#: users/templates/users/user_profile.html:59
msgid "Email"
msgstr "邮件"
#: users/models/user.py:65
#: users/models/user.py:66
msgid "Avatar"
msgstr "头像"
#: users/models/user.py:68 users/templates/users/user_detail.html:82
#: users/models/user.py:69 users/templates/users/user_detail.html:82
msgid "Wechat"
msgstr "微信"
#: users/models/user.py:97 users/templates/users/user_detail.html:103
#: users/models/user.py:98 users/templates/users/user_detail.html:103
#: users/templates/users/user_list.html:27
#: users/templates/users/user_profile.html:100
msgid "Source"
msgstr "用户来源"
#: users/models/user.py:101
#: users/models/user.py:102
msgid "Date password last updated"
msgstr "最后更新密码日期"
#: users/models/user.py:396
#: users/models/user.py:421
msgid "Administrator is the super user of system"
msgstr "Administrator是初始的超级管理员"
@ -4167,36 +4177,40 @@ msgstr "退出登录成功,返回到登录页面"
msgid "Email address invalid, please input again"
msgstr "邮箱地址错误,重新输入"
#: users/views/login.py:253
#: users/views/login.py:243
msgid "User auth from {}, go there change password"
msgstr "用户认证源来自 {}, 请去相应系统修改密码"
#: users/views/login.py:256
msgid "Send reset password message"
msgstr "发送重置密码邮件"
#: users/views/login.py:254
#: users/views/login.py:257
msgid "Send reset password mail success, login your mail box and follow it "
msgstr ""
"发送重置邮件成功, 请登录邮箱查看, 按照提示操作 (如果没收到,请等待3-5分钟)"
#: users/views/login.py:267
#: users/views/login.py:270
msgid "Reset password success"
msgstr "重置密码成功"
#: users/views/login.py:268
#: users/views/login.py:271
msgid "Reset password success, return to login page"
msgstr "重置密码成功,返回到登录页面"
#: users/views/login.py:284 users/views/login.py:300
#: users/views/login.py:286 users/views/login.py:302
msgid "Token invalid or expired"
msgstr "Token错误或失效"
#: users/views/login.py:296
#: users/views/login.py:298
msgid "Password not same"
msgstr "密码不一致"
#: users/views/login.py:306 users/views/user.py:126 users/views/user.py:420
#: users/views/login.py:308 users/views/user.py:126 users/views/user.py:420
msgid "* Your password does not meet the requirements"
msgstr "* 您的密码不符合要求"
#: users/views/login.py:344
#: users/views/login.py:346
msgid "First login"
msgstr "首次登陆"

View File

@ -32,7 +32,7 @@ __all__ = [
class UserViewSet(IDInFilterMixin, BulkModelViewSet):
filter_fields = ('username', 'email', 'name', 'id')
search_fields = filter_fields
queryset = User.objects.all()
queryset = User.objects.exclude(role=User.ROLE_APP)
serializer_class = UserSerializer
permission_classes = (IsOrgAdmin,)
pagination_class = LimitOffsetPagination

View File

@ -237,8 +237,11 @@ class UserForgotPasswordView(TemplateView):
email = request.POST.get('email')
user = get_object_or_none(User, email=email)
if not user:
return self.get(request, errors=_('Email address invalid, '
'please input again'))
error = _('Email address invalid, please input again')
return self.get(request, errors=error)
elif not user.is_local:
error = _('User auth from {}, go there change password'.format(user.source))
return self.get(request, errors=error)
else:
send_reset_password_mail(user)
return HttpResponseRedirect(
@ -270,8 +273,7 @@ class UserResetPasswordSuccessView(TemplateView):
'auto_redirect': True,
}
kwargs.update(context)
return super()\
.get_context_data(**kwargs)
return super().get_context_data(**kwargs)
class UserResetPasswordView(TemplateView):