From f8db9f480e15ef3aa82f6126943968d7b6137d32 Mon Sep 17 00:00:00 2001 From: BaiJiangJie Date: Fri, 12 Oct 2018 18:26:56 +0800 Subject: [PATCH 1/4] =?UTF-8?q?[Update]=20=E6=B7=BB=E5=8A=A0=E7=BF=BB?= =?UTF-8?q?=E8=AF=91-=E4=BA=91=E7=AE=A1=E7=90=86=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/models/node.py | 2 + apps/locale/zh/LC_MESSAGES/django.mo | Bin 50439 -> 52151 bytes apps/locale/zh/LC_MESSAGES/django.po | 317 ++++++++++++++++++++++++--- apps/templates/_nav.html | 4 + 4 files changed, 298 insertions(+), 25 deletions(-) diff --git a/apps/assets/models/node.py b/apps/assets/models/node.py index 517996086..25b02dc65 100644 --- a/apps/assets/models/node.py +++ b/apps/assets/models/node.py @@ -31,6 +31,8 @@ class Node(OrgModelMixin): return self.full_value def __eq__(self, other): + if not other: + return False return self.key == other.key def __gt__(self, other): diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo index 5da9e7a3cb0d2e2a193a863b403a1d56747b03b1..f7c5ab2e24ccf123b4d820cfdc7277c1c547f9e1 100644 GIT binary patch delta 17081 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\n" "Language-Team: Jumpserver team\n" @@ -44,6 +44,8 @@ msgstr "节点管理" #: assets/forms/asset.py:116 assets/models/asset.py:87 #: assets/models/cluster.py:19 assets/models/user.py:73 #: assets/templates/assets/asset_detail.html:73 templates/_nav.html:24 +#: xpack/plugins/cloud/models.py:128 +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:75 #: xpack/plugins/orgs/templates/orgs/org_list.html:18 msgid "Admin user" msgstr "管理用户" @@ -73,6 +75,9 @@ msgstr "网域" #: perms/forms.py:44 perms/models.py:79 #: perms/templates/perms/asset_permission_list.html:57 #: perms/templates/perms/asset_permission_list.html:151 +#: xpack/plugins/cloud/models.py:127 +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:71 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:66 msgid "Node" msgstr "节点" @@ -121,6 +126,8 @@ msgstr "端口" #: terminal/templates/terminal/command_list.html:73 #: terminal/templates/terminal/session_list.html:41 #: terminal/templates/terminal/session_list.html:72 +#: xpack/plugins/cloud/models.py:173 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:65 #: xpack/plugins/orgs/templates/orgs/org_list.html:16 msgid "Asset" msgstr "资产" @@ -156,6 +163,11 @@ msgstr "不能包含特殊字符" #: users/templates/users/user_list.html:23 #: users/templates/users/user_profile.html:51 #: users/templates/users/user_pubkey_update.html:53 +#: xpack/plugins/cloud/models.py:35 xpack/plugins/cloud/models.py:123 +#: xpack/plugins/cloud/templates/cloud/account_detail.html:52 +#: xpack/plugins/cloud/templates/cloud/account_list.html:12 +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:55 +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:12 #: xpack/plugins/orgs/templates/orgs/org_detail.html:52 #: xpack/plugins/orgs/templates/orgs/org_list.html:12 #: xpack/templates/orgs/org_list.html:12 @@ -357,6 +369,7 @@ msgstr "标签管理" #: 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:92 users/templates/users/user_detail.html:111 +#: xpack/plugins/cloud/models.py:41 xpack/plugins/cloud/models.py:131 msgid "Created by" msgstr "创建者" @@ -370,6 +383,10 @@ msgstr "创建者" #: perms/templates/perms/asset_permission_detail.html:94 #: terminal/templates/terminal/terminal_detail.html:59 users/models/group.py:17 #: users/templates/users/user_group_detail.html:63 +#: xpack/plugins/cloud/models.py:42 xpack/plugins/cloud/models.py:132 +#: xpack/plugins/cloud/templates/cloud/account_detail.html:68 +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:87 +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:19 #: xpack/plugins/orgs/templates/orgs/org_detail.html:60 msgid "Date created" msgstr "创建日期" @@ -393,7 +410,12 @@ msgstr "创建日期" #: users/templates/users/user_detail.html:123 #: users/templates/users/user_group_detail.html:67 #: users/templates/users/user_group_list.html:14 -#: users/templates/users/user_profile.html:130 +#: users/templates/users/user_profile.html:130 xpack/plugins/cloud/models.py:40 +#: xpack/plugins/cloud/models.py:129 +#: xpack/plugins/cloud/templates/cloud/account_detail.html:72 +#: xpack/plugins/cloud/templates/cloud/account_list.html:15 +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:79 +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:20 #: xpack/plugins/orgs/templates/orgs/org_detail.html:64 #: xpack/plugins/orgs/templates/orgs/org_list.html:22 #: xpack/templates/orgs/org_list.html:14 @@ -740,6 +762,8 @@ msgstr "其它" #: users/templates/users/user_profile_update.html:63 #: users/templates/users/user_pubkey_update.html:70 #: users/templates/users/user_pubkey_update.html:76 +#: xpack/plugins/cloud/templates/cloud/account_create_update.html:33 +#: xpack/plugins/cloud/templates/cloud/sync_task_create.html:35 msgid "Reset" msgstr "重置" @@ -856,6 +880,8 @@ msgstr "测试" #: users/templates/users/user_profile.html:151 #: users/templates/users/user_profile.html:181 #: users/templates/users/user_profile.html:190 +#: xpack/plugins/cloud/templates/cloud/account_detail.html:25 +#: xpack/plugins/cloud/templates/cloud/account_list.html:38 #: xpack/plugins/orgs/templates/orgs/org_detail.html:25 #: xpack/plugins/orgs/templates/orgs/org_list.html:85 #: xpack/templates/orgs/org_list.html:43 @@ -882,6 +908,10 @@ msgstr "更新" #: users/templates/users/user_group_list.html:45 #: users/templates/users/user_list.html:81 #: users/templates/users/user_list.html:85 +#: xpack/plugins/cloud/templates/cloud/account_detail.html:29 +#: xpack/plugins/cloud/templates/cloud/account_list.html:40 +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:32 +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:45 #: xpack/plugins/orgs/templates/orgs/org_detail.html:29 #: xpack/plugins/orgs/templates/orgs/org_list.html:87 #: xpack/templates/orgs/org_list.html:45 @@ -912,6 +942,8 @@ msgstr "选择节点" #: users/templates/users/user_group_list.html:87 #: users/templates/users/user_list.html:201 #: users/templates/users/user_profile.html:232 +#: xpack/plugins/cloud/templates/cloud/account_create_update.html:34 +#: xpack/plugins/cloud/templates/cloud/sync_task_create.html:36 #: xpack/plugins/orgs/templates/orgs/org_create_update.html:33 #: xpack/templates/orgs/org_list.html:86 msgid "Confirm" @@ -967,6 +999,8 @@ msgstr "比例" #: terminal/templates/terminal/terminal_list.html:36 #: users/templates/users/user_group_list.html:15 #: users/templates/users/user_list.html:29 +#: xpack/plugins/cloud/templates/cloud/account_list.html:16 +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:21 #: xpack/plugins/orgs/templates/orgs/org_list.html:23 #: xpack/templates/orgs/org_list.html:15 msgid "Action" @@ -1437,7 +1471,8 @@ msgstr "文件名" #: audits/models.py:22 audits/templates/audits/ftp_log_list.html:76 #: ops/templates/ops/task_list.html:39 users/models/authentication.py:66 -#: users/templates/users/user_detail.html:452 +#: users/templates/users/user_detail.html:452 xpack/plugins/cloud/api.py:55 +#: xpack/plugins/cloud/api.py:84 msgid "Success" msgstr "成功" @@ -1480,6 +1515,8 @@ msgstr "选择用户" #: templates/_base_list.html:43 templates/_header_bar.html:8 #: terminal/templates/terminal/command_list.html:60 #: terminal/templates/terminal/session_list.html:61 +#: xpack/plugins/cloud/templates/cloud/sync_task_history.html:50 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:50 msgid "Search" msgstr "搜索" @@ -1488,6 +1525,8 @@ msgstr "搜索" #: ops/templates/ops/adhoc_history_detail.html:49 #: ops/templates/ops/task_detail.html:55 #: terminal/templates/terminal/session_list.html:70 +#: xpack/plugins/cloud/templates/cloud/sync_task_history.html:62 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:62 msgid "ID" msgstr "ID" @@ -1512,12 +1551,16 @@ msgid "MFA" msgstr "MFA" #: audits/templates/audits/login_log_list.html:55 -#: users/models/authentication.py:76 +#: users/models/authentication.py:76 xpack/plugins/cloud/models.py:158 +#: xpack/plugins/cloud/templates/cloud/sync_task_history.html:67 msgid "Reason" msgstr "原因" #: audits/templates/audits/login_log_list.html:56 -#: users/models/authentication.py:77 +#: users/models/authentication.py:77 xpack/plugins/cloud/models.py:157 +#: xpack/plugins/cloud/models.py:174 +#: xpack/plugins/cloud/templates/cloud/sync_task_history.html:68 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:67 msgid "Status" msgstr "状态" @@ -1881,7 +1924,7 @@ msgid "Special char not allowed" msgstr "不能包含特殊字符" #: common/views.py:19 common/views.py:45 common/views.py:71 common/views.py:101 -#: common/views.py:129 templates/_nav.html:100 +#: common/views.py:129 templates/_nav.html:104 msgid "Settings" msgstr "系统设置" @@ -1890,7 +1933,7 @@ msgstr "系统设置" msgid "Update setting successfully, please restart program" msgstr "更新设置成功, 请手动重启程序" -#: jumpserver/views.py:178 +#: jumpserver/views.py:180 msgid "" "
Luna is a separately deployed program, you need to deploy Luna, coco, " "configure nginx for url distribution,
If you see this page, " @@ -1953,6 +1996,7 @@ msgid "Become" msgstr "Become" #: ops/models/adhoc.py:163 users/templates/users/user_group_detail.html:59 +#: xpack/plugins/cloud/templates/cloud/account_detail.html:64 #: xpack/plugins/orgs/templates/orgs/org_detail.html:56 msgid "Create by" msgstr "创建者" @@ -2124,6 +2168,7 @@ msgid "Versions" msgstr "版本" #: ops/templates/ops/task_list.html:71 +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:43 msgid "Run" msgstr "执行" @@ -2400,6 +2445,14 @@ msgstr "作业中心" msgid "XPack" msgstr "" +#: templates/_nav.html:95 xpack/plugins/cloud/views.py:26 +msgid "Account list" +msgstr "账户列表" + +#: templates/_nav.html:96 xpack/plugins/cloud/views.py:85 +msgid "Sync task list" +msgstr "同步任务列表" + #: templates/_pagination.html:59 msgid "" "Displays the results of items _START_ to _END_; A total of _TOTAL_ entries" @@ -2797,23 +2850,23 @@ msgid "" "You should use your ssh client tools connect terminal: {}

