From 0962a16b2247d027d175dacecca4652c00426411 Mon Sep 17 00:00:00 2001 From: BaiJiangjie Date: Thu, 26 Apr 2018 19:49:09 +0800 Subject: [PATCH 1/2] =?UTF-8?q?[Bugfix]=20=E4=BF=AE=E5=A4=8D=E9=A6=96?= =?UTF-8?q?=E6=AC=A1=E7=99=BB=E5=BD=95=E6=9D=A1=E6=AC=BE=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E5=8F=8A=E5=BC=95=E5=AF=BC=E9=A1=B5=E9=9D=A2MFA=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/i18n/zh/LC_MESSAGES/django.mo | Bin 32826 -> 32913 bytes apps/i18n/zh/LC_MESSAGES/django.po | 269 ++++++++++++-------- apps/users/templates/users/first_login.html | 20 +- apps/users/views/login.py | 10 + 4 files changed, 181 insertions(+), 118 deletions(-) diff --git a/apps/i18n/zh/LC_MESSAGES/django.mo b/apps/i18n/zh/LC_MESSAGES/django.mo index ebfffbfe748496f4dfd19f8c4ebf42f48a27d9ce..4da36e76e728971c74b595652700d37f1d8eae61 100644 GIT binary patch delta 10727 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 delta 10648 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 fr+og_Hl4$Yq*Y68lHMRSzevyf\n" "Language-Team: Jumpserver team\n" @@ -128,9 +128,9 @@ msgstr "资产" #: assets/templates/assets/domain_list.html:14 #: assets/templates/assets/label_list.html:14 #: assets/templates/assets/system_user_detail.html:58 -#: assets/templates/assets/system_user_list.html:26 common/models.py:26 -#: common/templates/common/terminal_setting.html:67 -#: common/templates/common/terminal_setting.html:85 ops/models/adhoc.py:36 +#: assets/templates/assets/system_user_list.html:26 common/forms.py:179 +#: common/models.py:26 common/templates/common/terminal_setting.html:70 +#: common/templates/common/terminal_setting.html:88 ops/models/adhoc.py:36 #: ops/templates/ops/task_detail.html:59 ops/templates/ops/task_list.html:35 #: perms/models.py:19 perms/templates/perms/asset_permission_detail.html:62 #: perms/templates/perms/asset_permission_list.html:53 @@ -154,8 +154,8 @@ msgstr "名称" #: assets/templates/assets/system_user_detail.html:62 #: assets/templates/assets/system_user_list.html:27 #: perms/templates/perms/asset_permission_user.html:55 users/forms.py:13 -#: users/forms.py:22 users/models/authentication.py:45 users/models/user.py:40 -#: users/templates/users/_select_user_modal.html:14 +#: users/forms.py:21 users/forms.py:30 users/models/authentication.py:45 +#: users/models/user.py:40 users/templates/users/_select_user_modal.html:14 #: users/templates/users/login.html:56 #: users/templates/users/login_log_list.html:49 #: users/templates/users/user_detail.html:67 @@ -168,8 +168,8 @@ msgstr "用户名" msgid "Password or private key passphrase" msgstr "密码或密钥密码" -#: assets/forms/user.py:25 assets/models/base.py:22 common/forms.py:113 -#: users/forms.py:15 users/forms.py:24 users/forms.py:36 +#: assets/forms/user.py:25 assets/models/base.py:22 common/forms.py:114 +#: users/forms.py:15 users/forms.py:23 users/forms.py:32 users/forms.py:44 #: users/templates/users/login.html:59 #: users/templates/users/reset_password.html:52 #: users/templates/users/user_create.html:10 @@ -209,7 +209,7 @@ msgstr "高优先级的系统用户将会作为默认登录用户" #: assets/templates/assets/asset_list.html:87 #: assets/templates/assets/domain_gateway_list.html:57 #: assets/templates/assets/system_user_asset.html:50 -#: assets/templates/assets/user_asset_list.html:46 common/forms.py:144 +#: assets/templates/assets/user_asset_list.html:46 common/forms.py:145 #: perms/templates/perms/asset_permission_asset.html:55 #: users/templates/users/login_log_list.html:52 #: users/templates/users/user_granted_asset.html:45 @@ -222,7 +222,7 @@ msgstr "IP" #: assets/templates/assets/asset_detail.html:57 #: assets/templates/assets/asset_list.html:86 #: assets/templates/assets/system_user_asset.html:49 -#: assets/templates/assets/user_asset_list.html:45 common/forms.py:143 +#: assets/templates/assets/user_asset_list.html:45 common/forms.py:144 #: 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 @@ -430,7 +430,7 @@ msgstr "默认资产组" #: 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:273 +#: terminal/templates/terminal/session_list.html:71 users/forms.py:281 #: users/models/user.py:30 users/models/user.py:318 #: users/templates/users/user_group_detail.html:78 #: users/templates/users/user_group_list.html:13 users/views/user.py:339 @@ -630,10 +630,11 @@ msgstr "其它" #: assets/templates/assets/domain_create_update.html:16 #: assets/templates/assets/gateway_create_update.html:58 #: assets/templates/assets/label_create_update.html:18 -#: common/templates/common/basic_setting.html:58 -#: common/templates/common/email_setting.html:59 -#: common/templates/common/ldap_setting.html:59 -#: common/templates/common/terminal_setting.html:101 +#: common/templates/common/basic_setting.html:61 +#: common/templates/common/cloud_setting.html:74 +#: common/templates/common/email_setting.html:62 +#: common/templates/common/ldap_setting.html:62 +#: common/templates/common/terminal_setting.html:104 #: perms/templates/perms/asset_permission_create_update.html:69 #: terminal/templates/terminal/terminal_update.html:47 #: users/templates/users/_user.html:46 @@ -655,10 +656,11 @@ msgstr "重置" #: assets/templates/assets/domain_create_update.html:17 #: assets/templates/assets/gateway_create_update.html:59 #: assets/templates/assets/label_create_update.html:19 -#: common/templates/common/basic_setting.html:59 -#: common/templates/common/email_setting.html:60 -#: common/templates/common/ldap_setting.html:60 -#: common/templates/common/terminal_setting.html:103 +#: common/templates/common/basic_setting.html:62 +#: common/templates/common/cloud_setting.html:76 +#: common/templates/common/email_setting.html:63 +#: common/templates/common/ldap_setting.html:63 +#: common/templates/common/terminal_setting.html:106 #: perms/templates/perms/asset_permission_create_update.html:70 #: terminal/templates/terminal/session_list.html:120 #: terminal/templates/terminal/terminal_update.html:48 @@ -792,7 +794,7 @@ msgstr "选择节点" #: users/templates/users/user_detail.html:410 #: users/templates/users/user_group_create_update.html:32 #: users/templates/users/user_group_list.html:86 -#: users/templates/users/user_list.html:196 +#: users/templates/users/user_list.html:199 #: users/templates/users/user_profile.html:215 msgid "Confirm" msgstr "确认" @@ -973,7 +975,7 @@ msgstr "存在资产,不能删除" #: users/templates/users/user_detail.html:357 #: users/templates/users/user_detail.html:382 #: users/templates/users/user_group_list.html:81 -#: users/templates/users/user_list.html:191 +#: users/templates/users/user_list.html:194 msgid "Are you sure?" msgstr "你确认吗?" @@ -1025,8 +1027,8 @@ msgid "Create gateway" msgstr "创建网关" #: assets/templates/assets/domain_gateway_list.html:87 -#: common/templates/common/email_setting.html:58 -#: common/templates/common/ldap_setting.html:58 +#: common/templates/common/email_setting.html:61 +#: common/templates/common/ldap_setting.html:61 msgid "Test connection" msgstr "测试连接" @@ -1123,7 +1125,7 @@ msgstr "批量更新资产" msgid "Update asset" msgstr "更新资产" -#: assets/views/asset.py:311 +#: assets/views/asset.py:314 msgid "already exists" msgstr "已经存在" @@ -1246,84 +1248,84 @@ msgstr "不是字符类型" msgid "Encrypt field using Secret Key" msgstr "" -#: common/forms.py:70 +#: common/forms.py:71 msgid "Current SITE URL" msgstr "当前站点URL" -#: common/forms.py:74 +#: common/forms.py:75 msgid "User Guide URL" msgstr "用户向导URL" -#: common/forms.py:75 +#: common/forms.py:76 msgid "User first login update profile done redirect to it" msgstr "用户第一次登录,修改profile后重定向到地址" -#: common/forms.py:78 +#: common/forms.py:79 msgid "Email Subject Prefix" msgstr "Email主题前缀" -#: common/forms.py:85 +#: common/forms.py:86 msgid "SMTP host" msgstr "SMTP主机" -#: common/forms.py:87 +#: common/forms.py:88 msgid "SMTP port" msgstr "SMTP端口" -#: common/forms.py:89 +#: common/forms.py:90 msgid "SMTP user" msgstr "SMTP账号" -#: common/forms.py:92 +#: common/forms.py:93 msgid "SMTP password" msgstr "SMTP密码" -#: common/forms.py:93 +#: common/forms.py:94 msgid "Some provider use token except password" msgstr "一些邮件提供商需要输入的是Token" -#: common/forms.py:96 common/forms.py:136 +#: common/forms.py:97 common/forms.py:137 msgid "Use SSL" msgstr "使用SSL" -#: common/forms.py:97 +#: common/forms.py:98 msgid "If SMTP port is 465, may be select" msgstr "如果SMTP端口是465,通常需要启用SSL" -#: common/forms.py:100 +#: common/forms.py:101 msgid "Use TLS" msgstr "使用TLS" -#: common/forms.py:101 +#: common/forms.py:102 msgid "If SMTP port is 587, may be select" msgstr "如果SMTP端口是587,通常需要启用TLS" -#: common/forms.py:107 +#: common/forms.py:108 msgid "LDAP server" msgstr "LDAP地址" -#: common/forms.py:110 +#: common/forms.py:111 msgid "Bind DN" msgstr "绑定DN" -#: common/forms.py:117 +#: common/forms.py:118 msgid "User OU" msgstr "用户OU" -#: common/forms.py:120 +#: common/forms.py:121 msgid "User search filter" msgstr "用户过滤器" -#: common/forms.py:121 +#: common/forms.py:122 #, python-format msgid "Choice may be (cn|uid|sAMAccountName)=%(user)s)" msgstr "可能的选项是(cn或uid或sAMAccountName=%(user)s)" -#: common/forms.py:124 +#: common/forms.py:125 msgid "User attr map" msgstr "LDAP属性映射" -#: common/forms.py:131 +#: common/forms.py:132 msgid "" "User attr map present how to map LDAP user attr to jumpserver, username,name," "email is jumpserver attr" @@ -1331,52 +1333,80 @@ msgstr "" "用户属性映射代表怎样将LDAP中用户属性映射到jumpserver用户上,username, name," "email 是jumpserver的属性" -#: common/forms.py:138 +#: common/forms.py:139 msgid "Enable LDAP auth" msgstr "启用LDAP认证" -#: common/forms.py:147 +#: common/forms.py:148 msgid "List sort by" msgstr "资产列表排序" -#: common/forms.py:150 +#: common/forms.py:151 msgid "Heartbeat interval" msgstr "心跳间隔" -#: common/forms.py:150 ops/models/adhoc.py:37 +#: common/forms.py:151 ops/models/adhoc.py:37 msgid "Units: seconds" msgstr "单位: 秒" -#: common/forms.py:153 +#: common/forms.py:154 msgid "Password auth" msgstr "密码认证" -#: common/forms.py:156 +#: common/forms.py:157 msgid "Public key auth" msgstr "密钥认证" -#: common/forms.py:159 common/templates/common/terminal_setting.html:63 +#: common/forms.py:160 common/templates/common/terminal_setting.html:66 #: terminal/forms.py:30 terminal/models.py:20 msgid "Command storage" msgstr "命令存储" -#: common/forms.py:160 +#: common/forms.py:161 msgid "" "Set terminal storage setting, `default` is the using as default,You can set " "other storage and some terminal using" msgstr "设置终端命令存储,default是默认用的存储方式" -#: common/forms.py:165 common/templates/common/terminal_setting.html:81 +#: common/forms.py:166 common/templates/common/terminal_setting.html:84 #: terminal/forms.py:35 terminal/models.py:21 msgid "Replay storage" msgstr "录像存储" -#: common/forms.py:166 +#: common/forms.py:167 msgid "" "Set replay storage setting, `default` is the using as default,You can set " "other storage and some terminal using" msgstr "设置终端录像存储,default是默认用的存储方式" +#: common/forms.py:175 +msgid "Aliyun" +msgstr "" + +#: common/forms.py:176 +msgid "AWS" +msgstr "" + +#: common/forms.py:183 +msgid "Cloud provider" +msgstr "" + +#: common/forms.py:186 +msgid "Access key id" +msgstr "" + +#: common/forms.py:187 +msgid "Enter the access key id for the cloud service" +msgstr "" + +#: common/forms.py:190 +msgid "Access key secret" +msgstr "" + +#: common/forms.py:191 +msgid "Enter the access key secret for the cloud service" +msgstr "" + #: common/mixins.py:29 msgid "is discard" msgstr "" @@ -1390,46 +1420,62 @@ msgid "Enabled" msgstr "启用" #: common/templates/common/basic_setting.html:15 +#: common/templates/common/cloud_setting.html:16 +#: common/templates/common/cloud_setting.html:49 #: common/templates/common/email_setting.html:15 #: common/templates/common/ldap_setting.html:15 #: common/templates/common/terminal_setting.html:16 -#: common/templates/common/terminal_setting.html:42 common/views.py:22 +#: common/templates/common/terminal_setting.html:45 common/views.py:34 msgid "Basic setting" msgstr "基本设置" #: common/templates/common/basic_setting.html:18 +#: common/templates/common/cloud_setting.html:20 #: common/templates/common/email_setting.html:18 #: common/templates/common/ldap_setting.html:18 -#: common/templates/common/terminal_setting.html:20 common/views.py:48 +#: common/templates/common/terminal_setting.html:20 common/views.py:60 msgid "Email setting" msgstr "邮件设置" #: common/templates/common/basic_setting.html:21 +#: common/templates/common/cloud_setting.html:24 #: common/templates/common/email_setting.html:21 #: common/templates/common/ldap_setting.html:21 -#: common/templates/common/terminal_setting.html:24 common/views.py:74 +#: common/templates/common/terminal_setting.html:24 common/views.py:86 msgid "LDAP setting" msgstr "LDAP设置" #: common/templates/common/basic_setting.html:24 +#: common/templates/common/cloud_setting.html:28 #: common/templates/common/email_setting.html:24 #: common/templates/common/ldap_setting.html:24 -#: common/templates/common/terminal_setting.html:28 common/views.py:104 +#: common/templates/common/terminal_setting.html:28 common/views.py:116 msgid "Terminal setting" msgstr "终端设置" -#: common/templates/common/terminal_setting.html:68 -#: common/templates/common/terminal_setting.html:86 +#: common/templates/common/basic_setting.html:27 +#: common/templates/common/cloud_setting.html:32 +#: common/templates/common/email_setting.html:27 +#: common/templates/common/ldap_setting.html:27 +#: common/templates/common/terminal_setting.html:31 common/views.py:144 +#, fuzzy +#| msgid "Email setting" +msgid "Cloud setting" +msgstr "邮件设置" + +#: common/templates/common/terminal_setting.html:71 +#: common/templates/common/terminal_setting.html:89 #: users/templates/users/login_log_list.html:50 msgid "Type" msgstr "类型" -#: common/views.py:21 common/views.py:47 common/views.py:73 common/views.py:103 -#: templates/_nav.html:81 +#: common/views.py:33 common/views.py:59 common/views.py:85 common/views.py:115 +#: common/views.py:143 templates/_nav.html:81 msgid "Settings" msgstr "系统设置" -#: common/views.py:32 common/views.py:58 common/views.py:86 common/views.py:116 +#: common/views.py:44 common/views.py:70 common/views.py:98 common/views.py:128 +#: common/views.py:155 msgid "Update setting successfully, please restart program" msgstr "更新设置成功, 请手动重启程序" @@ -1703,8 +1749,8 @@ msgstr "任务列表" msgid "Task run history" msgstr "执行历史" -#: perms/forms.py:18 users/forms.py:230 users/forms.py:235 users/forms.py:247 -#: users/forms.py:277 +#: perms/forms.py:18 users/forms.py:238 users/forms.py:243 users/forms.py:255 +#: users/forms.py:285 msgid "Select users" msgstr "选择用户" @@ -1852,7 +1898,7 @@ msgstr "商业支持" msgid "Docs" msgstr "文档" -#: templates/_header_bar.html:37 templates/_nav_user.html:9 users/forms.py:113 +#: templates/_header_bar.html:37 templates/_nav_user.html:9 users/forms.py:121 #: users/templates/users/_user.html:39 #: users/templates/users/first_login.html:39 #: users/templates/users/user_password_update.html:37 @@ -1916,7 +1962,7 @@ msgstr "关闭" #: templates/_nav.html:10 users/views/group.py:28 users/views/group.py:44 #: users/views/group.py:62 users/views/group.py:79 users/views/group.py:95 -#: users/views/login.py:241 users/views/login.py:289 users/views/user.py:64 +#: users/views/login.py:264 users/views/login.py:325 users/views/user.py:64 #: users/views/user.py:79 users/views/user.py:99 users/views/user.py:155 #: users/views/user.py:310 users/views/user.py:357 users/views/user.py:379 msgid "Users" @@ -2228,11 +2274,11 @@ msgstr "" msgid "Invalid token or cache refreshed." msgstr "" -#: users/forms.py:30 +#: users/forms.py:38 msgid "MFA code" msgstr "MFA 验证码" -#: users/forms.py:41 users/models/user.py:52 +#: users/forms.py:49 users/models/user.py:52 #: users/templates/users/_select_user_modal.html:15 #: users/templates/users/user_detail.html:87 #: users/templates/users/user_list.html:25 @@ -2240,31 +2286,31 @@ msgstr "MFA 验证码" msgid "Role" msgstr "角色" -#: users/forms.py:44 users/forms.py:193 +#: users/forms.py:52 users/forms.py:201 msgid "ssh public key" msgstr "ssh公钥" -#: users/forms.py:45 users/forms.py:194 +#: users/forms.py:53 users/forms.py:202 msgid "ssh-rsa AAAA..." msgstr "" -#: users/forms.py:46 +#: users/forms.py:54 msgid "Paste user id_rsa.pub here." msgstr "复制用户公钥到这里" -#: users/forms.py:64 users/templates/users/user_detail.html:196 +#: users/forms.py:72 users/templates/users/user_detail.html:196 msgid "Join user groups" msgstr "添加到用户组" -#: users/forms.py:75 users/forms.py:208 +#: users/forms.py:83 users/forms.py:216 msgid "Public key should not be the same as your old one." msgstr "不能和原来的密钥相同" -#: users/forms.py:79 users/forms.py:212 users/serializers.py:45 +#: users/forms.py:87 users/forms.py:220 users/serializers.py:45 msgid "Not a valid ssh public key" msgstr "ssh密钥不合法" -#: users/forms.py:119 +#: users/forms.py:127 msgid "" "Tip: when enabled, you will enter the MFA binding process the next time you " "log in. you can also directly bind in \"personal information -> quick " @@ -2273,16 +2319,16 @@ msgstr "" "提示:启用之后您将会在下次登录时进入MFA绑定流程;您也可以在(个人信息->快速修" "改->更改MFA设置)中直接绑定!" -#: users/forms.py:129 +#: users/forms.py:137 msgid "* Enable MFA authentication to make the account more secure." msgstr "* 启用MFA认证,使账号更加安全." -#: users/forms.py:134 users/models/user.py:64 +#: users/forms.py:142 users/models/user.py:64 #: users/templates/users/first_login.html:45 msgid "MFA" msgstr "MFA" -#: users/forms.py:139 +#: users/forms.py:147 msgid "" "In order to protect you and your company, please keep your account, password " "and key sensitive information properly. (for example: setting complex " @@ -2291,40 +2337,41 @@ msgstr "" "为了保护您和公司的安全,请妥善保管您的账户、密码和密钥等重要敏感信息;(如:" "设置复杂密码,启用MFA认证)" -#: users/forms.py:146 users/templates/users/first_login.html:48 -#: users/templates/users/first_login.html:110 +#: users/forms.py:154 users/templates/users/first_login.html:48 +#: users/templates/users/first_login.html:107 +#: users/templates/users/first_login.html:130 msgid "Finish" msgstr "完成" -#: users/forms.py:152 +#: users/forms.py:160 msgid "Old password" msgstr "原来密码" -#: users/forms.py:157 +#: users/forms.py:165 msgid "New password" msgstr "新密码" -#: users/forms.py:162 +#: users/forms.py:170 msgid "Confirm password" msgstr "确认密码" -#: users/forms.py:172 +#: users/forms.py:180 msgid "Old password error" msgstr "原来密码错误" -#: users/forms.py:180 +#: users/forms.py:188 msgid "Password does not match" msgstr "密码不一致" -#: users/forms.py:191 +#: users/forms.py:199 msgid "Automatically configure and download the SSH key" msgstr "自动配置并下载SSH密钥" -#: users/forms.py:195 +#: users/forms.py:203 msgid "Paste your id_rsa.pub here." msgstr "复制你的公钥到这里" -#: users/forms.py:223 users/models/user.py:72 +#: users/forms.py:231 users/models/user.py:72 #: users/templates/users/first_login.html:42 #: users/templates/users/user_password_update.html:43 #: users/templates/users/user_profile.html:68 @@ -2443,11 +2490,15 @@ msgstr "首次登陆" msgid "I agree with the terms and conditions." msgstr "我同意条款和条件" -#: users/templates/users/first_login.html:100 +#: users/templates/users/first_login.html:73 +msgid "Please choose the terms and conditions." +msgstr "请选择同意条款和条件" + +#: users/templates/users/first_login.html:101 msgid "Previous" msgstr "上一步" -#: users/templates/users/first_login.html:108 +#: users/templates/users/first_login.html:105 #: users/templates/users/login_otp.html:66 #: users/templates/users/user_otp_authentication.html:22 #: users/templates/users/user_otp_enable_bind.html:19 @@ -2643,20 +2694,20 @@ msgstr "用户组删除" msgid "UserGroup Deleting failed." msgstr "用户组删除失败" -#: users/templates/users/user_list.html:192 +#: users/templates/users/user_list.html:195 msgid "This will delete the selected users !!!" msgstr "删除选中用户 !!!" -#: users/templates/users/user_list.html:200 +#: users/templates/users/user_list.html:203 msgid "User Deleted." msgstr "已被删除" -#: users/templates/users/user_list.html:201 -#: users/templates/users/user_list.html:206 +#: users/templates/users/user_list.html:204 +#: users/templates/users/user_list.html:209 msgid "User Delete" msgstr "删除" -#: users/templates/users/user_list.html:205 +#: users/templates/users/user_list.html:208 msgid "User Deleting failed." msgstr "用户删除失败" @@ -2847,56 +2898,56 @@ msgstr "更新用户组" msgid "User group granted asset" msgstr "用户组授权资产" -#: users/views/login.py:56 +#: users/views/login.py:60 msgid "Please enable cookies and try again." msgstr "设置你的浏览器支持cookie" -#: users/views/login.py:107 users/views/user.py:464 users/views/user.py:489 +#: users/views/login.py:126 users/views/user.py:464 users/views/user.py:489 msgid "MFA code invalid" msgstr "MFA码认证失败" -#: users/views/login.py:133 +#: users/views/login.py:152 msgid "Logout success" msgstr "退出登录成功" -#: users/views/login.py:134 +#: users/views/login.py:153 msgid "Logout success, return login page" msgstr "退出登录成功,返回到登录页面" -#: users/views/login.py:150 +#: users/views/login.py:169 msgid "Email address invalid, please input again" msgstr "邮箱地址错误,重新输入" -#: users/views/login.py:163 +#: users/views/login.py:182 msgid "Send reset password message" msgstr "发送重置密码邮件" -#: users/views/login.py:164 +#: users/views/login.py:183 msgid "Send reset password mail success, login your mail box and follow it " msgstr "" "发送重置邮件成功, 请登录邮箱查看, 按照提示操作 (如果没收到,请等待3-5分钟)" -#: users/views/login.py:177 +#: users/views/login.py:196 msgid "Reset password success" msgstr "重置密码成功" -#: users/views/login.py:178 +#: users/views/login.py:197 msgid "Reset password success, return to login page" msgstr "重置密码成功,返回到登录页面" -#: users/views/login.py:195 users/views/login.py:208 +#: users/views/login.py:214 users/views/login.py:227 msgid "Token invalid or expired" msgstr "Token错误或失效" -#: users/views/login.py:204 +#: users/views/login.py:223 msgid "Password not same" msgstr "密码不一致" -#: users/views/login.py:241 +#: users/views/login.py:264 msgid "First login" msgstr "首次登陆" -#: users/views/login.py:290 +#: users/views/login.py:326 msgid "Login log list" msgstr "登录日志" diff --git a/apps/users/templates/users/first_login.html b/apps/users/templates/users/first_login.html index 7138199a3..170bfdd32 100644 --- a/apps/users/templates/users/first_login.html +++ b/apps/users/templates/users/first_login.html @@ -70,6 +70,7 @@
+ {% endif %} {% bootstrap_form wizard.form %} @@ -99,11 +100,7 @@ {% if wizard.steps.prev %}
  • {% trans "Previous" %}
  • {% endif %} - {#{% if wizard.steps.next %}#} - {#
  • {% trans "Next" %}
  • #} - {#{% endif %}#} - {#
  • {% trans "Submit" %}
  • #} - {#将原来的下一页-替换为提交;修复 每页都提交,最后才能成功问题#} + {% if wizard.steps.next %}
  • {% trans "Next" %}
  • {% else %} @@ -124,16 +121,21 @@ {% block custom_foot_js %}