diff --git a/apps/assets/models/node.py b/apps/assets/models/node.py index 54cf77364..54535fb0a 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 41d58f1c1..5975c34a5 100644 Binary files a/apps/locale/zh/LC_MESSAGES/django.mo and b/apps/locale/zh/LC_MESSAGES/django.mo differ diff --git a/apps/locale/zh/LC_MESSAGES/django.po b/apps/locale/zh/LC_MESSAGES/django.po index fe97c2d9a..0a62a43d4 100644 --- a/apps/locale/zh/LC_MESSAGES/django.po +++ b/apps/locale/zh/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Jumpserver 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-12 14:58+0800\n" +"POT-Creation-Date: 2018-10-13 22:36+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: ibuler \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:72 #: 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:67 #: 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:63 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:66 msgid "Node" msgstr "节点" @@ -125,6 +130,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:191 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:65 #: xpack/plugins/orgs/templates/orgs/org_list.html:16 msgid "Asset" msgstr "资产" @@ -163,6 +170,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 @@ -373,6 +385,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 "创建者" @@ -387,6 +400,9 @@ 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:79 #: xpack/plugins/orgs/templates/orgs/org_detail.html:60 msgid "Date created" msgstr "创建日期" @@ -414,7 +430,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:71 +#: 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 @@ -556,6 +577,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:16 #: xpack/plugins/orgs/templates/orgs/org_list.html:23 #: xpack/templates/orgs/org_list.html:15 msgid "Action" @@ -838,6 +861,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 "重置" @@ -961,6 +986,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 @@ -990,6 +1017,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: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 @@ -1021,6 +1052,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" @@ -1596,7 +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 +#: users/templates/users/user_detail.html:452 xpack/plugins/cloud/api.py:61 msgid "Success" msgstr "成功" @@ -1639,6 +1672,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 "搜索" @@ -1647,6 +1682,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" @@ -1665,12 +1702,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:176 +#: 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:175 +#: xpack/plugins/cloud/models.py:192 +#: xpack/plugins/cloud/templates/cloud/sync_task_history.html:68 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:67 msgid "Status" msgstr "状态" @@ -2034,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:106 +#: common/views.py:129 templates/_nav.html:116 msgid "Settings" msgstr "系统设置" @@ -2106,6 +2147,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 "创建者" @@ -2277,6 +2319,7 @@ msgid "Versions" msgstr "版本" #: ops/templates/ops/task_list.html:71 +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:42 msgid "Run" msgstr "执行" @@ -2289,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 "任务列表" @@ -2561,6 +2605,10 @@ msgstr "作业中心" msgid "XPack" msgstr "" +#: templates/_nav.html:102 xpack/plugins/cloud/views.py:26 +msgid "Account list" +msgstr "账户列表" + #: templates/_pagination.html:59 msgid "" "Displays the results of items _START_ to _END_; A total of _TOTAL_ entries" @@ -3146,7 +3194,8 @@ msgstr "用户名/密码 校验失败" msgid "MFA authentication failed" msgstr "MFA 认证失败" -#: users/models/authentication.py:67 +#: users/models/authentication.py:67 xpack/plugins/cloud/models.py:168 +#: xpack/plugins/cloud/models.py:182 msgid "Failed" msgstr "失败" @@ -3226,6 +3275,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 "账户" @@ -3986,16 +4038,213 @@ msgstr "MFA 解绑成功" msgid "MFA disable success, return login page" msgstr "MFA 解绑成功,返回登录页面" +#: xpack/plugins/cloud/api.py:60 xpack/plugins/cloud/providers/provider.py:75 +msgid "Account unavailable" +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 center" +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:75 +#: xpack/plugins/cloud/templates/cloud/sync_task_list.html:14 +msgid "Date last sync" +msgstr "最后同步日期" + +#: xpack/plugins/cloud/models.py:169 xpack/plugins/cloud/models.py:183 +msgid "Succeed" +msgstr "成功" + +#: xpack/plugins/cloud/models.py:170 +msgid "Partial succeed" +msgstr "" + +#: xpack/plugins/cloud/models.py:173 xpack/plugins/cloud/models.py:187 +msgid "Sync task" +msgstr "同步任务" + +#: xpack/plugins/cloud/models.py:174 +msgid "Result" +msgstr "" + +#: xpack/plugins/cloud/models.py:177 xpack/plugins/cloud/models.py:193 +#: 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:184 +msgid "Exist" +msgstr "存在" + +#: xpack/plugins/cloud/models.py:188 +#: 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:189 +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:91 +#: xpack/plugins/cloud/templates/cloud/sync_task_instance.html:63 +msgid "Instance" +msgstr "实例" + +#: xpack/plugins/cloud/models.py:190 +#: xpack/plugins/cloud/templates/cloud/sync_task_detail.html:83 +#: 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 +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:79 +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 "组织管理" @@ -4034,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/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'); } diff --git a/apps/templates/_nav.html b/apps/templates/_nav.html index 5014068dc..2faf3de40 100644 --- a/apps/templates/_nav.html +++ b/apps/templates/_nav.html @@ -95,7 +95,17 @@