{}" msgstr "你可以使用ssh客户端工具连接终端" -#: users/api/auth.py:38 users/templates/users/login.html:52 +#: users/api/auth.py:40 users/templates/users/login.html:52 msgid "Log in frequently and try again later" msgstr "登录频繁, 稍后重试" -#: users/api/auth.py:77 +#: users/api/auth.py:79 msgid "Please carry seed value and conduct MFA secondary certification" msgstr "请携带seed值, 进行MFA二次认证" -#: users/api/auth.py:190 +#: users/api/auth.py:192 msgid "Please verify the user name and password first" msgstr "请先进行用户名和密码验证" -#: users/api/auth.py:202 +#: users/api/auth.py:204 msgid "MFA certification failed" msgstr "MFA认证失败" -#: users/api/user.py:134 +#: users/api/user.py:135 msgid "Could not reset self otp, use profile reset instead" msgstr "不能再该页面重置MFA, 请去个人信息页面重置" @@ -2994,7 +3047,8 @@ msgstr "用户名/密码 校验失败" msgid "MFA authentication failed" msgstr "MFA 认证失败" -#: users/models/authentication.py:67 +#: users/models/authentication.py:67 xpack/plugins/cloud/models.py:150 +#: xpack/plugins/cloud/models.py:164 msgid "Failed" msgstr "失败" @@ -3074,6 +3128,9 @@ msgstr "安全令牌验证" #: users/templates/users/_base_otp.html:44 users/templates/users/_user.html:13 #: users/templates/users/user_profile_update.html:51 +#: xpack/plugins/cloud/models.py:124 +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:59 +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:13 msgid "Account" msgstr "账户" @@ -3133,7 +3190,7 @@ msgstr "上一步" #: users/templates/users/first_login.html:105 #: users/templates/users/login_otp.html:67 #: users/templates/users/user_otp_authentication.html:26 -#: users/templates/users/user_otp_enable_bind.html:23 +#: users/templates/users/user_otp_enable_bind.html:29 #: users/templates/users/user_otp_enable_install_app.html:26 #: users/templates/users/user_password_authentication.html:21 msgid "Next" @@ -3222,7 +3279,7 @@ msgstr "请打开手机Google Authenticator应用,输入6位动态码" #: users/templates/users/login_otp.html:65 #: users/templates/users/user_otp_authentication.html:23 -#: users/templates/users/user_otp_enable_bind.html:20 +#: users/templates/users/user_otp_enable_bind.html:26 msgid "Six figures" msgstr "6位数字" @@ -3496,7 +3553,7 @@ msgstr "解绑 MFA" msgid "Bind" msgstr "绑定 MFA" -#: users/templates/users/user_otp_enable_bind.html:12 +#: users/templates/users/user_otp_enable_bind.html:14 msgid "" "Use the mobile Google Authenticator application to scan the following qr " "code for a 6-bit verification code" @@ -3737,7 +3794,7 @@ msgstr "用户组授权资产" msgid "Please enable cookies and try again." msgstr "设置你的浏览器支持cookie" -#: users/views/login.py:175 users/views/user.py:524 users/views/user.py:549 +#: users/views/login.py:175 users/views/user.py:526 users/views/user.py:551 msgid "MFA code invalid, or ntp sync server time" msgstr "MFA验证码不正确,或者服务器端时间不对" @@ -3818,32 +3875,242 @@ msgstr "密钥更新" msgid "Password invalid" msgstr "用户名或密码无效" -#: users/views/user.py:579 +#: users/views/user.py:581 msgid "MFA enable success" msgstr "MFA 绑定成功" -#: users/views/user.py:580 +#: users/views/user.py:582 msgid "MFA enable success, return login page" msgstr "MFA 绑定成功,返回到登录页面" -#: users/views/user.py:582 +#: users/views/user.py:584 msgid "MFA disable success" msgstr "MFA 解绑成功" -#: users/views/user.py:583 +#: users/views/user.py:585 msgid "MFA disable success, return login page" msgstr "MFA 解绑成功,返回登录页面" +#: xpack/plugins/cloud/api.py:54 xpack/plugins/cloud/providers/provider.py:76 +#, fuzzy +#| msgid "Unavailable" +msgid "Account unavailable" +msgstr "无效" + +#: xpack/plugins/cloud/api.py:79 +#, fuzzy +#| msgid "Create sync task" +msgid "Get sync task error" +msgstr "创建同步任务" + +#: xpack/plugins/cloud/api.py:82 +msgid "New provider error" +msgstr "" + +#: xpack/plugins/cloud/forms.py:13 +msgid "Access Key ID" +msgstr "" + +#: xpack/plugins/cloud/forms.py:14 +msgid "Access Key Secret" +msgstr "" + +#: xpack/plugins/cloud/forms.py:59 +msgid "Select account" +msgstr "选择账户" + +#: xpack/plugins/cloud/forms.py:65 +msgid "Select regions" +msgstr "选择地域" + +#: xpack/plugins/cloud/forms.py:71 +msgid "Select instances" +msgstr "选择实例" + +#: xpack/plugins/cloud/forms.py:77 +msgid "Select node" +msgstr "选择节点" + +#: xpack/plugins/cloud/forms.py:83 xpack/plugins/orgs/forms.py:18 +msgid "Select admins" +msgstr "选择管理员" + +#: xpack/plugins/cloud/meta.py:9 xpack/plugins/cloud/views.py:25 +#: xpack/plugins/cloud/views.py:41 xpack/plugins/cloud/views.py:57 +#: xpack/plugins/cloud/views.py:71 xpack/plugins/cloud/views.py:84 +#: xpack/plugins/cloud/views.py:100 xpack/plugins/cloud/views.py:121 +#: xpack/plugins/cloud/views.py:136 xpack/plugins/cloud/views.py:179 +msgid "Cloud" +msgstr "云管理" + +#: xpack/plugins/cloud/models.py:25 +msgid "Aliyun" +msgstr "阿里云" + +#: xpack/plugins/cloud/models.py:26 +msgid "AWS (China)" +msgstr "AWS (中国)" + +#: xpack/plugins/cloud/models.py:27 +msgid "AWS (International)" +msgstr "AWS (国际)" + +#: xpack/plugins/cloud/models.py:30 +msgid "Available" +msgstr "有效" + +#: xpack/plugins/cloud/models.py:31 +msgid "Unavailable" +msgstr "无效" + +#: xpack/plugins/cloud/models.py:36 +#: xpack/plugins/cloud/templates/cloud/account_detail.html:56 +#: xpack/plugins/cloud/templates/cloud/account_list.html:13 +msgid "Provider" +msgstr "云服务商" + +#: xpack/plugins/cloud/models.py:37 +msgid "Access key id" +msgstr "" + +#: xpack/plugins/cloud/models.py:38 +msgid "Access key secret" +msgstr "" + +#: xpack/plugins/cloud/models.py:39 +#: xpack/plugins/cloud/templates/cloud/account_detail.html:60 +#: xpack/plugins/cloud/templates/cloud/account_list.html:14 +msgid "Validity" +msgstr "账户状态" + +#: xpack/plugins/cloud/models.py:125 +msgid "Regions" +msgstr "地域" + +#: xpack/plugins/cloud/models.py:126 +msgid "Instances" +msgstr "实例" + +#: xpack/plugins/cloud/models.py:130 +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:83 +msgid "Date last sync" +msgstr "最后同步日期" + +#: xpack/plugins/cloud/models.py:151 xpack/plugins/cloud/models.py:165 +msgid "Succeed" +msgstr "成功" + +#: xpack/plugins/cloud/models.py:152 +msgid "Partial succeed" +msgstr "" + +#: xpack/plugins/cloud/models.py:155 xpack/plugins/cloud/models.py:169 +msgid "Sync task" +msgstr "同步任务" + +#: xpack/plugins/cloud/models.py:156 +msgid "Result" +msgstr "" + +#: xpack/plugins/cloud/models.py:159 xpack/plugins/cloud/models.py:175 +#: xpack/plugins/cloud/templates/cloud/sync_task_history.html:69 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:68 +msgid "Date sync" +msgstr "同步日期" + +#: xpack/plugins/cloud/models.py:166 +msgid "Exist" +msgstr "存在" + +#: xpack/plugins/cloud/models.py:170 +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:25 +#: xpack/plugins/cloud/templates/cloud/sync_task_history.html:26 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:26 +#: xpack/plugins/cloud/views.py:137 +msgid "Sync task history" +msgstr "同步历史列表" + +#: xpack/plugins/cloud/models.py:171 +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:67 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:63 +msgid "Instance" +msgstr "实例" + +#: xpack/plugins/cloud/models.py:172 +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:63 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:64 +msgid "Region" +msgstr "地域" + +#: xpack/plugins/cloud/templates/cloud/account_detail.html:22 +#: xpack/plugins/cloud/views.py:72 +msgid "Account detail" +msgstr "账户详情" + +#: xpack/plugins/cloud/templates/cloud/account_list.html:5 +#: xpack/plugins/cloud/views.py:42 +msgid "Create account" +msgstr "创建账户" + +#: xpack/plugins/cloud/templates/cloud/sync_task_create.html:91 +msgid "Loading..." +msgstr "" + +#: xpack/plugins/cloud/templates/cloud/sync_task_create.html:106 +#, fuzzy +#| msgid "Create node failed" +msgid "Load failed" +msgstr "创建节点失败" + +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:22 +#: xpack/plugins/cloud/templates/cloud/sync_task_history.html:23 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:23 +#: xpack/plugins/cloud/views.py:122 +msgid "Sync task detail" +msgstr "同步任务详情" + +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:28 +#: xpack/plugins/cloud/templates/cloud/sync_task_history.html:29 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:29 +#: xpack/plugins/cloud/views.py:180 +msgid "Sync task instance" +msgstr "同步实例列表" + +#: xpack/plugins/cloud/templates/cloud/sync_task_history.html:63 +msgid "Total count" +msgstr "总数" + +#: xpack/plugins/cloud/templates/cloud/sync_task_history.html:64 +msgid "Succeed count" +msgstr "成功" + +#: xpack/plugins/cloud/templates/cloud/sync_task_history.html:65 +msgid "Failed count" +msgstr "失败" + +#: xpack/plugins/cloud/templates/cloud/sync_task_history.html:66 +msgid "Exist count" +msgstr "存在" + +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:5 +#: xpack/plugins/cloud/views.py:101 +msgid "Create sync task" +msgstr "创建同步任务" + +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:80 +msgid "Sync success" +msgstr "同步成功" + +#: xpack/plugins/cloud/views.py:58 +msgid "Update account" +msgstr "更新账户" + #: xpack/plugins/orgs/forms.py:14 #: xpack/plugins/orgs/templates/orgs/org_detail.html:76 #: xpack/plugins/orgs/templates/orgs/org_list.html:13 msgid "Admin" msgstr "管理员" -#: xpack/plugins/orgs/forms.py:18 -msgid "Select admins" -msgstr "选择管理员" - #: xpack/plugins/orgs/meta.py:8 msgid "Organizations" msgstr "组织管理" diff --git a/apps/templates/_nav.html b/apps/templates/_nav.html index b85e9aebe..be57b7dd7 100644 --- a/apps/templates/_nav.html +++ b/apps/templates/_nav.html @@ -91,6 +91,10 @@ {% for plugin in XPACK_PLUGINS %}
  • {% trans plugin.verbose_name %}
  • {% endfor %} + +
  • {% trans 'Account list' %}
  • +
  • {% trans 'Sync task list' %}
  • + {% endif %} From 1ec77c5bb9ab53afebffe10e758709c4c4ed9f68 Mon Sep 17 00:00:00 2001 From: BaiJiangJie Date: Fri, 12 Oct 2018 20:29:04 +0800 Subject: [PATCH 2/4] =?UTF-8?q?[Update]=20=E6=B7=BB=E5=8A=A03=E7=BA=A7?= =?UTF-8?q?=E5=AF=BC=E8=88=AA=E8=8F=9C=E5=8D=95-=E4=BA=91=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/templates/_nav.html | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/apps/templates/_nav.html b/apps/templates/_nav.html index df744c47c..876892bf1 100644 --- a/apps/templates/_nav.html +++ b/apps/templates/_nav.html @@ -95,10 +95,18 @@ {% endif %} From 29b87c40fe55d3e5f6d9eed5dfddbe70fc25eb69 Mon Sep 17 00:00:00 2001 From: BaiJiangJie Date: Sun, 14 Oct 2018 00:03:04 +0800 Subject: [PATCH 3/4] =?UTF-8?q?[Update]=20=E4=BF=AE=E6=94=B9=E4=BA=91?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E6=A8=A1=E5=9D=97-=E6=96=87=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/locale/zh/LC_MESSAGES/django.mo | Bin 54655 -> 54552 bytes apps/locale/zh/LC_MESSAGES/django.po | 45 +++++++++++---------------- apps/templates/_nav.html | 2 +- 3 files changed, 19 insertions(+), 28 deletions(-) diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo index 10eab3c93c999d326b714b0afebe84937b055707..5975c34a51ee6460b1bc5bb2292fcd249e5dc455 100644 GIT binary patch delta 16718 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 Ut` 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\n" "Language-Team: Jumpserver team\n" @@ -435,7 +435,7 @@ msgstr "创建日期" #: xpack/plugins/cloud/templates/cloud/account_detail.html:72 #: xpack/plugins/cloud/templates/cloud/account_list.html:15 #: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:71 -#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:20 +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:15 #: xpack/plugins/orgs/templates/orgs/org_detail.html:64 #: xpack/plugins/orgs/templates/orgs/org_list.html:22 #: xpack/templates/orgs/org_list.html:14 @@ -578,7 +578,7 @@ msgstr "每行一个命令" #: users/templates/users/user_group_list.html:15 #: users/templates/users/user_list.html:29 #: xpack/plugins/cloud/templates/cloud/account_list.html:16 -#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:21 +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:16 #: xpack/plugins/orgs/templates/orgs/org_list.html:23 #: xpack/templates/orgs/org_list.html:15 msgid "Action" @@ -1020,7 +1020,7 @@ msgstr "更新" #: xpack/plugins/cloud/templates/cloud/account_detail.html:29 #: xpack/plugins/cloud/templates/cloud/account_list.html:40 #: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:32 -#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:49 +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:44 #: xpack/plugins/orgs/templates/orgs/org_detail.html:29 #: xpack/plugins/orgs/templates/orgs/org_list.html:87 #: xpack/templates/orgs/org_list.html:45 @@ -1629,8 +1629,7 @@ msgstr "文件名" #: audits/models.py:22 audits/templates/audits/ftp_log_list.html:76 #: ops/templates/ops/task_list.html:39 users/models/authentication.py:66 -#: users/templates/users/user_detail.html:452 xpack/plugins/cloud/api.py:60 -#: xpack/plugins/cloud/api.py:89 +#: users/templates/users/user_detail.html:452 xpack/plugins/cloud/api.py:61 msgid "Success" msgstr "成功" @@ -2076,7 +2075,7 @@ msgid "Special char not allowed" msgstr "不能包含特殊字符" #: common/views.py:19 common/views.py:45 common/views.py:71 common/views.py:101 -#: common/views.py:129 templates/_nav.html:108 +#: common/views.py:129 templates/_nav.html:116 msgid "Settings" msgstr "系统设置" @@ -2320,7 +2319,7 @@ msgid "Versions" msgstr "版本" #: ops/templates/ops/task_list.html:71 -#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:47 +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:42 msgid "Run" msgstr "执行" @@ -2333,7 +2332,8 @@ msgstr "任务开始: " msgid "Ops" msgstr "作业中心" -#: ops/views.py:37 templates/_nav.html:67 +#: ops/views.py:37 templates/_nav.html:67 templates/_nav.html:103 +#: xpack/plugins/cloud/views.py:85 msgid "Task list" msgstr "任务列表" @@ -2605,14 +2605,10 @@ msgstr "作业中心" msgid "XPack" msgstr "" -#: templates/_nav.html:100 xpack/plugins/cloud/views.py:26 +#: templates/_nav.html:102 xpack/plugins/cloud/views.py:26 msgid "Account list" msgstr "账户列表" -#: templates/_nav.html:101 xpack/plugins/cloud/views.py:85 -msgid "Sync task list" -msgstr "同步任务列表" - #: templates/_pagination.html:59 msgid "" "Displays the results of items _START_ to _END_; A total of _TOTAL_ entries" @@ -4042,18 +4038,10 @@ msgstr "MFA 解绑成功" msgid "MFA disable success, return login page" msgstr "MFA 解绑成功,返回登录页面" -#: xpack/plugins/cloud/api.py:59 xpack/plugins/cloud/providers/provider.py:75 +#: xpack/plugins/cloud/api.py:60 xpack/plugins/cloud/providers/provider.py:75 msgid "Account unavailable" msgstr "账户无效" -#: xpack/plugins/cloud/api.py:84 -msgid "Get sync task error" -msgstr "获取同步任务" - -#: xpack/plugins/cloud/api.py:87 -msgid "New provider error" -msgstr "" - #: xpack/plugins/cloud/forms.py:13 msgid "Access Key ID" msgstr "" @@ -4087,8 +4075,8 @@ msgstr "选择管理员" #: xpack/plugins/cloud/views.py:71 xpack/plugins/cloud/views.py:84 #: xpack/plugins/cloud/views.py:100 xpack/plugins/cloud/views.py:121 #: xpack/plugins/cloud/views.py:136 xpack/plugins/cloud/views.py:179 -msgid "Cloud" -msgstr "云管理" +msgid "Cloud center" +msgstr "云管中心" #: xpack/plugins/cloud/models.py:25 msgid "Aliyun" @@ -4140,7 +4128,7 @@ msgstr "实例" #: xpack/plugins/cloud/models.py:130 #: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:75 -#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:19 +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:14 msgid "Date last sync" msgstr "最后同步日期" @@ -4243,7 +4231,7 @@ msgstr "存在" msgid "Create sync task" msgstr "创建同步任务" -#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:84 +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:79 msgid "Sync success" msgstr "同步成功" @@ -4295,6 +4283,9 @@ msgstr "创建组织" msgid "Update org" msgstr "更新组织" +#~ msgid "Get sync task error" +#~ msgstr "获取同步任务" + #~ msgid "" #~ "Are you sure to remove authentication information for the system user ?" #~ msgstr "你确定清除该系统用户的认证信息吗 ?" diff --git a/apps/templates/_nav.html b/apps/templates/_nav.html index 876892bf1..2faf3de40 100644 --- a/apps/templates/_nav.html +++ b/apps/templates/_nav.html @@ -100,7 +100,7 @@ {% trans plugin.verbose_name %} {% else %} From a70fcf057b9f8dcacf6c934088331de61ea0662e Mon Sep 17 00:00:00 2001 From: BaiJiangJie Date: Mon, 15 Oct 2018 10:48:24 +0800 Subject: [PATCH 4/4] =?UTF-8?q?[Update]=20=E4=BF=AE=E6=94=B9js=EF=BC=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A03=E7=BA=A7=E8=8F=9C=E5=8D=95active=E5=B1=9E?= =?UTF-8?q?=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/static/js/jumpserver.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/static/js/jumpserver.js b/apps/static/js/jumpserver.js index bfd94efd4..5f2335c1d 100644 --- a/apps/static/js/jumpserver.js +++ b/apps/static/js/jumpserver.js @@ -145,7 +145,14 @@ function activeNav() { var resource = url_array[2]; if (app === ''){ $('#index').addClass('active'); - } else { + } + else if (app === 'xpack') { + var item = url_array[3]; + $("#" + app).addClass('active'); + $('#' + app + ' #' + resource).addClass('active'); + $('#' + app + ' #' + resource + ' #' + item + ' a').css('color', '#ffffff'); + } + else { $("#" + app).addClass('active'); $('#' + app + ' #' + resource).addClass('active'); }