Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
J
jumpserver
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ops
jumpserver
Commits
5a929721
Commit
5a929721
authored
Dec 20, 2017
by
ibuler
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[Bugfix] 修复ops一些功能的bug
parent
3f89701b
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
1180 additions
and
581 deletions
+1180
-581
const.py
apps/assets/const.py
+10
-9
django.mo
apps/locale/zh/LC_MESSAGES/django.mo
+0
-0
django.po
apps/locale/zh/LC_MESSAGES/django.po
+507
-466
api.py
apps/ops/api.py
+5
-0
models.py
apps/ops/models.py
+8
-0
adhoc_detail.html
apps/ops/templates/ops/adhoc_detail.html
+191
-0
adhoc_history.html
apps/ops/templates/ops/adhoc_history.html
+147
-0
adhoc_history_detail.html
apps/ops/templates/ops/adhoc_history_detail.html
+141
-0
task_adhoc.html
apps/ops/templates/ops/task_adhoc.html
+1
-1
task_detail.html
apps/ops/templates/ops/task_detail.html
+18
-14
task_history.html
apps/ops/templates/ops/task_history.html
+73
-54
task_list.html
apps/ops/templates/ops/task_list.html
+27
-28
view_urls.py
apps/ops/urls/view_urls.py
+4
-2
views.py
apps/ops/views.py
+42
-2
models.py
apps/perms/models.py
+1
-1
views.py
apps/perms/views.py
+5
-4
No files found.
apps/assets/const.py
View file @
5a929721
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
#
#
from
django.utils.translation
import
ugettext
as
_
PUSH_SYSTEM_USER_PERIOD_LOCK_KEY
=
"PUSH_SYSTEM_USER_PERIOD_KEY"
PUSH_SYSTEM_USER_PERIOD_LOCK_KEY
=
"PUSH_SYSTEM_USER_PERIOD_KEY"
PUSH_SYSTEM_USER_PERIOD_TASK_NAME
=
"PUSH-SYSTEM-USER-PERIOD"
PUSH_SYSTEM_USER_PERIOD_TASK_NAME
=
_
(
"PUSH SYSTEM USER TO CLUSTER PERIOD TASK"
)
PUSH_SYSTEM_USER_TASK_NAME
=
"PUSH-SYSTEM-USER-TO-CLUSTER-{}"
PUSH_SYSTEM_USER_TASK_NAME
=
_
(
"PUSH SYSTEM USER TO CLUSTER: {}"
)
PUSH_SYSTEM_USER_LOCK_KEY
=
"PUSH_SYSTEM_USER_TO_CLUSTER_LOCK_{}"
PUSH_SYSTEM_USER_LOCK_KEY
=
"PUSH_SYSTEM_USER_TO_CLUSTER_LOCK_{}"
UPDATE_ASSETS_HARDWARE_TASK_NAME
=
'UPDATE-ASSETS-HARDWARE-INFO'
UPDATE_ASSETS_HARDWARE_TASK_NAME
=
_
(
'UPDATE ASSETS HARDWARE INFO'
)
UPDATE_ASSETS_HARDWARE_PERIOD_LOCK_KEY
=
"UPDATE_ASSETS_HARDWARE_PERIOD_LOCK_KEY"
UPDATE_ASSETS_HARDWARE_PERIOD_LOCK_KEY
=
"UPDATE_ASSETS_HARDWARE_PERIOD_LOCK_KEY"
UPDATE_ASSETS_HARDWARE_PERIOD_TASK_NAME
=
'UPDATE-ASSETS-HARDWARE-INFO-PERIOD'
UPDATE_ASSETS_HARDWARE_PERIOD_TASK_NAME
=
_
(
'UPDATE ASSETS HARDWARE INFO PERIOD'
)
UPDATE_ASSETS_HARDWARE_TASKS
=
[
UPDATE_ASSETS_HARDWARE_TASKS
=
[
{
{
'name'
:
UPDATE_ASSETS_HARDWARE_TASK_NAME
,
'name'
:
UPDATE_ASSETS_HARDWARE_TASK_NAME
,
...
@@ -20,8 +21,8 @@ UPDATE_ASSETS_HARDWARE_TASKS = [
...
@@ -20,8 +21,8 @@ UPDATE_ASSETS_HARDWARE_TASKS = [
]
]
TEST_ADMIN_USER_CONN_PERIOD_LOCK_KEY
=
"TEST_ADMIN_USER_CONN_PERIOD_KEY"
TEST_ADMIN_USER_CONN_PERIOD_LOCK_KEY
=
"TEST_ADMIN_USER_CONN_PERIOD_KEY"
TEST_ADMIN_USER_CONN_PERIOD_TASK_NAME
=
"TEST_ADMIN_USER_CONN_PERIOD_TASK"
TEST_ADMIN_USER_CONN_PERIOD_TASK_NAME
=
_
(
"TEST ADMIN USER CONN PERIOD TASK"
)
TEST_ADMIN_USER_CONN_TASK_NAME
=
"TEST-ADMIN-USER-CONN-{}"
TEST_ADMIN_USER_CONN_TASK_NAME
=
_
(
"TEST ADMIN USER CONN: {}"
)
TEST_ADMIN_USER_CONN_LOCK_KEY
=
TEST_ADMIN_USER_CONN_TASK_NAME
TEST_ADMIN_USER_CONN_LOCK_KEY
=
TEST_ADMIN_USER_CONN_TASK_NAME
ADMIN_USER_CONN_CACHE_KEY
=
"ADMIN_USER_CONN_{}"
ADMIN_USER_CONN_CACHE_KEY
=
"ADMIN_USER_CONN_{}"
TEST_ADMIN_USER_CONN_TASKS
=
[
TEST_ADMIN_USER_CONN_TASKS
=
[
...
@@ -34,12 +35,12 @@ TEST_ADMIN_USER_CONN_TASKS = [
...
@@ -34,12 +35,12 @@ TEST_ADMIN_USER_CONN_TASKS = [
]
]
ASSET_ADMIN_CONN_CACHE_KEY
=
"ASSET_ADMIN_USER_CONN_{}"
ASSET_ADMIN_CONN_CACHE_KEY
=
"ASSET_ADMIN_USER_CONN_{}"
TEST_ASSET_CONN_TASK_NAME
=
"ASSET_CONN_TEST_MANUAL"
TEST_ASSET_CONN_TASK_NAME
=
_
(
"ASSET CONN TEST MANUAL"
)
TEST_SYSTEM_USER_CONN_PERIOD_LOCK_KEY
=
"TEST_SYSTEM_USER_CONN_PERIOD_KEY"
TEST_SYSTEM_USER_CONN_PERIOD_LOCK_KEY
=
"TEST_SYSTEM_USER_CONN_PERIOD_KEY"
TEST_SYSTEM_USER_CONN_PERIOD_TASK_NAME
=
"TEST-SYSTEM-USER-CONN-PERIOD-TASK"
TEST_SYSTEM_USER_CONN_PERIOD_TASK_NAME
=
_
(
"TEST SYSTEM USER CONN PERIOD TASK"
)
TEST_SYSTEM_USER_CONN_CACHE_KEY_PREFIX
=
"SYSTEM_USER_CONN_"
TEST_SYSTEM_USER_CONN_CACHE_KEY_PREFIX
=
"SYSTEM_USER_CONN_"
TEST_SYSTEM_USER_CONN_TASK_NAME
=
"TEST-SYSTEM-USER-CONN-{}"
TEST_SYSTEM_USER_CONN_TASK_NAME
=
_
(
"TEST SYSTEM USER CONN: {}"
)
TEST_SYSTEM_USER_CONN_LOCK_KEY
=
"TEST_SYSTEM_USER_CONN_{}"
TEST_SYSTEM_USER_CONN_LOCK_KEY
=
"TEST_SYSTEM_USER_CONN_{}"
SYSTEM_USER_CONN_CACHE_KEY
=
"SYSTEM_USER_CONN_{}"
SYSTEM_USER_CONN_CACHE_KEY
=
"SYSTEM_USER_CONN_{}"
TEST_SYSTEM_USER_CONN_TASKS
=
[
TEST_SYSTEM_USER_CONN_TASKS
=
[
...
...
apps/locale/zh/LC_MESSAGES/django.mo
View file @
5a929721
No preview for this file type
apps/locale/zh/LC_MESSAGES/django.po
View file @
5a929721
...
@@ -8,7 +8,7 @@ msgid ""
...
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
msgstr ""
"Project-Id-Version: Jumpserver 0.3.3\n"
"Project-Id-Version: Jumpserver 0.3.3\n"
"Report-Msgid-Bugs-To: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-12-1
5 17:08
+0800\n"
"POT-Creation-Date: 2017-12-1
9 23:11
+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: ibuler <ibuler@qq.com>\n"
"Last-Translator: ibuler <ibuler@qq.com>\n"
"Language-Team: Jumpserver team<ibuler@qq.com>\n"
"Language-Team: Jumpserver team<ibuler@qq.com>\n"
...
@@ -17,13 +17,48 @@ msgstr ""
...
@@ -17,13 +17,48 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Content-Transfer-Encoding: 8bit\n"
#: assets/forms.py:25 assets/forms.py:47 assets/forms.py:80 perms/forms.py:30
#: assets/const.py:6
#: perms/templates/perms/asset_permission_asset.html:137 users/forms.py:187
msgid "PUSH SYSTEM USER TO CLUSTER PERIOD TASK"
#: users/forms.py:213
msgstr "定期推送系统用户到集群"
#: assets/const.py:7
msgid "PUSH SYSTEM USER TO CLUSTER: {}"
msgstr "推送系统用户到集群: {}"
#: assets/const.py:11
msgid "UPDATE ASSETS HARDWARE INFO"
msgstr "更新资产硬件信息"
#: assets/const.py:13
msgid "UPDATE ASSETS HARDWARE INFO PERIOD"
msgstr "定期更新资产硬件信息"
#: assets/const.py:24
msgid "TEST ADMIN USER CONN PERIOD TASK"
msgstr "定期测试资产是否在线"
#: assets/const.py:25
msgid "TEST ADMIN USER CONN: {}"
msgstr "测试管理用户连接性"
#: assets/const.py:38
msgid "ASSET CONN TEST MANUAL"
msgstr "手动测试资产连接性"
#: assets/const.py:41
msgid "TEST SYSTEM USER CONN PERIOD TASK"
msgstr "定期测试系统用户连接性"
#: assets/const.py:43
msgid "TEST SYSTEM USER CONN: {}"
msgstr "测试系统用户连接性: {}"
#: assets/forms.py:25 assets/forms.py:47 assets/forms.py:86 perms/forms.py:30
#: perms/templates/perms/asset_permission_asset.html:127 users/forms.py:231
msgid "Select asset groups"
msgid "Select asset groups"
msgstr "选择资产组"
msgstr "选择资产组"
#: assets/forms.py:26 assets/templates/assets/admin_user_detail.html:
110
#: assets/forms.py:26 assets/templates/assets/admin_user_detail.html:
92
msgid "Select cluster"
msgid "Select cluster"
msgstr "选择集群"
msgstr "选择集群"
...
@@ -39,66 +74,60 @@ msgstr "主机级别管理用户,如果没有设置则默认使用集群级别
...
@@ -39,66 +74,60 @@ msgstr "主机级别管理用户,如果没有设置则默认使用集群级别
msgid "Default using cluster admin user"
msgid "Default using cluster admin user"
msgstr "默认使用管理用户"
msgstr "默认使用管理用户"
#: assets/forms.py:63 assets/forms.py:6
7 assets/forms.py:102
#: assets/forms.py:63 assets/forms.py:6
8 assets/forms.py:115
#: assets/templates/assets/asset_group_detail.html:70 perms/forms.py:27
#: assets/templates/assets/asset_group_detail.html:70 perms/forms.py:27
#: perms/templates/perms/asset_permission_asset.html:109 users/forms.py:184
#: perms/templates/perms/asset_permission_asset.html:99 users/forms.py:228
#: users/forms.py:210
msgid "Select assets"
msgid "Select assets"
msgstr "选择资产"
msgstr "选择资产"
#: assets/forms.py:7
1
assets/models/asset.py:49
#: assets/forms.py:7
3
assets/models/asset.py:49
#: assets/templates/assets/admin_user_assets.html:61
#: assets/templates/assets/admin_user_assets.html:61
#: assets/templates/assets/asset_detail.html:69
#: assets/templates/assets/asset_detail.html:69
#: assets/templates/assets/asset_group_detail.html:47
#: assets/templates/assets/asset_group_detail.html:47
#: assets/templates/assets/asset_list.html:32
#: assets/templates/assets/asset_list.html:32
#: assets/templates/assets/cluster_assets.html:5
6
#: assets/templates/assets/cluster_assets.html:5
3
#: assets/templates/assets/system_user_asset.html:5
9
#: assets/templates/assets/system_user_asset.html:5
4
#: assets/templates/assets/user_asset_list.html:35
#: assets/templates/assets/user_asset_list.html:35
#: perms/templates/perms/asset_permission_asset.html:66
#: perms/templates/perms/asset_permission_asset.html:56
#: users/templates/users/user_granted_asset.html:54
#: users/templates/users/user_group_granted_asset.html:51
#: users/templates/users/user_group_granted_asset.html:54
msgid "Port"
msgid "Port"
msgstr "端口"
msgstr "端口"
#: assets/forms.py:
99
assets/templates/assets/asset_group_list.html:16
#: assets/forms.py:
112
assets/templates/assets/asset_group_list.html:16
#: assets/templates/assets/system_user_list.html:19
#: assets/templates/assets/system_user_list.html:19
perms/models.py:17
#: perms/templates/perms/asset_permission_create_update.html:40
#: perms/templates/perms/asset_permission_create_update.html:40
#: perms/templates/perms/asset_permission_list.html:
13
templates/_nav.html:22
#: perms/templates/perms/asset_permission_list.html:
22
templates/_nav.html:22
#: terminal/backends/command/models.py:11 terminal/models.py:91
#: terminal/backends/command/models.py:11 terminal/models.py:91
#: terminal/templates/terminal/command_list.html:39
#: terminal/templates/terminal/command_list.html:39
#: terminal/templates/terminal/session_list.html:38
#: terminal/templates/terminal/session_list.html:38
#: terminal/templates/terminal/session_list.html:69
#: terminal/templates/terminal/session_list.html:69
#: users/templates/users/user_asset_permission.html:55
#: users/templates/users/user_granted_asset.html:82
#: users/templates/users/user_granted_asset.html:89
#: users/templates/users/user_group_granted_asset.html:86
#: users/templates/users/user_group_asset_permission.html:55
#: users/templates/users/user_group_granted_asset.html:89
msgid "Asset"
msgid "Asset"
msgstr "资产"
msgstr "资产"
#: assets/forms.py:1
34 assets/forms.py:191 assets/forms.py:247
#: assets/forms.py:1
47 assets/forms.py:205 assets/forms.py:261
#: assets/
forms.py:270 assets/
models/cluster.py:18 assets/models/group.py:21
#: assets/models/cluster.py:18 assets/models/group.py:21
#: assets/models/user.py:2
5
assets/templates/assets/admin_user_detail.html:56
#: assets/models/user.py:2
7
assets/templates/assets/admin_user_detail.html:56
#: assets/templates/assets/admin_user_list.html:22
#: assets/templates/assets/admin_user_list.html:22
#: assets/templates/assets/asset_group_list.html:15
#: assets/templates/assets/asset_group_list.html:15
#: assets/templates/assets/cluster_detail.html:57
#: assets/templates/assets/cluster_detail.html:57
#: assets/templates/assets/cluster_list.html:18
#: assets/templates/assets/cluster_list.html:18
#: assets/templates/assets/system_user_detail.html:5
8
#: assets/templates/assets/system_user_detail.html:5
3
#: assets/templates/assets/system_user_list.html:17 ops/models.py:24
#: assets/templates/assets/system_user_list.html:17 ops/models.py:24
#: ops/templates/ops/task_detail.html:56 ops/templates/ops/task_list.html:39
#: ops/templates/ops/task_detail.html:56 ops/templates/ops/task_list.html:39
#: perms/models.py:
20
#: perms/models.py:
14
#: perms/templates/perms/asset_permission_create_update.html:33
#: perms/templates/perms/asset_permission_create_update.html:33
#: perms/templates/perms/asset_permission_detail.html:62
#: perms/templates/perms/asset_permission_detail.html:62
#: perms/templates/perms/asset_permission_list.html:1
0
#: perms/templates/perms/asset_permission_list.html:1
9
#: perms/templates/perms/asset_permission_user.html:
6
4 terminal/models.py:14
#: perms/templates/perms/asset_permission_user.html:
5
4 terminal/models.py:14
#: terminal/models.py:115 terminal/templates/terminal/terminal_detail.html:43
#: terminal/models.py:115 terminal/templates/terminal/terminal_detail.html:43
#: terminal/templates/terminal/terminal_list.html:29 users/models/group.py:21
#: terminal/templates/terminal/terminal_list.html:29 users/models/group.py:21
#: users/models/user.py:32 users/templates/users/_select_user_modal.html:13
#: users/models/user.py:32 users/templates/users/_select_user_modal.html:13
#: users/templates/users/user_asset_permission.html:54
#: users/templates/users/user_detail.html:62
#: users/templates/users/user_detail.html:65
#: users/templates/users/user_granted_asset.html:81
#: users/templates/users/user_granted_asset.html:88
#: users/templates/users/user_group_detail.html:55
#: users/templates/users/user_group_asset_permission.html:54
#: users/templates/users/user_group_granted_asset.html:85
#: users/templates/users/user_group_detail.html:58
#: users/templates/users/user_group_granted_asset.html:88
#: users/templates/users/user_group_list.html:12
#: users/templates/users/user_group_list.html:12
#: users/templates/users/user_list.html:23
#: users/templates/users/user_list.html:23
#: users/templates/users/user_profile.html:51
#: users/templates/users/user_profile.html:51
...
@@ -106,39 +135,39 @@ msgstr "资产"
...
@@ -106,39 +135,39 @@ msgstr "资产"
msgid "Name"
msgid "Name"
msgstr "名称"
msgstr "名称"
#: assets/forms.py:1
49
#: assets/forms.py:1
62
msgid "If also set private key, use that first"
msgid "If also set private key, use that first"
msgstr "如果设置私钥,则优先使用密钥"
msgstr "如果设置私钥,则优先使用密钥"
#: assets/forms.py:1
74 assets/forms.py:229 assets/forms.py:293
#: assets/forms.py:1
88 assets/forms.py:243 assets/forms.py:305
msgid "Invalid private key"
msgid "Invalid private key"
msgstr "ssh密钥不合法"
msgstr "ssh密钥不合法"
#: assets/forms.py:1
84
#: assets/forms.py:1
98
msgid "Password and private key file must be input one"
msgid "Password and private key file must be input one"
msgstr "密码和私钥, 必须输入一个"
msgstr "密码和私钥, 必须输入一个"
#: assets/forms.py:
192 assets/forms.py:248 assets/forms.py:271
#: assets/forms.py:
206 assets/forms.py:262 assets/models/user.py:28
#: assets/
models/user.py:26 assets/
templates/assets/admin_user_detail.html:60
#: assets/templates/assets/admin_user_detail.html:60
#: assets/templates/assets/admin_user_list.html:23
#: assets/templates/assets/admin_user_list.html:23
#: assets/templates/assets/system_user_detail.html:
62
#: assets/templates/assets/system_user_detail.html:
57
#: assets/templates/assets/system_user_list.html:18
#: assets/templates/assets/system_user_list.html:18
#: perms/templates/perms/asset_permission_user.html:
6
5 users/forms.py:14
#: perms/templates/perms/asset_permission_user.html:
5
5 users/forms.py:14
#: users/models/authentication.py:44 users/models/user.py:31
#: users/models/authentication.py:44 users/models/user.py:31
#: users/templates/users/_select_user_modal.html:14
#: users/templates/users/_select_user_modal.html:14
#: users/templates/users/login.html:53
#: users/templates/users/login.html:53
#: users/templates/users/login_log_list.html:48
#: users/templates/users/login_log_list.html:48
#: users/templates/users/user_detail.html:6
9
#: users/templates/users/user_detail.html:6
6
#: users/templates/users/user_list.html:24
#: users/templates/users/user_list.html:24
#: users/templates/users/user_profile.html:47
#: users/templates/users/user_profile.html:47
msgid "Username"
msgid "Username"
msgstr "用户名"
msgstr "用户名"
#: assets/forms.py:2
36 assets/forms.py:299
#: assets/forms.py:2
50 assets/forms.py:311
msgid "Auth info required, private_key or password"
msgid "Auth info required, private_key or password"
msgstr "密钥和密码必须填写一个"
msgstr "密钥和密码必须填写一个"
#: assets/forms.py:2
51 assets/forms.py:274
#: assets/forms.py:2
65
msgid " Select clusters"
msgid " Select clusters"
msgstr "选择集群"
msgstr "选择集群"
...
@@ -178,13 +207,13 @@ msgstr "存储"
...
@@ -178,13 +207,13 @@ msgstr "存储"
#: assets/templates/assets/asset_detail.html:61
#: assets/templates/assets/asset_detail.html:61
#: assets/templates/assets/asset_group_detail.html:46
#: assets/templates/assets/asset_group_detail.html:46
#: assets/templates/assets/asset_list.html:31
#: assets/templates/assets/asset_list.html:31
#: assets/templates/assets/cluster_assets.html:5
5
#: assets/templates/assets/cluster_assets.html:5
2
#: assets/templates/assets/system_user_asset.html:5
8
#: assets/templates/assets/system_user_asset.html:5
3
#: assets/templates/assets/user_asset_list.html:34
#: assets/templates/assets/user_asset_list.html:34
#: perms/templates/perms/asset_permission_asset.html:
6
5
#: perms/templates/perms/asset_permission_asset.html:
5
5
#: users/templates/users/login_log_list.html:51
#: users/templates/users/login_log_list.html:51
#: users/templates/users/user_granted_asset.html:
53
#: users/templates/users/user_granted_asset.html:
49
#: users/templates/users/user_group_granted_asset.html:5
3
#: users/templates/users/user_group_granted_asset.html:5
0
msgid "IP"
msgid "IP"
msgstr "IP"
msgstr "IP"
...
@@ -192,21 +221,21 @@ msgstr "IP"
...
@@ -192,21 +221,21 @@ msgstr "IP"
#: assets/templates/assets/asset_detail.html:57
#: assets/templates/assets/asset_detail.html:57
#: assets/templates/assets/asset_group_detail.html:45
#: assets/templates/assets/asset_group_detail.html:45
#: assets/templates/assets/asset_list.html:30
#: assets/templates/assets/asset_list.html:30
#: assets/templates/assets/cluster_assets.html:5
4
#: assets/templates/assets/cluster_assets.html:5
1
#: assets/templates/assets/system_user_asset.html:5
7
#: assets/templates/assets/system_user_asset.html:5
2
#: assets/templates/assets/user_asset_list.html:33
#: assets/templates/assets/user_asset_list.html:33
#: perms/templates/perms/asset_permission_asset.html:
6
4
#: perms/templates/perms/asset_permission_asset.html:
5
4
#: users/templates/users/user_granted_asset.html:
52
#: users/templates/users/user_granted_asset.html:
48
#: users/templates/users/user_group_granted_asset.html:
52
#: users/templates/users/user_group_granted_asset.html:
49
msgid "Hostname"
msgid "Hostname"
msgstr "主机名"
msgstr "主机名"
#: assets/models/asset.py:50 assets/templates/assets/asset_detail.html:2
05
#: assets/models/asset.py:50 assets/templates/assets/asset_detail.html:2
13
#: assets/views/asset.py:217 assets/views/asset.py:257
#: assets/views/asset.py:217 assets/views/asset.py:257
msgid "Asset groups"
msgid "Asset groups"
msgstr "资产组"
msgstr "资产组"
#: assets/models/asset.py:51 assets/models/user.py:
198
#: assets/models/asset.py:51 assets/models/user.py:
201
#: assets/templates/assets/asset_detail.html:85 templates/_nav.html:24
#: assets/templates/assets/asset_detail.html:85 templates/_nav.html:24
msgid "Cluster"
msgid "Cluster"
msgstr "集群"
msgstr "集群"
...
@@ -310,40 +339,40 @@ msgid "Hostname raw"
...
@@ -310,40 +339,40 @@ msgid "Hostname raw"
msgstr "主机名原始"
msgstr "主机名原始"
#: assets/models/asset.py:85 assets/models/cluster.py:28
#: assets/models/asset.py:85 assets/models/cluster.py:28
#: assets/models/group.py:22 assets/models/user.py:3
3
#: assets/models/group.py:22 assets/models/user.py:3
5
#: assets/templates/assets/admin_user_detail.html:68
#: assets/templates/assets/admin_user_detail.html:68
#: assets/templates/assets/asset_detail.html:149
#: assets/templates/assets/asset_detail.html:149
#: assets/templates/assets/cluster_detail.html:93
#: assets/templates/assets/cluster_detail.html:93
#: assets/templates/assets/system_user_detail.html:9
6 perms/models.py:36
#: assets/templates/assets/system_user_detail.html:9
1 perms/models.py:22
#: perms/templates/perms/asset_permission_detail.html:94
#: perms/templates/perms/asset_permission_detail.html:94
#: users/models/user.py:47 users/templates/users/user_detail.html:
101
#: users/models/user.py:47 users/templates/users/user_detail.html:
98
msgid "Created by"
msgid "Created by"
msgstr "创建者"
msgstr "创建者"
#: assets/models/asset.py:86 assets/models/cluster.py:26
#: assets/models/asset.py:86 assets/models/cluster.py:26
#: assets/models/group.py:23 assets/templates/assets/admin_user_detail.html:64
#: assets/models/group.py:23 assets/templates/assets/admin_user_detail.html:64
#: assets/templates/assets/cluster_detail.html:89
#: assets/templates/assets/cluster_detail.html:89
#: assets/templates/assets/system_user_detail.html:
92
#: assets/templates/assets/system_user_detail.html:
87
#: ops/templates/ops/task_detail.html:60 perms/models.py:
38
#: ops/templates/ops/task_detail.html:60 perms/models.py:
23
#: perms/templates/perms/asset_permission_detail.html:90
#: perms/templates/perms/asset_permission_detail.html:90
#: terminal/templates/terminal/terminal_detail.html:59 users/models/group.py:24
#: terminal/templates/terminal/terminal_detail.html:59 users/models/group.py:24
#: users/templates/users/user_group_detail.html:6
6
#: users/templates/users/user_group_detail.html:6
3
msgid "Date created"
msgid "Date created"
msgstr "创建日期"
msgstr "创建日期"
#: assets/models/asset.py:87 assets/models/cluster.py:29
#: assets/models/asset.py:87 assets/models/cluster.py:29
#: assets/models/group.py:24 assets/models/user.py:3
0
#: assets/models/group.py:24 assets/models/user.py:3
2
#: assets/templates/assets/admin_user_detail.html:72
#: assets/templates/assets/admin_user_detail.html:72
#: assets/templates/assets/admin_user_list.html:26
#: assets/templates/assets/admin_user_list.html:26
#: assets/templates/assets/asset_detail.html:157
#: assets/templates/assets/asset_detail.html:157
#: assets/templates/assets/asset_group_list.html:17
#: assets/templates/assets/asset_group_list.html:17
#: assets/templates/assets/cluster_detail.html:97
#: assets/templates/assets/cluster_detail.html:97
#: assets/templates/assets/system_user_detail.html:
100
#: assets/templates/assets/system_user_detail.html:
95
#: assets/templates/assets/system_user_list.html:2
1 perms/models.py:39
#: assets/templates/assets/system_user_list.html:2
3 perms/models.py:24
#: perms/templates/perms/asset_permission_detail.html:98 terminal/models.py:22
#: perms/templates/perms/asset_permission_detail.html:98 terminal/models.py:22
#: terminal/templates/terminal/terminal_detail.html:63 users/models/group.py:22
#: terminal/templates/terminal/terminal_detail.html:63 users/models/group.py:22
#: users/models/user.py:44 users/templates/users/user_detail.html:11
3
#: users/models/user.py:44 users/templates/users/user_detail.html:11
0
#: users/templates/users/user_group_detail.html:
70
#: users/templates/users/user_group_detail.html:
67
#: users/templates/users/user_group_list.html:14
#: users/templates/users/user_group_list.html:14
#: users/templates/users/user_profile.html:118
#: users/templates/users/user_profile.html:118
msgid "Comment"
msgid "Comment"
...
@@ -360,7 +389,7 @@ msgstr "联系人"
...
@@ -360,7 +389,7 @@ msgstr "联系人"
#: assets/models/cluster.py:22 assets/templates/assets/cluster_detail.html:69
#: assets/models/cluster.py:22 assets/templates/assets/cluster_detail.html:69
#: assets/templates/assets/cluster_list.html:22 users/models/user.py:38
#: assets/templates/assets/cluster_list.html:22 users/models/user.py:38
#: users/templates/users/user_detail.html:7
8
#: users/templates/users/user_detail.html:7
5
msgid "Phone"
msgid "Phone"
msgstr "手机"
msgstr "手机"
...
@@ -397,45 +426,43 @@ msgstr "默认Cluster"
...
@@ -397,45 +426,43 @@ msgstr "默认Cluster"
msgid "Default asset group"
msgid "Default asset group"
msgstr "默认资产组"
msgstr "默认资产组"
#: assets/models/user.py:2
7 users/forms.py:16
#: assets/models/user.py:2
9 users/forms.py:16 users/forms.py:24
#: users/templates/users/login.html:56
#: users/templates/users/login.html:56
#: users/templates/users/reset_password.html:52
#: users/templates/users/reset_password.html:52
#: users/templates/users/user_create.html:9
#: users/templates/users/user_create.html:11
#: users/templates/users/user_create.html:11
#: users/templates/users/user_password_update.html:40
#: users/templates/users/user_password_update.html:40
#: users/templates/users/user_profile_update.html:40
#: users/templates/users/user_profile_update.html:40
#: users/templates/users/user_pubkey_update.html:40
#: users/templates/users/user_pubkey_update.html:40
#: users/templates/users/user_update.html:5
#: users/templates/users/user_update.html:7
msgid "Password"
msgid "Password"
msgstr "密码"
msgstr "密码"
#: assets/models/user.py:
28
#: assets/models/user.py:
30
msgid "SSH private key"
msgid "SSH private key"
msgstr "ssh密钥"
msgstr "ssh密钥"
#: assets/models/user.py:
29
#: assets/models/user.py:
31
msgid "SSH public key"
msgid "SSH public key"
msgstr "ssh公钥"
msgstr "ssh公钥"
#: assets/models/user.py:
199
#: assets/models/user.py:
202
msgid "Priority"
msgid "Priority"
msgstr ""
msgstr ""
#: assets/models/user.py:20
0 assets/templates/assets/system_user_detail.html:66
#: assets/models/user.py:20
3 assets/templates/assets/system_user_detail.html:61
msgid "Protocol"
msgid "Protocol"
msgstr "协议"
msgstr "协议"
#: assets/models/user.py:201 assets/templates/assets/_system_user.html:59
#: assets/models/user.py:204 assets/templates/assets/_system_user.html:59
#: assets/templates/assets/system_user_detail.html:118
#: assets/templates/assets/system_user_detail.html:113
#: assets/templates/assets/system_user_update.html:11
msgid "Auto push"
msgid "Auto push"
msgstr "自动推送"
msgstr "自动推送"
#: assets/models/user.py:20
2 assets/templates/assets/system_user_detail.html:70
#: assets/models/user.py:20
5 assets/templates/assets/system_user_detail.html:65
msgid "Sudo"
msgid "Sudo"
msgstr "Sudo"
msgstr "Sudo"
#: assets/models/user.py:20
3 assets/templates/assets/system_user_detail.html:75
#: assets/models/user.py:20
6 assets/templates/assets/system_user_detail.html:70
msgid "Shell"
msgid "Shell"
msgstr "Shell"
msgstr "Shell"
...
@@ -453,13 +480,13 @@ msgid "Hint: only change the field you want to update."
...
@@ -453,13 +480,13 @@ msgid "Hint: only change the field you want to update."
msgstr "仅修改你需要更新的字段"
msgstr "仅修改你需要更新的字段"
#: assets/templates/assets/_asset_group_bulk_update_modal.html:12
#: assets/templates/assets/_asset_group_bulk_update_modal.html:12
#: assets/templates/assets/system_user_asset.html:2
6
#: assets/templates/assets/system_user_asset.html:2
1
#: assets/views/admin_user.py:27 assets/views/cluster.py:22
#: assets/views/admin_user.py:27 assets/views/cluster.py:22
#: assets/views/cluster.py:8
7 assets/views/group.py:30 assets/views/group.py:53
#: assets/views/cluster.py:8
0 assets/views/cluster.py:97
#: assets/views/group.py:
71 assets/views/group.py:93
#: assets/views/group.py:
30 assets/views/group.py:53 assets/views/group.py:71
#: assets/views/
system_user.py:30 assets/views/system_user.py:4
9
#: assets/views/
group.py:93 assets/views/system_user.py:2
9
#: assets/views/system_user.py:
72 assets/views/system_user.py:92
#: assets/views/system_user.py:
48 assets/views/system_user.py:71
#: templates/_nav.html:19
#:
assets/views/system_user.py:91
templates/_nav.html:19
msgid "Assets"
msgid "Assets"
msgstr "资产管理"
msgstr "资产管理"
...
@@ -503,7 +530,7 @@ msgstr "如果设置了id,则会使用该行信息更新该id的资产"
...
@@ -503,7 +530,7 @@ msgstr "如果设置了id,则会使用该行信息更新该id的资产"
#: assets/templates/assets/_system_user.html:16
#: assets/templates/assets/_system_user.html:16
#: assets/templates/assets/system_user_list.html:9
#: assets/templates/assets/system_user_list.html:9
#: assets/views/system_user.py:
50
#: assets/views/system_user.py:
49
msgid "Create system user"
msgid "Create system user"
msgstr "创建系统用户"
msgstr "创建系统用户"
...
@@ -517,9 +544,9 @@ msgstr "基本"
...
@@ -517,9 +544,9 @@ msgstr "基本"
#: assets/templates/assets/_system_user.html:45
#: assets/templates/assets/_system_user.html:45
#: assets/templates/assets/asset_create.html:24
#: assets/templates/assets/asset_create.html:24
#: assets/templates/assets/asset_update.html:29
#: assets/templates/assets/asset_update.html:29
#: assets/templates/assets/system_user_
asset.html:21
#: assets/templates/assets/system_user_
update.html:7
#:
assets/templates/assets/system_user_auth.html:18
#:
users/templates/users/user_create.html:9
#:
assets/templates/assets/system_user_detail.html:22
#:
users/templates/users/user_update.html:6
msgid "Auth"
msgid "Auth"
msgstr "认证"
msgstr "认证"
...
@@ -542,13 +569,10 @@ msgstr "其它"
...
@@ -542,13 +569,10 @@ msgstr "其它"
#: assets/templates/assets/asset_create.html:40
#: assets/templates/assets/asset_create.html:40
#: assets/templates/assets/asset_update.html:56
#: assets/templates/assets/asset_update.html:56
#: assets/templates/assets/cluster_create_update.html:53
#: assets/templates/assets/cluster_create_update.html:53
#: assets/templates/assets/system_user_auth.html:59
#: perms/templates/perms/asset_permission_create_update.html:67
#: perms/templates/perms/asset_permission_create_update.html:67
#: terminal/templates/terminal/terminal_update.html:45
#: terminal/templates/terminal/terminal_update.html:45
#: users/templates/users/_user.html:49
#: users/templates/users/_user.html:49
#: users/templates/users/user_bulk_update.html:23
#: users/templates/users/user_bulk_update.html:23
#: users/templates/users/user_detail.html:162
#: users/templates/users/user_detail.html:170
#: users/templates/users/user_password_update.html:58
#: users/templates/users/user_password_update.html:58
#: users/templates/users/user_profile.html:139
#: users/templates/users/user_profile.html:139
#: users/templates/users/user_profile.html:147
#: users/templates/users/user_profile.html:147
...
@@ -561,22 +585,15 @@ msgstr "重置"
...
@@ -561,22 +585,15 @@ msgstr "重置"
#: assets/templates/assets/admin_user_create_update.html:46
#: assets/templates/assets/admin_user_create_update.html:46
#: assets/templates/assets/asset_bulk_update.html:24
#: assets/templates/assets/asset_bulk_update.html:24
#: assets/templates/assets/asset_create.html:41
#: assets/templates/assets/asset_create.html:41
#: assets/templates/assets/asset_group_list.html:32
#: assets/templates/assets/asset_list.html:54
#: assets/templates/assets/asset_list.html:54
#: assets/templates/assets/asset_update.html:57
#: assets/templates/assets/asset_update.html:57
#: assets/templates/assets/cluster_create_update.html:54
#: assets/templates/assets/cluster_create_update.html:54
#: assets/templates/assets/cluster_list.html:37
#: assets/templates/assets/system_user_auth.html:60
#: assets/templates/assets/system_user_list.html:36
#: perms/templates/perms/asset_permission_create_update.html:68
#: perms/templates/perms/asset_permission_create_update.html:68
#: terminal/templates/terminal/terminal_update.html:46
#: terminal/templates/terminal/terminal_update.html:46
#: users/templates/users/_user.html:50
#: users/templates/users/_user.html:50
#: users/templates/users/first_login.html:62
#: users/templates/users/first_login.html:62
#: users/templates/users/forgot_password.html:44
#: users/templates/users/forgot_password.html:44
#: users/templates/users/user_asset_permission.html:99
#: users/templates/users/user_bulk_update.html:24
#: users/templates/users/user_bulk_update.html:24
#: users/templates/users/user_group_asset_permission.html:100
#: users/templates/users/user_group_list.html:26
#: users/templates/users/user_list.html:44
#: users/templates/users/user_list.html:44
#: users/templates/users/user_password_update.html:59
#: users/templates/users/user_password_update.html:59
#: users/templates/users/user_profile_update.html:64
#: users/templates/users/user_profile_update.html:64
...
@@ -589,7 +606,6 @@ msgstr "提交"
...
@@ -589,7 +606,6 @@ msgstr "提交"
#: assets/templates/assets/cluster_assets.html:20
#: assets/templates/assets/cluster_assets.html:20
#: assets/templates/assets/cluster_detail.html:17
#: assets/templates/assets/cluster_detail.html:17
#: assets/templates/assets/system_user_asset.html:17
#: assets/templates/assets/system_user_asset.html:17
#: assets/templates/assets/system_user_auth.html:14
#: assets/templates/assets/system_user_detail.html:18
#: assets/templates/assets/system_user_detail.html:18
#: ops/templates/ops/task_adhoc.html:109
#: ops/templates/ops/task_adhoc.html:109
#: ops/templates/ops/task_history.html:118
#: ops/templates/ops/task_history.html:118
...
@@ -608,33 +624,31 @@ msgstr "资产列表"
...
@@ -608,33 +624,31 @@ msgstr "资产列表"
#: assets/templates/assets/admin_user_assets.html:37
#: assets/templates/assets/admin_user_assets.html:37
#: assets/templates/assets/asset_group_detail.html:26
#: assets/templates/assets/asset_group_detail.html:26
#: perms/templates/perms/asset_permission_asset.html:
4
5
#: perms/templates/perms/asset_permission_asset.html:
3
5
msgid "Asset list of "
msgid "Asset list of "
msgstr "资产列表"
msgstr "资产列表"
#: assets/templates/assets/admin_user_assets.html:62
#: assets/templates/assets/admin_user_assets.html:62
#: assets/templates/assets/asset_group_detail.html:48
#: assets/templates/assets/asset_group_detail.html:48
#: assets/templates/assets/asset_list.html:33
#: assets/templates/assets/asset_list.html:33
#: assets/templates/assets/cluster_assets.html:5
7
#: assets/templates/assets/cluster_assets.html:5
4
#: assets/templates/assets/user_asset_list.html:36
#: assets/templates/assets/user_asset_list.html:36
#: users/templates/users/login_log_list.html:49
#: users/templates/users/login_log_list.html:49
msgid "Type"
msgid "Type"
msgstr "类型"
msgstr "类型"
#: assets/templates/assets/admin_user_assets.html:63
#: assets/templates/assets/admin_user_assets.html:63
#: assets/templates/assets/cluster_assets.html:58
#: assets/templates/assets/asset_group_detail.html:49
#: assets/templates/assets/user_asset_list.html:39
#: assets/templates/assets/cluster_assets.html:55
#: users/templates/users/user_asset_permission.html:58
#: assets/templates/assets/user_asset_list.html:40
#: users/templates/users/user_granted_asset.html:56
#: terminal/templates/terminal/terminal_list.html:35
#: users/templates/users/user_group_asset_permission.html:58
msgid "Alive"
#: users/templates/users/user_group_granted_asset.html:56
msgstr "在线"
msgid "Valid"
msgstr "可用"
#: assets/templates/assets/admin_user_assets.html:75
#: assets/templates/assets/admin_user_assets.html:75
#: assets/templates/assets/
admin_user_detail.html:83
#: assets/templates/assets/
cluster_assets.html:68
#: assets/templates/assets/system_user_asset.html:
72
#: assets/templates/assets/system_user_asset.html:
67
#: assets/templates/assets/system_user_detail.html:1
12
#: assets/templates/assets/system_user_detail.html:1
07
#: perms/templates/perms/asset_permission_detail.html:110
#: perms/templates/perms/asset_permission_detail.html:110
msgid "Quick update"
msgid "Quick update"
msgstr "快速更新"
msgstr "快速更新"
...
@@ -642,51 +656,46 @@ msgstr "快速更新"
...
@@ -642,51 +656,46 @@ msgstr "快速更新"
#: assets/templates/assets/admin_user_assets.html:81
#: assets/templates/assets/admin_user_assets.html:81
#, fuzzy
#, fuzzy
#| msgid "Retest asset connectivity"
#| msgid "Retest asset connectivity"
msgid "
Retest connectivity
"
msgid "
Test connective
"
msgstr "重置资产连接性"
msgstr "重置资产连接性"
#: assets/templates/assets/admin_user_assets.html:84
#: assets/templates/assets/admin_user_assets.html:84
#: perms/templates/perms/asset_permission_detail.html:133
#: assets/templates/assets/asset_detail.html:202
msgid "Start"
#: assets/templates/assets/system_user_asset.html:84
msgstr "开始"
msgid "Test"
msgstr ""
#: assets/templates/assets/admin_user_assets.html:147
msgid "Task has been send, seen left asset status"
msgstr ""
#: assets/templates/assets/admin_user_create_update.html:16
#: assets/templates/assets/admin_user_create_update.html:16
#: assets/templates/assets/admin_user_list.html:14
#: assets/templates/assets/admin_user_list.html:14
msgid "Create admin user"
msgid "Create admin user"
msgstr "创建管理用户"
msgstr "创建管理用户"
#: assets/templates/assets/admin_user_detail.html:89
#: assets/templates/assets/admin_user_detail.html:84
msgid "Test auth all assets manual"
msgstr ""
#: assets/templates/assets/admin_user_detail.html:92
#: ops/templates/ops/task_list.html:69
msgid "Run"
msgstr ""
#: assets/templates/assets/admin_user_detail.html:102
#, fuzzy
#, fuzzy
#| msgid "Select asset admin user"
#| msgid "Select asset admin user"
msgid "Using this as cluster admin user"
msgid "Using this as cluster admin user"
msgstr "选择资产管理用户"
msgstr "选择资产管理用户"
#: assets/templates/assets/admin_user_detail.html:1
19
#: assets/templates/assets/admin_user_detail.html:1
01
#: assets/templates/assets/asset_detail.html:2
22
#: assets/templates/assets/asset_detail.html:2
30
#: assets/templates/assets/asset_group_list.html:
100
#: assets/templates/assets/asset_group_list.html:
87
#: assets/templates/assets/asset_list.html:199
#: assets/templates/assets/asset_list.html:199
#: assets/templates/assets/cluster_assets.html:87
#: assets/templates/assets/cluster_assets.html:104
#: assets/templates/assets/cluster_assets.html:252
#: assets/templates/assets/cluster_list.html:88
#: assets/templates/assets/cluster_list.html:100
#: assets/templates/assets/system_user_detail.html:159
#: assets/templates/assets/system_user_detail.html:164
#: assets/templates/assets/system_user_list.html:127
#: assets/templates/assets/system_user_list.html:102
#: assets/templates/assets/user_asset_list.html:165 templates/_modal.html:16
#: assets/templates/assets/user_asset_list.html:165 templates/_modal.html:16
#: terminal/templates/terminal/session_detail.html:108
#: terminal/templates/terminal/session_detail.html:108
#: users/templates/users/user_detail.html:3
41
#: users/templates/users/user_detail.html:3
38
#: users/templates/users/user_detail.html:36
6
#: users/templates/users/user_detail.html:36
3
#: users/templates/users/user_detail.html:38
9
#: users/templates/users/user_detail.html:38
6
#: users/templates/users/user_group_create_update.html:4
5
#: users/templates/users/user_group_create_update.html:4
6
#: users/templates/users/user_group_list.html:
9
2
#: users/templates/users/user_group_list.html:
8
2
#: users/templates/users/user_list.html:1
91
#: users/templates/users/user_list.html:1
82
#: users/templates/users/user_profile.html:181
#: users/templates/users/user_profile.html:181
msgid "Confirm"
msgid "Confirm"
msgstr "确认"
msgstr "确认"
...
@@ -698,7 +707,7 @@ msgid "Asset num"
...
@@ -698,7 +707,7 @@ msgid "Asset num"
msgstr "资产数量"
msgstr "资产数量"
#: assets/templates/assets/admin_user_list.html:25
#: assets/templates/assets/admin_user_list.html:25
#: assets/templates/assets/system_user_list.html:2
0
#: assets/templates/assets/system_user_list.html:2
1
msgid "Unreachable"
msgid "Unreachable"
msgstr "不可达"
msgstr "不可达"
...
@@ -706,11 +715,12 @@ msgstr "不可达"
...
@@ -706,11 +715,12 @@ msgstr "不可达"
#: assets/templates/assets/asset_group_detail.html:50
#: assets/templates/assets/asset_group_detail.html:50
#: assets/templates/assets/asset_group_list.html:18
#: assets/templates/assets/asset_group_list.html:18
#: assets/templates/assets/asset_list.html:38
#: assets/templates/assets/asset_list.html:38
#: assets/templates/assets/cluster_assets.html:56
#: assets/templates/assets/cluster_list.html:24
#: assets/templates/assets/cluster_list.html:24
#: assets/templates/assets/system_user_list.html:2
2
#: assets/templates/assets/system_user_list.html:2
4
#: ops/templates/ops/task_adhoc.html:61 ops/templates/ops/task_history.html:61
#: ops/templates/ops/task_adhoc.html:61 ops/templates/ops/task_history.html:61
#: ops/templates/ops/task_list.html:46
#: ops/templates/ops/task_list.html:46
#: perms/templates/perms/asset_permission_list.html:
17
#: perms/templates/perms/asset_permission_list.html:
26
#: terminal/templates/terminal/session_list.html:75
#: terminal/templates/terminal/session_list.html:75
#: terminal/templates/terminal/terminal_list.html:36
#: terminal/templates/terminal/terminal_list.html:36
#: users/templates/users/user_group_list.html:15
#: users/templates/users/user_group_list.html:15
...
@@ -719,28 +729,30 @@ msgid "Action"
...
@@ -719,28 +729,30 @@ msgid "Action"
msgstr "动作"
msgstr "动作"
#: assets/templates/assets/admin_user_list.html:47
#: assets/templates/assets/admin_user_list.html:47
#: assets/templates/assets/asset_group_detail.html:1
90
#: assets/templates/assets/asset_group_detail.html:1
72
#: assets/templates/assets/asset_group_list.html:
55
#: assets/templates/assets/asset_group_list.html:
42
#: assets/templates/assets/asset_list.html:95
#: assets/templates/assets/asset_list.html:95
#: assets/templates/assets/cluster_list.html:56
#: assets/templates/assets/cluster_assets.html:170
#: assets/templates/assets/system_user_list.html:58
#: assets/templates/assets/cluster_list.html:44
#: perms/templates/perms/asset_permission_list.html:42
#: assets/templates/assets/system_user_list.html:77
#: perms/templates/perms/asset_permission_list.html:67
#: terminal/templates/terminal/terminal_list.html:71
#: terminal/templates/terminal/terminal_list.html:71
#: users/templates/users/user_group_list.html:
50
#: users/templates/users/user_group_list.html:
39
#: users/templates/users/user_list.html:
92
#: users/templates/users/user_list.html:
76
msgid "Update"
msgid "Update"
msgstr "更新"
msgstr "更新"
#: assets/templates/assets/admin_user_list.html:48
#: assets/templates/assets/admin_user_list.html:48
#: assets/templates/assets/asset_group_list.html:
56
#: assets/templates/assets/asset_group_list.html:
43
#: assets/templates/assets/asset_list.html:96
#: assets/templates/assets/asset_list.html:96
#: assets/templates/assets/cluster_list.html:
57
#: assets/templates/assets/cluster_list.html:
45
#: assets/templates/assets/system_user_list.html:
59
#: assets/templates/assets/system_user_list.html:
78
#: ops/templates/ops/task_list.html:70
#: ops/templates/ops/task_list.html:70
#: perms/templates/perms/asset_permission_list.html:
45
#: perms/templates/perms/asset_permission_list.html:
68
#: terminal/templates/terminal/terminal_list.html:73
#: terminal/templates/terminal/terminal_list.html:73
#: users/templates/users/user_group_list.html:52
#: users/templates/users/user_group_list.html:41
#: users/templates/users/user_list.html:93
#: users/templates/users/user_list.html:80
#: users/templates/users/user_list.html:84
msgid "Delete"
msgid "Delete"
msgstr "删除"
msgstr "删除"
...
@@ -749,7 +761,7 @@ msgstr "删除"
...
@@ -749,7 +761,7 @@ msgstr "删除"
msgid "Group"
msgid "Group"
msgstr "组"
msgstr "组"
#: assets/templates/assets/asset_detail.html:20 assets/views/cluster.py:
8
8
#: assets/templates/assets/asset_detail.html:20 assets/views/cluster.py:
9
8
msgid "Asset detail"
msgid "Asset detail"
msgstr "资产详情"
msgstr "资产详情"
...
@@ -766,24 +778,24 @@ msgid "Disk"
...
@@ -766,24 +778,24 @@ msgid "Disk"
msgstr "硬盘"
msgstr "硬盘"
#: assets/templates/assets/asset_detail.html:153
#: assets/templates/assets/asset_detail.html:153
#: users/templates/users/user_detail.html:10
5
#: users/templates/users/user_detail.html:10
2
#: users/templates/users/user_profile.html:88
#: users/templates/users/user_profile.html:88
msgid "Date joined"
msgid "Date joined"
msgstr "创建日期"
msgstr "创建日期"
#: assets/templates/assets/asset_detail.html:169
#: assets/templates/assets/asset_detail.html:169
#: terminal/templates/terminal/session_detail.html:81
#: terminal/templates/terminal/session_detail.html:81
#: users/templates/users/user_detail.html:12
4
#: users/templates/users/user_detail.html:12
1
#: users/templates/users/user_profile.html:130
#: users/templates/users/user_profile.html:130
msgid "Quick modify"
msgid "Quick modify"
msgstr "快速修改"
msgstr "快速修改"
#: assets/templates/assets/asset_detail.html:175
#: assets/templates/assets/asset_detail.html:175
#: assets/templates/assets/asset_list.html:36 perms/models.py:
32
#: assets/templates/assets/asset_list.html:36 perms/models.py:
20
#: perms/templates/perms/asset_permission_create_update.html:47
#: perms/templates/perms/asset_permission_create_update.html:47
#: terminal/templates/terminal/terminal_list.html:34
#: terminal/templates/terminal/terminal_list.html:34
#: users/templates/users/_select_user_modal.html:18
#: users/templates/users/_select_user_modal.html:18
#: users/templates/users/user_detail.html:1
30
#: users/templates/users/user_detail.html:1
27
#: users/templates/users/user_list.html:27
#: users/templates/users/user_list.html:27
#: users/templates/users/user_profile.html:63
#: users/templates/users/user_profile.html:63
msgid "Active"
msgid "Active"
...
@@ -794,43 +806,44 @@ msgid "Refresh hardware"
...
@@ -794,43 +806,44 @@ msgid "Refresh hardware"
msgstr "更新硬件信息"
msgstr "更新硬件信息"
#: assets/templates/assets/asset_detail.html:194
#: assets/templates/assets/asset_detail.html:194
#: assets/templates/assets/system_user_asset.html:89
msgid "Refresh"
msgid "Refresh"
msgstr "刷新"
msgstr "刷新"
#: assets/templates/assets/asset_detail.html:213
#: assets/templates/assets/asset_detail.html:199
msgid "Test is alive"
msgstr ""
#: assets/templates/assets/asset_detail.html:221
msgid "Join asset groups"
msgid "Join asset groups"
msgstr "添加到资产组"
msgstr "添加到资产组"
#: assets/templates/assets/asset_detail.html:311
#: assets/templates/assets/asset_detail.html:318
#: users/templates/users/user_detail.html:275
#: users/templates/users/user_detail.html:272
#: users/templates/users/user_detail.html:288
msgid "Update successfully!"
msgid "Update successfully!"
msgstr "更新成功"
msgstr "更新成功"
#: assets/templates/assets/asset_detail.html:376
msgid "Pong"
msgstr ""
#: assets/templates/assets/asset_group_detail.html:16
#: assets/templates/assets/asset_group_detail.html:16
msgid "Group assets"
msgid "Group assets"
msgstr "组下资产"
msgstr "组下资产"
#: assets/templates/assets/asset_group_detail.html:49
#: assets/templates/assets/user_asset_list.html:40
#: terminal/templates/terminal/terminal_list.html:35
msgid "Alive"
msgstr "在线"
#: assets/templates/assets/asset_group_detail.html:62
#: assets/templates/assets/asset_group_detail.html:62
msgid "Add assets to this group"
msgid "Add assets to this group"
msgstr "添加资产到该组"
msgstr "添加资产到该组"
#: assets/templates/assets/asset_group_detail.html:79
#: assets/templates/assets/asset_group_detail.html:79
#: perms/templates/perms/asset_permission_asset.html:118
#: perms/templates/perms/asset_permission_asset.html:108
#: perms/templates/perms/asset_permission_user.html:118
#: perms/templates/perms/asset_permission_detail.html:153
#: perms/templates/perms/asset_permission_user.html:146
#: perms/templates/perms/asset_permission_user.html:108
#: users/templates/users/user_group_detail.html:98
#: perms/templates/perms/asset_permission_user.html:136
#: users/templates/users/user_group_detail.html:95
msgid "Add"
msgid "Add"
msgstr "添加"
msgstr "添加"
#: assets/templates/assets/asset_group_detail.html:1
91
#: assets/templates/assets/asset_group_detail.html:1
73
msgid "Remove"
msgid "Remove"
msgstr "移除"
msgstr "移除"
...
@@ -839,58 +852,41 @@ msgstr "移除"
...
@@ -839,58 +852,41 @@ msgstr "移除"
msgid "Create asset group"
msgid "Create asset group"
msgstr "创建资产组"
msgstr "创建资产组"
#: assets/templates/assets/asset_group_list.html:27
#: assets/templates/assets/asset_group_list.html:82
#: assets/templates/assets/asset_list.html:47
#: assets/templates/assets/cluster_list.html:33
#: assets/templates/assets/system_user_list.html:31
#: users/templates/users/user_group_list.html:22
#: users/templates/users/user_list.html:37
msgid "Delete selected"
msgstr "批量删除"
#: assets/templates/assets/asset_group_list.html:28
#: assets/templates/assets/asset_list.html:48
#: assets/templates/assets/system_user_list.html:32
#: users/templates/users/user_list.html:38
msgid "Update selected"
msgstr "批量更新"
#: assets/templates/assets/asset_group_list.html:95
#: assets/templates/assets/asset_list.html:194
#: assets/templates/assets/asset_list.html:194
#: assets/templates/assets/cluster_assets.html:247
#: assets/templates/assets/cluster_list.html:83
#: assets/templates/assets/cluster_list.html:95
#: assets/templates/assets/system_user_list.html:122
#: assets/templates/assets/system_user_list.html:97
#: assets/templates/assets/user_asset_list.html:160
#: assets/templates/assets/user_asset_list.html:160
#: users/templates/users/user_detail.html:33
6
#: users/templates/users/user_detail.html:33
3
#: users/templates/users/user_detail.html:3
61
#: users/templates/users/user_detail.html:3
58
#: users/templates/users/user_group_list.html:
8
7
#: users/templates/users/user_group_list.html:
7
7
#: users/templates/users/user_list.html:1
86
#: users/templates/users/user_list.html:1
77
msgid "Are you sure?"
msgid "Are you sure?"
msgstr "你确认吗?"
msgstr "你确认吗?"
#: assets/templates/assets/asset_group_list.html:
96
#: assets/templates/assets/asset_group_list.html:
83
#: users/templates/users/user_group_list.html:
8
8
#: users/templates/users/user_group_list.html:
7
8
msgid "This will delete the selected groups !!!"
msgid "This will delete the selected groups !!!"
msgstr "删除选择组"
msgstr "删除选择组"
#: assets/templates/assets/asset_group_list.html:
104
#: assets/templates/assets/asset_group_list.html:
91
msgid "Group deleted"
msgid "Group deleted"
msgstr "组已被删除"
msgstr "组已被删除"
#: assets/templates/assets/asset_group_list.html:
105
#: assets/templates/assets/asset_group_list.html:
92
#: assets/templates/assets/asset_group_list.html:
110
#: assets/templates/assets/asset_group_list.html:
97
msgid "Group Delete"
msgid "Group Delete"
msgstr "删除"
msgstr "删除"
#: assets/templates/assets/asset_group_list.html:
109
#: assets/templates/assets/asset_group_list.html:
96
msgid "Group deleting failed."
msgid "Group deleting failed."
msgstr "删除失败"
msgstr "删除失败"
#: assets/templates/assets/asset_group_list.html:1
72
#: assets/templates/assets/asset_group_list.html:1
59
msgid "The selected asset groups has been updated successfully."
msgid "The selected asset groups has been updated successfully."
msgstr "更新成功"
msgstr "更新成功"
#: assets/templates/assets/asset_group_list.html:1
73
#: assets/templates/assets/asset_group_list.html:1
60
msgid "AssetGroup Updated"
msgid "AssetGroup Updated"
msgstr "资产组更新"
msgstr "资产组更新"
...
@@ -924,6 +920,16 @@ msgstr "硬件"
...
@@ -924,6 +920,16 @@ msgstr "硬件"
msgid "Connective"
msgid "Connective"
msgstr "连接"
msgstr "连接"
#: assets/templates/assets/asset_list.html:47
#: users/templates/users/user_list.html:37
msgid "Delete selected"
msgstr "批量删除"
#: assets/templates/assets/asset_list.html:48
#: users/templates/users/user_list.html:38
msgid "Update selected"
msgstr "批量更新"
#: assets/templates/assets/asset_list.html:49
#: assets/templates/assets/asset_list.html:49
#: users/templates/users/user_list.html:39
#: users/templates/users/user_list.html:39
msgid "Deactive selected"
msgid "Deactive selected"
...
@@ -935,7 +941,6 @@ msgid "Active selected"
...
@@ -935,7 +941,6 @@ msgid "Active selected"
msgstr "激活所选"
msgstr "激活所选"
#: assets/templates/assets/asset_list.html:195
#: assets/templates/assets/asset_list.html:195
#: assets/templates/assets/cluster_assets.html:248
#: assets/templates/assets/user_asset_list.html:161
#: assets/templates/assets/user_asset_list.html:161
msgid "This will delete the selected assets !!!"
msgid "This will delete the selected assets !!!"
msgstr "删除选择资产"
msgstr "删除选择资产"
...
@@ -943,22 +948,18 @@ msgstr "删除选择资产"
...
@@ -943,22 +948,18 @@ msgstr "删除选择资产"
# msgid "Deleted!"
# msgid "Deleted!"
# msgstr "删除"
# msgstr "删除"
#: assets/templates/assets/asset_list.html:203
#: assets/templates/assets/asset_list.html:203
#: assets/templates/assets/cluster_assets.html:256
#: assets/templates/assets/user_asset_list.html:169
#: assets/templates/assets/user_asset_list.html:169
msgid "Asset Deleted."
msgid "Asset Deleted."
msgstr "已被删除"
msgstr "已被删除"
#: assets/templates/assets/asset_list.html:204
#: assets/templates/assets/asset_list.html:204
#: assets/templates/assets/asset_list.html:209
#: assets/templates/assets/asset_list.html:209
#: assets/templates/assets/cluster_assets.html:257
#: assets/templates/assets/cluster_assets.html:262
#: assets/templates/assets/user_asset_list.html:170
#: assets/templates/assets/user_asset_list.html:170
#: assets/templates/assets/user_asset_list.html:175
#: assets/templates/assets/user_asset_list.html:175
msgid "Asset Delete"
msgid "Asset Delete"
msgstr "删除"
msgstr "删除"
#: assets/templates/assets/asset_list.html:208
#: assets/templates/assets/asset_list.html:208
#: assets/templates/assets/cluster_assets.html:261
#: assets/templates/assets/user_asset_list.html:174
#: assets/templates/assets/user_asset_list.html:174
msgid "Asset Deleting failed."
msgid "Asset Deleting failed."
msgstr "删除失败"
msgstr "删除失败"
...
@@ -977,25 +978,26 @@ msgstr "位置"
...
@@ -977,25 +978,26 @@ msgstr "位置"
msgid "Cluster assets"
msgid "Cluster assets"
msgstr "集群中资产"
msgstr "集群中资产"
#: assets/templates/assets/cluster_assets.html:70
#: assets/templates/assets/cluster_assets.html:74
#, fuzzy
#| msgid "Select assets"
msgid "Test assets alive"
msgstr "选择资产"
#: assets/templates/assets/cluster_assets.html:77
#: ops/templates/ops/task_list.html:69
msgid "Run"
msgstr ""
#: assets/templates/assets/cluster_assets.html:87
msgid "Add assets to"
msgid "Add assets to"
msgstr "添加资产到"
msgstr "添加资产到"
#: assets/templates/assets/cluster_assets.html:
78
#: assets/templates/assets/cluster_assets.html:
95
msgid "Select asset"
msgid "Select asset"
msgstr "选择资产"
msgstr "选择资产"
#: assets/templates/assets/cluster_assets.html:339
#: assets/templates/assets/cluster_create_update.html:41 templates/_nav.html:70
#: assets/templates/assets/user_asset_list.html:252
msgid "The selected assets has been updated successfully."
msgstr "选择资产更新成功"
#: assets/templates/assets/cluster_assets.html:340
#: assets/templates/assets/user_asset_list.html:253
msgid "Asset Updated"
msgstr "更新"
#: assets/templates/assets/cluster_create_update.html:41
#: users/templates/users/user_profile.html:20
#: users/templates/users/user_profile.html:20
msgid "Settings"
msgid "Settings"
msgstr "设置"
msgstr "设置"
...
@@ -1004,20 +1006,20 @@ msgstr "设置"
...
@@ -1004,20 +1006,20 @@ msgstr "设置"
msgid "Create Cluster"
msgid "Create Cluster"
msgstr "创建Cluster"
msgstr "创建Cluster"
#: assets/templates/assets/cluster_list.html:
96
#: assets/templates/assets/cluster_list.html:
84
msgid "This will delete the selected cluster"
msgid "This will delete the selected cluster"
msgstr "删除选择Cluster"
msgstr "删除选择Cluster"
#: assets/templates/assets/cluster_list.html:
104
#: assets/templates/assets/cluster_list.html:
92
msgid "Cluster Deleted."
msgid "Cluster Deleted."
msgstr "已被删除"
msgstr "已被删除"
#: assets/templates/assets/cluster_list.html:
105
#: assets/templates/assets/cluster_list.html:
93
#: assets/templates/assets/cluster_list.html:
110
#: assets/templates/assets/cluster_list.html:
98
msgid "Cluster Delete"
msgid "Cluster Delete"
msgstr "删除"
msgstr "删除"
#: assets/templates/assets/cluster_list.html:
109
#: assets/templates/assets/cluster_list.html:
97
msgid "Cluster Deleting failed."
msgid "Cluster Deleting failed."
msgstr "Cluster删除失败"
msgstr "Cluster删除失败"
...
@@ -1032,65 +1034,93 @@ msgstr "确认删除"
...
@@ -1032,65 +1034,93 @@ msgstr "确认删除"
msgid "Are you sure delete"
msgid "Are you sure delete"
msgstr "您确定删除吗?"
msgstr "您确定删除吗?"
#: assets/templates/assets/system_user_asset.html:3
8
#: assets/templates/assets/system_user_asset.html:3
3
msgid "Assets of "
msgid "Assets of "
msgstr "资产"
msgstr "资产"
#: assets/templates/assets/system_user_asset.html:60
#: assets/templates/assets/system_user_asset.html:55
#: assets/templates/assets/system_user_list.html:20
msgid "Reachable"
msgid "Reachable"
msgstr "可连接"
msgstr "可连接"
#: assets/templates/assets/system_user_asset.html:7
8
#: assets/templates/assets/system_user_asset.html:7
3
msgid "Push system user manually"
msgid "Push system user manually"
msgstr "手动推送系统"
msgstr "手动推送系统"
#: assets/templates/assets/system_user_asset.html:81
#: assets/templates/assets/system_user_asset.html:76
#: perms/templates/perms/asset_permission_detail.html:142
msgid "Push"
msgid "Push"
msgstr "推送"
msgstr "推送"
#: assets/templates/assets/system_user_asset.html:86
#: assets/templates/assets/system_user_asset.html:81
msgid "Refresh assets connectivity"
#, fuzzy
#| msgid "Retest asset connectivity"
msgid "Test assets connective"
msgstr "重置资产连接性"
msgstr "重置资产连接性"
#: assets/templates/assets/system_user_auth.html:23
#: assets/templates/assets/system_user_asset.html:150
#: assets/templates/assets/system_user_detail.html:27
msgid "Task has been send, Go to ops task list seen result"
msgstr ""
#: assets/templates/assets/system_user_asset.html:162
msgid "Task has been send, seen left assets status"
msgstr ""
#: assets/templates/assets/system_user_detail.html:22
msgid "Attached assets"
msgid "Attached assets"
msgstr "关联的资产"
msgstr "关联的资产"
#: assets/templates/assets/system_user_detail.html:
81
#: assets/templates/assets/system_user_detail.html:
76
msgid "Home"
msgid "Home"
msgstr "家目录"
msgstr "家目录"
#: assets/templates/assets/system_user_detail.html:8
7
#: assets/templates/assets/system_user_detail.html:8
2
msgid "Uid"
msgid "Uid"
msgstr "Uid"
msgstr "Uid"
#: assets/templates/assets/system_user_detail.html:14
7
#: assets/templates/assets/system_user_detail.html:14
2
msgid "Clusters"
msgid "Clusters"
msgstr "集群"
msgstr "集群"
#: assets/templates/assets/system_user_detail.html:15
5
#: assets/templates/assets/system_user_detail.html:15
0
msgid "Add to cluster"
msgid "Add to cluster"
msgstr "添加到集群"
msgstr "添加到集群"
#: assets/templates/assets/system_user_list.html:98
#: assets/templates/assets/system_user_list.html:22
#, fuzzy
#| msgid "Location"
msgid "Ratio"
msgstr "位置"
#: assets/templates/assets/system_user_list.html:123
msgid "This will delete the selected System Users !!!"
msgid "This will delete the selected System Users !!!"
msgstr "删除选择系统用户"
msgstr "删除选择系统用户"
#: assets/templates/assets/system_user_list.html:1
06
#: assets/templates/assets/system_user_list.html:1
31
msgid "System Users Deleted."
msgid "System Users Deleted."
msgstr "已被删除"
msgstr "已被删除"
#: assets/templates/assets/system_user_list.html:1
07
#: assets/templates/assets/system_user_list.html:1
32
#: assets/templates/assets/system_user_list.html:1
12
#: assets/templates/assets/system_user_list.html:1
37
msgid "System Users Delete"
msgid "System Users Delete"
msgstr "删除系统用户"
msgstr "删除系统用户"
#: assets/templates/assets/system_user_list.html:1
11
#: assets/templates/assets/system_user_list.html:1
36
msgid "System Users Deleting failed."
msgid "System Users Deleting failed."
msgstr "系统用户删除失败"
msgstr "系统用户删除失败"
#: assets/templates/assets/user_asset_list.html:39
#: users/templates/users/user_group_granted_asset.html:53
msgid "Valid"
msgstr "可用"
#: assets/templates/assets/user_asset_list.html:252
msgid "The selected assets has been updated successfully."
msgstr "选择资产更新成功"
#: assets/templates/assets/user_asset_list.html:253
msgid "Asset Updated"
msgstr "更新"
#: assets/views/admin_user.py:28
#: assets/views/admin_user.py:28
msgid "Admin user list"
msgid "Admin user list"
msgstr "管理用户列表"
msgstr "管理用户列表"
...
@@ -1100,7 +1130,7 @@ msgstr "管理用户列表"
...
@@ -1100,7 +1130,7 @@ msgstr "管理用户列表"
msgid "Create admin user <a href=\"{url}\">{name}</a> successfully."
msgid "Create admin user <a href=\"{url}\">{name}</a> successfully."
msgstr "创建管理用户 <a href=\"{url}\">{name}</a> 成功"
msgstr "创建管理用户 <a href=\"{url}\">{name}</a> 成功"
#: assets/views/asset.py:
303
#: assets/views/asset.py:
297
msgid "already exists"
msgid "already exists"
msgstr "已经存在"
msgstr "已经存在"
...
@@ -1116,6 +1146,12 @@ msgstr "资产管理"
...
@@ -1116,6 +1146,12 @@ msgstr "资产管理"
msgid "Update Cluster"
msgid "Update Cluster"
msgstr "更新Cluster"
msgstr "更新Cluster"
#: assets/views/cluster.py:81
#, fuzzy
#| msgid "User detail"
msgid "Cluster detail"
msgstr "用户详情"
#: assets/views/group.py:54
#: assets/views/group.py:54
msgid "Asset group list"
msgid "Asset group list"
msgstr "资产组列表"
msgstr "资产组列表"
...
@@ -1124,27 +1160,23 @@ msgstr "资产组列表"
...
@@ -1124,27 +1160,23 @@ msgstr "资产组列表"
msgid "Asset group detail"
msgid "Asset group detail"
msgstr "资产组详情"
msgstr "资产组详情"
#: assets/views/system_user.py:3
1
#: assets/views/system_user.py:3
0
msgid "System user list"
msgid "System user list"
msgstr "系统用户列表"
msgstr "系统用户列表"
#: assets/views/system_user.py:5
8
#: assets/views/system_user.py:5
7
#, python-brace-format
#, python-brace-format
msgid "Create system user <a href=\"{url}\">{name}</a> successfully."
msgid "Create system user <a href=\"{url}\">{name}</a> successfully."
msgstr "创建系统用户 <a href=\"{url}\">{name}</a> 成功"
msgstr "创建系统用户 <a href=\"{url}\">{name}</a> 成功"
#: assets/views/system_user.py:7
3
#: assets/views/system_user.py:7
2
msgid "Update system user"
msgid "Update system user"
msgstr "更新系统用户"
msgstr "更新系统用户"
#: assets/views/system_user.py:9
3
#: assets/views/system_user.py:9
2
msgid "System user detail"
msgid "System user detail"
msgstr "系统用户详情"
msgstr "系统用户详情"
#: assets/views/system_user.py:126
msgid "Update auth info success"
msgstr "更新认证信息成功"
#: common/mixins.py:30
#: common/mixins.py:30
msgid "is discard"
msgid "is discard"
msgstr ""
msgstr ""
...
@@ -1153,7 +1185,7 @@ msgstr ""
...
@@ -1153,7 +1185,7 @@ msgstr ""
msgid "discard time"
msgid "discard time"
msgstr ""
msgstr ""
#: ops/models.py:95 templates/_nav.html:
55
#: ops/models.py:95 templates/_nav.html:
43
msgid "Tasks"
msgid "Tasks"
msgstr "任务"
msgstr "任务"
...
@@ -1182,7 +1214,7 @@ msgstr "用户"
...
@@ -1182,7 +1214,7 @@ msgstr "用户"
msgid "Become"
msgid "Become"
msgstr "Become"
msgstr "Become"
#: ops/models.py:102 users/templates/users/user_group_detail.html:
62
#: ops/models.py:102 users/templates/users/user_group_detail.html:
59
msgid "Create by"
msgid "Create by"
msgstr "创建者"
msgstr "创建者"
...
@@ -1254,7 +1286,9 @@ msgid "Total versions"
...
@@ -1254,7 +1286,9 @@ msgid "Total versions"
msgstr "版本数量"
msgstr "版本数量"
#: ops/templates/ops/task_detail.html:68
#: ops/templates/ops/task_detail.html:68
msgid "Last version"
#, fuzzy
#| msgid "Last version"
msgid "Latest version"
msgstr "最新版本"
msgstr "最新版本"
#: ops/templates/ops/task_detail.html:72
#: ops/templates/ops/task_detail.html:72
...
@@ -1290,7 +1324,7 @@ msgstr "成功资产"
...
@@ -1290,7 +1324,7 @@ msgstr "成功资产"
msgid "History of "
msgid "History of "
msgstr "执行历史"
msgstr "执行历史"
#: ops/templates/ops/task_history.html:55
#: ops/templates/ops/task_history.html:55
terminal/models.py:98
#: terminal/templates/terminal/session_list.html:73
#: terminal/templates/terminal/session_list.html:73
msgid "Date start"
msgid "Date start"
msgstr "开始日期"
msgstr "开始日期"
...
@@ -1312,22 +1346,65 @@ msgstr "成功"
...
@@ -1312,22 +1346,65 @@ msgstr "成功"
msgid "Date"
msgid "Date"
msgstr "日期"
msgstr "日期"
#: perms/forms.py:21 users/forms.py:125 users/forms.py:130
#: perms/forms.py:21 users/forms.py:135 users/forms.py:140 users/forms.py:152
#: users/forms.py:181
msgid "Select users"
msgid "Select users"
msgstr "选择用户"
msgstr "选择用户"
#: perms/forms.py:24 perms/templates/perms/asset_permission_user.html:137
#: perms/forms.py:24 perms/templates/perms/asset_permission_user.html:127
#: users/forms.py:141
msgid "Select user groups"
msgid "Select user groups"
msgstr "选择用户组"
msgstr "选择用户组"
#: perms/forms.py:33 perms/templates/perms/asset_permission_detail.html:1
61
#: perms/forms.py:33 perms/templates/perms/asset_permission_detail.html:1
44
#: users/forms.py:
190 users/forms.py:216
#: users/forms.py:
234
msgid "Select system users"
msgid "Select system users"
msgstr "选择系统用户"
msgstr "选择系统用户"
#: perms/models.py:34 perms/templates/perms/asset_permission_detail.html:86
#: perms/forms.py:38
#: users/models/user.py:46 users/templates/users/user_detail.html:97
msgid "User or user group at least one required"
msgstr ""
#: perms/forms.py:39
msgid "Asset or Asset group at least one required"
msgstr ""
#: perms/models.py:15
#: perms/templates/perms/asset_permission_create_update.html:36
#: perms/templates/perms/asset_permission_list.html:20 templates/_nav.html:12
#: templates/_user_profile.html:14 terminal/backends/command/models.py:10
#: terminal/models.py:90 terminal/templates/terminal/command_list.html:31
#: terminal/templates/terminal/session_list.html:30
#: terminal/templates/terminal/session_list.html:68
#: users/templates/users/user_group_detail.html:78
msgid "User"
msgstr "用户"
#: perms/models.py:16 perms/templates/perms/asset_permission_list.html:21
#: templates/_nav.html:13 users/models/user.py:34
#: users/templates/users/_select_user_modal.html:16
#: users/templates/users/user_detail.html:178
#: users/templates/users/user_list.html:26
msgid "User group"
msgstr "用户组"
#: perms/models.py:18 perms/templates/perms/asset_permission_list.html:23
#: templates/_nav.html:23
msgid "Asset group"
msgstr "资产组"
#: perms/models.py:19 perms/templates/perms/asset_permission_detail.html:136
#: perms/templates/perms/asset_permission_list.html:24 templates/_nav.html:26
#: terminal/backends/command/models.py:12 terminal/models.py:92
#: terminal/templates/terminal/command_list.html:47
#: terminal/templates/terminal/session_list.html:46
#: terminal/templates/terminal/session_list.html:70
#: users/templates/users/user_granted_asset.html:50
#: users/templates/users/user_group_granted_asset.html:52
msgid "System user"
msgstr "系统用户"
#: perms/models.py:21 perms/templates/perms/asset_permission_detail.html:86
#: users/models/user.py:46 users/templates/users/user_detail.html:94
#: users/templates/users/user_profile.html:96
#: users/templates/users/user_profile.html:96
msgid "Date expired"
msgid "Date expired"
msgstr "失效日期"
msgstr "失效日期"
...
@@ -1344,23 +1421,22 @@ msgstr "用户或用户组"
...
@@ -1344,23 +1421,22 @@ msgstr "用户或用户组"
msgid "Assets and asset groups"
msgid "Assets and asset groups"
msgstr "资产或资产组"
msgstr "资产或资产组"
#: perms/templates/perms/asset_permission_asset.html:
6
7
#: perms/templates/perms/asset_permission_asset.html:
5
7
#: perms/templates/perms/asset_permission_list.html:
16
#: perms/templates/perms/asset_permission_list.html:
25
#: perms/templates/perms/asset_permission_user.html:
6
7
#: perms/templates/perms/asset_permission_user.html:
5
7
msgid "Is valid"
msgid "Is valid"
msgstr "有效"
msgstr "有效"
#: perms/templates/perms/asset_permission_asset.html:
10
1
#: perms/templates/perms/asset_permission_asset.html:
9
1
msgid "Add asset to this permission"
msgid "Add asset to this permission"
msgstr "添加资产"
msgstr "添加资产"
#: perms/templates/perms/asset_permission_asset.html:1
2
9
#: perms/templates/perms/asset_permission_asset.html:1
1
9
msgid "Add asset group to this permission"
msgid "Add asset group to this permission"
msgstr "添加资产组"
msgstr "添加资产组"
#: perms/templates/perms/asset_permission_asset.html:146
#: perms/templates/perms/asset_permission_asset.html:136
#: perms/templates/perms/asset_permission_detail.html:170
#: users/templates/users/user_detail.html:195
#: users/templates/users/user_detail.html:198
msgid "Join"
msgid "Join"
msgstr "加入"
msgstr "加入"
...
@@ -1368,16 +1444,6 @@ msgstr "加入"
...
@@ -1368,16 +1444,6 @@ msgstr "加入"
msgid "Create asset permission "
msgid "Create asset permission "
msgstr "创建资产权限"
msgstr "创建资产权限"
#: perms/templates/perms/asset_permission_create_update.html:36
#: perms/templates/perms/asset_permission_list.html:11 templates/_nav.html:12
#: templates/_user_profile.html:14 terminal/backends/command/models.py:10
#: terminal/models.py:90 terminal/templates/terminal/command_list.html:31
#: terminal/templates/terminal/session_list.html:30
#: terminal/templates/terminal/session_list.html:68
#: users/templates/users/user_group_detail.html:81
msgid "User"
msgstr "用户"
#: perms/templates/perms/asset_permission_detail.html:66
#: perms/templates/perms/asset_permission_detail.html:66
#: users/templates/users/user_group_list.html:13
#: users/templates/users/user_group_list.html:13
msgid "User count"
msgid "User count"
...
@@ -1399,103 +1465,64 @@ msgstr "资产组数量"
...
@@ -1399,103 +1465,64 @@ msgstr "资产组数量"
msgid "System user count"
msgid "System user count"
msgstr "系统用户数量"
msgstr "系统用户数量"
#: perms/templates/perms/asset_permission_detail.html:130
#: perms/templates/perms/asset_permission_list.html:10
msgid "Retest asset connectivity"
msgstr "重置资产连接性"
#: perms/templates/perms/asset_permission_detail.html:139
msgid "Repush system user"
msgstr "重新推送系统"
#: perms/templates/perms/asset_permission_detail.html:153
#: perms/templates/perms/asset_permission_list.html:15 templates/_nav.html:26
#: terminal/backends/command/models.py:12
#: terminal/templates/terminal/command_list.html:47
#: terminal/templates/terminal/session_list.html:46
#: terminal/templates/terminal/session_list.html:70
#: users/templates/users/user_asset_permission.html:57
#: users/templates/users/user_granted_asset.html:55
#: users/templates/users/user_group_asset_permission.html:57
#: users/templates/users/user_group_granted_asset.html:55
msgid "System user"
msgstr "系统用户"
#: perms/templates/perms/asset_permission_list.html:5
msgid "Create permission"
msgid "Create permission"
msgstr "创建授权规则"
msgstr "创建授权规则"
#: perms/templates/perms/asset_permission_list.html:12 templates/_nav.html:13
#: perms/templates/perms/asset_permission_user.html:35
#: users/models/user.py:34 users/templates/users/_select_user_modal.html:16
#: users/templates/users/user_detail.html:181
#: users/templates/users/user_list.html:26
msgid "User group"
msgstr "用户组"
#: perms/templates/perms/asset_permission_list.html:14 templates/_nav.html:23
#: users/templates/users/user_asset_permission.html:56
#: users/templates/users/user_group_asset_permission.html:56
msgid "Asset group"
msgstr "资产组"
#: perms/templates/perms/asset_permission_user.html:45
msgid "User list of "
msgid "User list of "
msgstr "用户列表"
msgstr "用户列表"
#: perms/templates/perms/asset_permission_user.html:
6
6 users/models/user.py:33
#: perms/templates/perms/asset_permission_user.html:
5
6 users/models/user.py:33
#: users/templates/users/user_detail.html:7
3
#: users/templates/users/user_detail.html:7
0
#: users/templates/users/user_profile.html:59
#: users/templates/users/user_profile.html:59
msgid "Email"
msgid "Email"
msgstr "邮件"
msgstr "邮件"
#: perms/templates/perms/asset_permission_user.html:
10
1
#: perms/templates/perms/asset_permission_user.html:
9
1
msgid "Add user to asset permission"
msgid "Add user to asset permission"
msgstr "添加用户"
msgstr "添加用户"
#: perms/templates/perms/asset_permission_user.html:
10
9
#: perms/templates/perms/asset_permission_user.html:
9
9
#: users/templates/users/login_log_list.html:27
#: users/templates/users/login_log_list.html:27
msgid "Select user"
msgid "Select user"
msgstr "选择用户"
msgstr "选择用户"
#: perms/templates/perms/asset_permission_user.html:1
2
9
#: perms/templates/perms/asset_permission_user.html:1
1
9
msgid "Add user group to asset permission"
msgid "Add user group to asset permission"
msgstr "添加用户组"
msgstr "添加用户组"
#: perms/views.py:
33 perms/views.py:76 perms/views.py:112 perms/views.py:140
#: perms/views.py:
28 perms/views.py:80 perms/views.py:95 perms/views.py:109
#: perms/views.py:1
84 perms/views.py:22
6 templates/_nav.html:30
#: perms/views.py:1
46 perms/views.py:17
6 templates/_nav.html:30
msgid "Perms"
msgid "Perms"
msgstr "权限管理"
msgstr "权限管理"
#: perms/views.py:
34
#: perms/views.py:
29
msgid "Asset permission list"
msgid "Asset permission list"
msgstr "资产授权列表"
msgstr "资产授权列表"
#: perms/views.py:77
#: perms/views.py:64
msgid "Create asset permission"
msgstr "创建权限规则"
#: perms/views.py:86
#, python-brace-format
#, python-brace-format
msgid "Create asset permission <a href=\"{url}\"> {name} </a> successfully."
msgid "Create asset permission <a href=\"{url}\"> {name} </a> successfully."
msgstr "创建授权 <a href=\"{url}\"> {name} </a> 成功"
msgstr "创建授权 <a href=\"{url}\"> {name} </a> 成功"
#: perms/views.py:106
#: perms/views.py:81
#, python-brace-format
msgid "Create asset permission"
msgid "Update asset permission <a href=\"{url}\"> {name} </a> successfully."
msgstr "创建权限规则"
msgstr "更新授权 <a href=\"{url}\"> {name} </a> 成功"
#: perms/views.py:
113
#: perms/views.py:
96
msgid "Update asset permission"
msgid "Update asset permission"
msgstr "更新资产授权"
msgstr "更新资产授权"
#: perms/views.py:1
41
#: perms/views.py:1
10
msgid "Asset permission detail"
msgid "Asset permission detail"
msgstr "资产授权详情"
msgstr "资产授权详情"
#: perms/views.py:1
85
#: perms/views.py:1
47
msgid "Asset permission user list"
msgid "Asset permission user list"
msgstr "资产授权包含用户"
msgstr "资产授权包含用户"
#: perms/views.py:
22
7
#: perms/views.py:
17
7
msgid "Asset permission asset list"
msgid "Asset permission asset list"
msgstr "资产组授权包含资产"
msgstr "资产组授权包含资产"
...
@@ -1564,11 +1591,10 @@ msgstr ""
...
@@ -1564,11 +1591,10 @@ msgstr ""
msgid "Close"
msgid "Close"
msgstr "关闭"
msgstr "关闭"
#: templates/_nav.html:9 users/templates/users/user_group_create_update.html:28
#: templates/_nav.html:9 users/views/group.py:30 users/views/group.py:46
#: users/views/group.py:31 users/views/group.py:45 users/views/group.py:80
#: users/views/group.py:72 users/views/group.py:89 users/views/login.py:189
#: users/views/group.py:105 users/views/login.py:189 users/views/login.py:256
#: users/views/login.py:256 users/views/user.py:55 users/views/user.py:70
#: users/views/user.py:56 users/views/user.py:71 users/views/user.py:107
#: users/views/user.py:95 users/views/user.py:151
#: users/views/user.py:159
msgid "Users"
msgid "Users"
msgstr "用户管理"
msgstr "用户管理"
...
@@ -1576,16 +1602,15 @@ msgstr "用户管理"
...
@@ -1576,16 +1602,15 @@ msgstr "用户管理"
msgid "Login logs"
msgid "Login logs"
msgstr "登录日志"
msgstr "登录日志"
#: templates/_nav.html:33 users/templates/users/user_asset_permission.html:21
#: templates/_nav.html:33
#: users/templates/users/user_detail.html:22
#: users/templates/users/user_granted_asset.html:21
#: users/templates/users/user_group_asset_permission.html:21
#: users/templates/users/user_group_detail.html:25
#: users/templates/users/user_group_granted_asset.html:21
msgid "Asset permission"
msgid "Asset permission"
msgstr "资产授权"
msgstr "资产授权"
#: templates/_nav.html:40 templates/_nav.html:43 templates/_nav_user.html:14
#: templates/_nav.html:40
msgid "Job Center"
msgstr "作业中心"
#: templates/_nav.html:49 templates/_nav.html:52 templates/_nav_user.html:14
#: terminal/templates/terminal/session_list.html:71
#: terminal/templates/terminal/session_list.html:71
#: terminal/views/command.py:65 terminal/views/session.py:97
#: terminal/views/command.py:65 terminal/views/session.py:97
#: terminal/views/session.py:114 terminal/views/session.py:136
#: terminal/views/session.py:114 terminal/views/session.py:136
...
@@ -1594,23 +1619,19 @@ msgstr "资产授权"
...
@@ -1594,23 +1619,19 @@ msgstr "资产授权"
msgid "Terminal"
msgid "Terminal"
msgstr "终端"
msgstr "终端"
#: templates/_nav.html:
44
#: templates/_nav.html:
53
msgid "Session online"
msgid "Session online"
msgstr "在线会话"
msgstr "在线会话"
#: templates/_nav.html:
45
#: templates/_nav.html:
54
msgid "Session offline"
msgid "Session offline"
msgstr "离线会话"
msgstr "离线会话"
#: templates/_nav.html:
46
terminal/models.py:96
#: templates/_nav.html:
55
terminal/models.py:96
#: terminal/templates/terminal/session_list.html:72
#: terminal/templates/terminal/session_list.html:72
msgid "Command"
msgid "Command"
msgstr "命令"
msgstr "命令"
#: templates/_nav.html:52
msgid "Job Center"
msgstr "作业中心"
#: templates/_nav.html:75
#: templates/_nav.html:75
msgid "Visit us"
msgid "Visit us"
msgstr "访问官网"
msgstr "访问官网"
...
@@ -1705,14 +1726,16 @@ msgstr "线程"
...
@@ -1705,14 +1726,16 @@ msgstr "线程"
msgid "Boot Time"
msgid "Boot Time"
msgstr "运行时间"
msgstr "运行时间"
#: terminal/models.py:92
msgid "System User"
msgstr "系统用户"
#: terminal/models.py:95 terminal/templates/terminal/session_list.html:95
#: terminal/models.py:95 terminal/templates/terminal/session_list.html:95
msgid "Replay"
msgid "Replay"
msgstr "回放"
msgstr "回放"
#: terminal/models.py:99
#, fuzzy
#| msgid "Date joined"
msgid "Date end"
msgstr "创建日期"
#: terminal/models.py:116
#: terminal/models.py:116
msgid "Args"
msgid "Args"
msgstr "参数"
msgstr "参数"
...
@@ -1903,46 +1926,38 @@ msgstr ""
...
@@ -1903,46 +1926,38 @@ msgstr ""
msgid "Invalid token or cache refreshed."
msgid "Invalid token or cache refreshed."
msgstr ""
msgstr ""
#: users/forms.py:
36 users/templates/users/user_detail.html:189
#: users/forms.py:
42 users/templates/users/user_detail.html:186
msgid "Join user groups"
msgid "Join user groups"
msgstr "添加到用户组"
msgstr "添加到用户组"
#: users/forms.py:
69
#: users/forms.py:
83
msgid "Old password error"
msgid "Old password error"
msgstr "原来密码错误"
msgstr "原来密码错误"
#: users/forms.py:
77
#: users/forms.py:
91
msgid "Password does not match"
msgid "Password does not match"
msgstr "密码不一致"
msgstr "密码不一致"
#: users/forms.py:
89
#: users/forms.py:
103
msgid "ssh public key"
msgid "ssh public key"
msgstr "ssh公钥"
msgstr "ssh公钥"
#: users/forms.py:
90
#: users/forms.py:
104
msgid "ssh-rsa AAAA..."
msgid "ssh-rsa AAAA..."
msgstr ""
msgstr ""
#: users/forms.py:
91
#: users/forms.py:
105
msgid "Paste your id_rsa.pub here."
msgid "Paste your id_rsa.pub here."
msgstr "复制你的公钥到这里"
msgstr "复制你的公钥到这里"
#: users/forms.py:1
03
#: users/forms.py:1
17
msgid "Public key should not be the same as your old one."
msgid "Public key should not be the same as your old one."
msgstr "不能和原来的密钥相同"
msgstr "不能和原来的密钥相同"
#: users/forms.py:1
07
users/serializers.py:40
#: users/forms.py:1
21
users/serializers.py:40
msgid "Not a valid ssh public key"
msgid "Not a valid ssh public key"
msgstr "ssh密钥不合法"
msgstr "ssh密钥不合法"
#: users/forms.py:119 users/models/user.py:35
#: users/templates/users/_select_user_modal.html:15
#: users/templates/users/user_detail.html:89
#: users/templates/users/user_list.html:25
#: users/templates/users/user_profile.html:55
msgid "Role"
msgstr "角色"
#: users/models/authentication.py:35
#: users/models/authentication.py:35
msgid "Private Token"
msgid "Private Token"
msgstr "ssh密钥"
msgstr "ssh密钥"
...
@@ -1967,17 +1982,22 @@ msgstr "Agent"
...
@@ -1967,17 +1982,22 @@ msgstr "Agent"
msgid "Date login"
msgid "Date login"
msgstr "登录日期"
msgstr "登录日期"
#: users/models/user.py:35 users/templates/users/_select_user_modal.html:15
#: users/templates/users/user_detail.html:86
#: users/templates/users/user_list.html:25
#: users/templates/users/user_profile.html:55
msgid "Role"
msgstr "角色"
#: users/models/user.py:36
#: users/models/user.py:36
msgid "Avatar"
msgid "Avatar"
msgstr "头像"
msgstr "头像"
#: users/models/user.py:37 users/templates/users/user_detail.html:8
4
#: users/models/user.py:37 users/templates/users/user_detail.html:8
1
msgid "Wechat"
msgid "Wechat"
msgstr "微信"
msgstr "微信"
#: users/models/user.py:39 users/templates/users/_user.html:36
#: users/models/user.py:39 users/templates/users/user_detail.html:90
#: users/templates/users/user_detail.html:93
#: users/templates/users/user_detail.html:144
msgid "Enable OTP"
msgid "Enable OTP"
msgstr "二次验证"
msgstr "二次验证"
...
@@ -2086,8 +2106,7 @@ msgid "City"
...
@@ -2086,8 +2106,7 @@ msgid "City"
msgstr "城市"
msgstr "城市"
#: users/templates/users/reset_password.html:45
#: users/templates/users/reset_password.html:45
#: users/templates/users/user_detail.html:159
#: users/templates/users/user_detail.html:324
#: users/templates/users/user_detail.html:327
#: users/templates/users/user_profile.html:136 users/utils.py:68
#: users/templates/users/user_profile.html:136 users/utils.py:68
msgid "Reset password"
msgid "Reset password"
msgstr "重置密码"
msgstr "重置密码"
...
@@ -2100,154 +2119,141 @@ msgstr "再次输入密码"
...
@@ -2100,154 +2119,141 @@ msgstr "再次输入密码"
msgid "Setting"
msgid "Setting"
msgstr "设置"
msgstr "设置"
#: users/templates/users/user_asset_permission.html:18
#: users/templates/users/user_create.html:4
#: users/templates/users/user_list.html:16 users/views/user.py:70
msgid "Create user"
msgstr "创建用户"
#: users/templates/users/user_create.html:13
msgid "Reset link will be generated and sent to the user. "
msgstr "生成重置密码连接,通过邮件发送给用户"
#: users/templates/users/user_detail.html:19
#: users/templates/users/user_detail.html:19
#: users/templates/users/user_granted_asset.html:18
#: users/templates/users/user_granted_asset.html:18
#: users/templates/users/user_group_asset_permission.html:18
#: users/templates/users/user_group_granted_asset.html:18
#: users/templates/users/user_group_granted_asset.html:18
#: users/views/user.py:1
60
#: users/views/user.py:1
52
msgid "User detail"
msgid "User detail"
msgstr "用户详情"
msgstr "用户详情"
#: users/templates/users/user_asset_permission.html:24
#: users/templates/users/user_detail.html:22
#: users/templates/users/user_detail.html:25
#: users/templates/users/user_granted_asset.html:21
#: users/templates/users/user_granted_asset.html:24
#: users/templates/users/user_group_detail.html:25
#: users/templates/users/user_group_asset_permission.html:24
#: users/templates/users/user_group_granted_asset.html:21
#: users/templates/users/user_group_detail.html:28
#: users/templates/users/user_group_granted_asset.html:24
msgid "Asset granted"
msgid "Asset granted"
msgstr "授权的资产"
msgstr "授权的资产"
#: users/templates/users/user_asset_permission.html:32
#: users/templates/users/user_detail.html:106
#: users/templates/users/user_group_asset_permission.html:32
msgid "Asset permission of "
msgstr "授权规则"
#: users/templates/users/user_asset_permission.html:71
msgid "Quick create permission for user"
msgstr "创建权限"
#: users/templates/users/user_asset_permission.html:177
#: users/templates/users/user_group_asset_permission.html:174
msgid "Revoke Successfully!"
msgstr "回收成功"
#: users/templates/users/user_create.html:4
#: users/templates/users/user_list.html:16 users/views/user.py:71
msgid "Create user"
msgstr "创建用户"
#: users/templates/users/user_create.html:13
msgid "Reset link will be generated and sent to the user. "
msgstr "生成重置密码连接,通过邮件发送给用户"
#: users/templates/users/user_detail.html:109
#: users/templates/users/user_profile.html:92
#: users/templates/users/user_profile.html:92
msgid "Last login"
msgid "Last login"
msgstr "最后登录"
msgstr "最后登录"
#: users/templates/users/user_detail.html:156
#, fuzzy
#| msgid "Send reset password message"
msgid "Send reset password mail"
msgstr "发送重置密码邮件"
#: users/templates/users/user_detail.html:159
#: users/templates/users/user_detail.html:167
#: users/templates/users/user_detail.html:167
msgid "Reset ssh key"
msgid "Send"
msgstr ""
#: users/templates/users/user_detail.html:164
#, fuzzy
#| msgid "Reset ssh key"
msgid "Send reset ssh key mail"
msgstr "重置密钥"
msgstr "重置密钥"
#: users/templates/users/user_detail.html:32
6
#: users/templates/users/user_detail.html:32
3
msgid "An e-mail has been sent to the user\\'s mailbox."
msgid "An e-mail has been sent to the user\\'s mailbox."
msgstr "已发送邮件到用户邮箱"
msgstr "已发送邮件到用户邮箱"
#: users/templates/users/user_detail.html:33
7
#: users/templates/users/user_detail.html:33
4
msgid ""
msgid ""
"This will reset the user's password. A password-reset email will be sent to "
"This will reset the user's password. A password-reset email will be sent to "
"the user\\'s mailbox."
"the user\\'s mailbox."
msgstr ""
msgstr ""
#: users/templates/users/user_detail.html:3
51
#: users/templates/users/user_detail.html:3
48
msgid ""
msgid ""
"The reset-ssh-public-key E-mail has been sent successfully. Please inform "
"The reset-ssh-public-key E-mail has been sent successfully. Please inform "
"the user to update his new ssh public key."
"the user to update his new ssh public key."
msgstr ""
msgstr ""
#: users/templates/users/user_detail.html:3
52
#: users/templates/users/user_detail.html:3
49
#: users/templates/users/user_profile.html:144
#: users/templates/users/user_profile.html:144
msgid "Reset SSH public key"
msgid "Reset SSH public key"
msgstr "重置SSH密钥"
msgstr "重置SSH密钥"
#: users/templates/users/user_detail.html:3
62
#: users/templates/users/user_detail.html:3
59
msgid "This will reset the user\\"
msgid "This will reset the user\\"
msgstr "重置"
msgstr "重置"
#: users/templates/users/user_detail.html:37
9
#: users/templates/users/user_detail.html:37
6
#: users/templates/users/user_profile.html:170
#: users/templates/users/user_profile.html:170
msgid "Successfully updated the SSH public key."
msgid "Successfully updated the SSH public key."
msgstr ""
msgstr ""
#: users/templates/users/user_detail.html:3
80
#: users/templates/users/user_detail.html:3
77
#: users/templates/users/user_detail.html:38
4
#: users/templates/users/user_detail.html:38
1
#: users/templates/users/user_profile.html:171
#: users/templates/users/user_profile.html:171
#: users/templates/users/user_profile.html:176
#: users/templates/users/user_profile.html:176
msgid "User SSH Public Key Update"
msgid "User SSH Public Key Update"
msgstr "ssh密钥"
msgstr "ssh密钥"
#: users/templates/users/user_granted_asset.html:
32
#: users/templates/users/user_granted_asset.html:
29
#: users/templates/users/user_group_granted_asset.html:
32
#: users/templates/users/user_group_granted_asset.html:
29
msgid "Assets granted of "
msgid "Assets granted of "
msgstr "授权资产"
msgstr "授权资产"
#: users/templates/users/user_granted_asset.html:6
8
#: users/templates/users/user_granted_asset.html:6
2
#: users/templates/users/user_group_granted_asset.html:6
8
#: users/templates/users/user_group_granted_asset.html:6
5
msgid "Asset groups granted of "
msgid "Asset groups granted of "
msgstr "授权资产组"
msgstr "授权资产组"
#: users/templates/users/user_group_asset_permission.html:71
#: users/templates/users/user_group_create_update.html:45
msgid "Quick create permission for user group"
msgstr "快速授权"
#: users/templates/users/user_group_create_update.html:30
msgid "Select User"
msgstr "选择用户"
#: users/templates/users/user_group_create_update.html:44
msgid "Cancel"
msgid "Cancel"
msgstr "取消"
msgstr "取消"
#: users/templates/users/user_group_detail.html:22 users/views/group.py:
106
#: users/templates/users/user_group_detail.html:22 users/views/group.py:
90
msgid "User group detail"
msgid "User group detail"
msgstr "资产组详情"
msgstr "资产组详情"
#: users/templates/users/user_group_detail.html:8
9
#: users/templates/users/user_group_detail.html:8
6
msgid "Add user"
msgid "Add user"
msgstr "添加用户"
msgstr "添加用户"
#: users/templates/users/user_group_list.html:5 users/views/group.py:4
5
#: users/templates/users/user_group_list.html:5 users/views/group.py:4
7
msgid "Create user group"
msgid "Create user group"
msgstr "创建用户组"
msgstr "创建用户组"
#: users/templates/users/user_group_list.html:
9
6
#: users/templates/users/user_group_list.html:
8
6
msgid "UserGroups Deleted."
msgid "UserGroups Deleted."
msgstr "用户组删除"
msgstr "用户组删除"
#: users/templates/users/user_group_list.html:
9
7
#: users/templates/users/user_group_list.html:
8
7
#: users/templates/users/user_group_list.html:
10
2
#: users/templates/users/user_group_list.html:
9
2
msgid "UserGroups Delete"
msgid "UserGroups Delete"
msgstr "用户组删除"
msgstr "用户组删除"
#: users/templates/users/user_group_list.html:
10
1
#: users/templates/users/user_group_list.html:
9
1
msgid "UserGroup Deleting failed."
msgid "UserGroup Deleting failed."
msgstr "用户组删除失败"
msgstr "用户组删除失败"
#: users/templates/users/user_list.html:1
87
#: users/templates/users/user_list.html:1
78
msgid "This will delete the selected users !!!"
msgid "This will delete the selected users !!!"
msgstr ""
msgstr ""
#: users/templates/users/user_list.html:1
95
#: users/templates/users/user_list.html:1
86
msgid "User Deleted."
msgid "User Deleted."
msgstr "已被删除"
msgstr "已被删除"
#: users/templates/users/user_list.html:1
96
#: users/templates/users/user_list.html:1
87
#: users/templates/users/user_list.html:
201
#: users/templates/users/user_list.html:
192
msgid "User Delete"
msgid "User Delete"
msgstr "删除"
msgstr "删除"
#: users/templates/users/user_list.html:
200
#: users/templates/users/user_list.html:
191
msgid "User Deleting failed."
msgid "User Deleting failed."
msgstr "用户删除失败"
msgstr "用户删除失败"
...
@@ -2255,8 +2261,8 @@ msgstr "用户删除失败"
...
@@ -2255,8 +2261,8 @@ msgstr "用户删除失败"
msgid "OTP"
msgid "OTP"
msgstr ""
msgstr ""
#: users/templates/users/user_profile.html:100 users/views/user.py:
200
#: users/templates/users/user_profile.html:100 users/views/user.py:
181
#: users/views/user.py:2
51
#: users/views/user.py:2
33
msgid "User groups"
msgid "User groups"
msgstr "用户组"
msgstr "用户组"
...
@@ -2280,7 +2286,7 @@ msgstr "指纹"
...
@@ -2280,7 +2286,7 @@ msgstr "指纹"
msgid "Update public key"
msgid "Update public key"
msgstr "更新密钥"
msgstr "更新密钥"
#: users/templates/users/user_update.html:
3 users/views/user.py:107
#: users/templates/users/user_update.html:
4 users/views/user.py:95
msgid "Update user"
msgid "Update user"
msgstr "编辑用户"
msgstr "编辑用户"
...
@@ -2418,7 +2424,7 @@ msgstr "密码或秘钥不合法"
...
@@ -2418,7 +2424,7 @@ msgstr "密码或秘钥不合法"
msgid "User group list"
msgid "User group list"
msgstr "用户组列表"
msgstr "用户组列表"
#: users/views/group.py:
81
#: users/views/group.py:
73
msgid "Update user group"
msgid "Update user group"
msgstr "编辑用户组"
msgstr "编辑用户组"
...
@@ -2467,16 +2473,51 @@ msgstr "首次登陆"
...
@@ -2467,16 +2473,51 @@ msgstr "首次登陆"
msgid "Login log list"
msgid "Login log list"
msgstr "登录日志"
msgstr "登录日志"
#: users/views/user.py:5
7
#: users/views/user.py:5
6
msgid "User list"
msgid "User list"
msgstr "用户列表"
msgstr "用户列表"
#: users/views/user.py:6
7 users/views/user.py:402
#: users/views/user.py:6
6 users/views/user.py:335
#, python-brace-format
#, python-brace-format
msgid "Create user <a href=\"{url}\">{name}</a> successfully."
msgid "Create user <a href=\"{url}\">{name}</a> successfully."
msgstr "创建用户 <a href=\"{url}\">{name}</a> 成功"
msgstr "创建用户 <a href=\"{url}\">{name}</a> 成功"
#: users/views/user.py:229
#: users/views/user.py:105
#, fuzzy
#| msgid "Update auth info success"
msgid "Bulk update user success"
msgstr "更新认证信息成功"
#: users/views/user.py:210
msgid "Invalid file."
msgid "Invalid file."
msgstr "文件错误"
msgstr "文件错误"
#~ msgid "Start"
#~ msgstr "开始"
#~ msgid "Refresh assets connectivity"
#~ msgstr "重置资产连接性"
#~ msgid "Repush system user"
#~ msgstr "重新推送系统"
#~ msgid "Update asset permission <a href=\"{url}\"> {name} </a> successfully."
#~ msgstr "更新授权 <a href=\"{url}\"> {name} </a> 成功"
#~ msgid "System User"
#~ msgstr "系统用户"
#~ msgid "Asset permission of "
#~ msgstr "授权规则"
#~ msgid "Quick create permission for user"
#~ msgstr "创建权限"
#~ msgid "Revoke Successfully!"
#~ msgstr "回收成功"
#~ msgid "Quick create permission for user group"
#~ msgstr "快速授权"
#~ msgid "Select User"
#~ msgstr "选择用户"
apps/ops/api.py
View file @
5a929721
...
@@ -35,8 +35,13 @@ class AdHocRunHistorySet(viewsets.ModelViewSet):
...
@@ -35,8 +35,13 @@ class AdHocRunHistorySet(viewsets.ModelViewSet):
def
get_queryset
(
self
):
def
get_queryset
(
self
):
task_id
=
self
.
request
.
query_params
.
get
(
'task'
)
task_id
=
self
.
request
.
query_params
.
get
(
'task'
)
adhoc_id
=
self
.
request
.
query_params
.
get
(
'adhoc'
)
if
task_id
:
if
task_id
:
task
=
get_object_or_404
(
Task
,
id
=
task_id
)
task
=
get_object_or_404
(
Task
,
id
=
task_id
)
adhocs
=
task
.
adhoc
.
all
()
adhocs
=
task
.
adhoc
.
all
()
self
.
queryset
=
self
.
queryset
.
filter
(
adhoc__in
=
adhocs
)
self
.
queryset
=
self
.
queryset
.
filter
(
adhoc__in
=
adhocs
)
if
adhoc_id
:
adhoc
=
get_object_or_404
(
AdHoc
,
id
=
adhoc_id
)
self
.
queryset
=
self
.
queryset
.
filter
(
adhoc
=
adhoc
)
return
self
.
queryset
return
self
.
queryset
apps/ops/models.py
View file @
5a929721
...
@@ -222,6 +222,14 @@ class AdHocRunHistory(models.Model):
...
@@ -222,6 +222,14 @@ class AdHocRunHistory(models.Model):
def
summary
(
self
,
item
):
def
summary
(
self
,
item
):
self
.
_summary
=
json
.
dumps
(
item
)
self
.
_summary
=
json
.
dumps
(
item
)
@property
def
success_hosts
(
self
):
return
self
.
summary
.
get
(
'contacted'
,
[])
@property
def
failed_hosts
(
self
):
return
self
.
summary
.
get
(
'dark'
,
{})
def
__str__
(
self
):
def
__str__
(
self
):
return
self
.
short_id
return
self
.
short_id
...
...
apps/ops/templates/ops/adhoc_detail.html
0 → 100644
View file @
5a929721
{% extends 'base.html' %}
{% load static %}
{% load i18n %}
{% block custom_head_css_js %}
<link
href=
"{% static "
css
/
plugins
/
select2
/
select2
.
min
.
css
"
%}"
rel=
"stylesheet"
>
<link
href=
"{% static "
css
/
plugins
/
sweetalert
/
sweetalert
.
css
"
%}"
rel=
"stylesheet"
>
<script
src=
"{% static "
js
/
plugins
/
select2
/
select2
.
full
.
min
.
js
"
%}"
></script>
<script
src=
"{% static "
js
/
plugins
/
sweetalert
/
sweetalert
.
min
.
js
"
%}"
></script>
{% endblock %}
{% block content %}
<div
class=
"wrapper wrapper-content animated fadeInRight"
>
<div
class=
"row"
>
<div
class=
"col-sm-12"
>
<div
class=
"ibox float-e-margins"
>
<div
class=
"panel-options"
>
<ul
class=
"nav nav-tabs"
>
<li
class=
"active"
>
<a
href=
"{% url 'ops:adhoc-detail' pk=object.pk %}"
class=
"text-center"
><i
class=
"fa fa-laptop"
></i>
{% trans 'Version detail' %}
</a>
</li>
<li>
<a
href=
"{% url 'ops:adhoc-history' pk=object.pk %}"
class=
"text-center"
><i
class=
"fa fa-laptop"
></i>
{% trans 'Version run history' %}
</a>
</li>
</ul>
</div>
<div
class=
"tab-content"
>
<div
class=
"col-sm-7"
style=
"padding-left: 0"
>
<div
class=
"ibox float-e-margins"
>
<div
class=
"ibox-title"
>
<span
class=
"label"
><b>
{{ object.task.name }}: {{ object.short_id }}
</b></span>
<div
class=
"ibox-tools"
>
<a
class=
"collapse-link"
>
<i
class=
"fa fa-chevron-up"
></i>
</a>
<a
class=
"dropdown-toggle"
data-toggle=
"dropdown"
href=
"#"
>
<i
class=
"fa fa-wrench"
></i>
</a>
<ul
class=
"dropdown-menu dropdown-user"
>
</ul>
<a
class=
"close-link"
>
<i
class=
"fa fa-times"
></i>
</a>
</div>
</div>
<div
class=
"ibox-content"
>
<table
class=
"table"
>
<tbody>
<tr
class=
"no-borders-tr"
>
<td
width=
"20%"
>
{% trans 'ID' %}:
</td>
<td><b>
{{ object.id }}
</b></td>
</tr>
<tr>
<td
width=
"20%"
>
{% trans 'Hosts' %}:
</td>
<td><b>
{{ object.hosts | length }}
</b></td>
</tr>
<tr>
<td
width=
"20%"
>
{% trans 'Pattern' %}:
</td>
<td><b>
{{ object.pattern }}
</b></td>
</tr>
<tr>
<td>
{% trans 'Options' %}
</td>
<td>
<b>
{% for k, v in object.options.items %}
{{ k }} = {{ v }}
<br/>
{% endfor %}
</b>
</td>
</tr>
{% if object.run_as_admin %}
<tr>
<td>
{% trans 'Run as' %}
</td>
<td><b>
Admin
</b></td>
</tr>
{% else %}
<tr>
<td>
{% trans 'Run as' %}:
</td>
<td><b>
{{ object.get_latest_history.date_start }}
</b></td>
</tr>
{% endif %}
<tr>
<td>
{% trans 'Become' %}
</td>
<td><b>
{{ object.become.user }}
</b></td>
</tr>
<tr>
<td>
{% trans 'Created by' %}
</td>
<td><b>
{{ object.created_by }}
</b></td>
</tr>
<tr>
<td>
{% trans 'Date created' %}:
</td>
<td><b>
{{ object.date_created }}
</b></td>
</tr>
<tr>
<td>
{% trans 'Run times' %}:
</td>
<td><b>
{{ object.history.all | length }}
</b></td>
</tr>
<tr>
<td>
{% trans 'Last run' %}:
</td>
<td><b>
{{ object.latest_history.short_id }}
</b></td>
</tr>
<tr>
<td>
{% trans 'Time delta' %}:
</td>
<td><b>
{{ object.latest_history.timedelta|floatformat}} s
</b></td>
</tr>
<tr>
<td>
{% trans 'Is finished' %}:
</td>
<td><b>
{{ object.latest_history.is_finished|yesno:"Yes,No,Unkown" }}
</b></td>
</tr>
<tr>
<td>
{% trans 'Is success ' %}:
</td>
<td><b>
{{ object.latest_history.is_success|yesno:"Yes,No,Unkown" }}
</b></td>
</tr>
<tr>
<td>
{% trans 'Tasks' %}:
</td>
<td>
<b>
{% for task in object.tasks %}
{{ forloop.counter }}. {{ task.name }} ::: {{ task.action.module }}
<br/>
{% endfor %}
</b>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div
class=
"col-sm-5"
style=
"padding-left: 0;padding-right: 0"
>
<div
class=
"panel panel-danger"
>
<div
class=
"panel-heading"
>
<i
class=
"fa fa-info-circle"
></i>
{% trans 'Last run failed hosts' %}
</div>
<div
class=
"panel-body"
>
<table
class=
"table"
>
<tbody>
{% for host, task in object.latest_history.failed_hosts.items %}
{% if forloop.first %}
<tr
class=
"no-borders-tr"
>
{% else %}
<tr>
{% endif %}
<td>
{{ host }}:
</td>
<td>
{% for name, result in task.items %}
<b>
{{ name }}
</b>
=> {{ result.msg }}
{% endfor %}
</td>
</tr>
{% empty %}
<tr
class=
"no-borders-tr"
>
<td>
{% trans 'No hosts' %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
<div
class=
"panel panel-primary"
>
<div
class=
"panel-heading"
>
<i
class=
"fa fa-info-circle"
></i>
{% trans 'Last run success hosts' %}
</div>
<div
class=
"panel-body"
>
<table
class=
"table"
>
<tbody>
{% for host in object.latest_history.success_hosts %}
{% if forloop.first %}
<tr
class=
"no-borders-tr"
>
{% else %}
<tr>
{% endif %}
<td>
{{ host }}
</td>
</tr>
{% empty %}
<tr
class=
"no-borders-tr"
>
<td>
{% trans 'No hosts' %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% include 'users/_user_update_pk_modal.html' %}
{% endblock %}
apps/ops/templates/ops/adhoc_history.html
0 → 100644
View file @
5a929721
{% extends 'base.html' %}
{% load static %}
{% load i18n %}
{% block custom_head_css_js %}
<link
href=
"{% static "
css
/
plugins
/
select2
/
select2
.
min
.
css
"
%}"
rel=
"stylesheet"
>
<link
href=
"{% static "
css
/
plugins
/
sweetalert
/
sweetalert
.
css
"
%}"
rel=
"stylesheet"
>
<script
src=
"{% static "
js
/
plugins
/
select2
/
select2
.
full
.
min
.
js
"
%}"
></script>
<script
src=
"{% static "
js
/
plugins
/
sweetalert
/
sweetalert
.
min
.
js
"
%}"
></script>
{% endblock %}
{% block content %}
<div
class=
"wrapper wrapper-content animated fadeInRight"
>
<div
class=
"row"
>
<div
class=
"col-sm-12"
>
<div
class=
"ibox float-e-margins"
>
<div
class=
"panel-options"
>
<ul
class=
"nav nav-tabs"
>
<li>
<a
href=
"{% url 'ops:adhoc-detail' pk=object.pk %}"
class=
"text-center"
><i
class=
"fa fa-laptop"
></i>
{% trans 'Version detail' %}
</a>
</li>
<li
class=
"active"
>
<a
href=
"{% url 'ops:adhoc-history' pk=object.pk %}"
class=
"text-center"
><i
class=
"fa fa-laptop"
></i>
{% trans 'Version run history' %}
</a>
</li>
</ul>
</div>
<div
class=
"tab-content"
>
<div
class=
"col-sm-12"
style=
"padding-left: 0"
>
<div
class=
"ibox float-e-margins"
>
<div
class=
"ibox-title"
>
<span
style=
"float: left"
>
{% trans 'History of ' %}
<b>
{{ object.task.name }}:{{ object.short_id }}
</b></span>
<div
class=
"ibox-tools"
>
<a
class=
"collapse-link"
>
<i
class=
"fa fa-chevron-up"
></i>
</a>
<a
class=
"dropdown-toggle"
data-toggle=
"dropdown"
href=
"#"
>
<i
class=
"fa fa-wrench"
></i>
</a>
<ul
class=
"dropdown-menu dropdown-user"
>
</ul>
<a
class=
"close-link"
>
<i
class=
"fa fa-times"
></i>
</a>
</div>
</div>
<div
class=
"ibox-content"
>
<table
class=
"table table-hover "
id=
"task-history-list-table"
>
<thead>
<tr>
<th
class=
"text-center"
>
<input
type=
"checkbox"
id=
"check_all"
class=
"ipt_check_all"
>
</th>
<th>
{% trans 'Date start' %}
</th>
<th>
{% trans 'F/S/T' %}
</th>
<th>
{% trans 'Ratio' %}
</th>
<th>
{% trans 'Is finished' %}
</th>
<th>
{% trans 'Is success' %}
</th>
<th>
{% trans 'Time' %}
</th>
<th>
{% trans 'Version' %}
</th>
<th>
{% trans 'Action' %}
</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block custom_foot_js %}
<script>
function
initTable
()
{
var
options
=
{
ele
:
$
(
'#task-history-list-table'
),
buttons
:
[],
order
:
[],
select
:
[],
columnDefs
:
[
{
targets
:
1
,
createdCell
:
function
(
td
,
cellData
,
rowData
)
{
$
(
td
).
html
(
cellData
);
}},
{
targets
:
2
,
createdCell
:
function
(
td
,
cellData
)
{
var
total
=
"<span>"
+
cellData
.
total
+
"</span>"
;
var
success
=
"<span class='text-navy'>"
+
cellData
.
success
+
"</span>"
;
var
failed
=
"<span class='text-danger'>"
+
cellData
.
failed
+
"</span>"
;
$
(
td
).
html
(
failed
+
'/'
+
success
+
'/'
+
total
);
}},
{
targets
:
3
,
createdCell
:
function
(
td
,
cellData
)
{
var
val
=
0
;
var
innerHtml
=
""
;
if
(
cellData
.
total
!==
0
)
{
val
=
cellData
.
success
/
cellData
.
total
*
100
;
}
if
(
val
===
100
)
{
innerHtml
=
"<span class='text-navy'>"
+
val
+
"% </span>"
;
}
else
{
innerHtml
=
"<span class='text-danger'>"
+
val
+
"% </span>"
;
}
$
(
td
).
html
(
'<span href="javascript:void(0);" data-toggle="tooltip" title="'
+
cellData
+
'">'
+
innerHtml
+
'</span>'
);
}},
{
targets
:
4
,
createdCell
:
function
(
td
,
cellData
)
{
if
(
!
cellData
)
{
$
(
td
).
html
(
'<i class="fa fa-times text-danger"></i>'
)
}
else
{
$
(
td
).
html
(
'<i class="fa fa-check text-navy"></i>'
)
}
}},
{
targets
:
5
,
createdCell
:
function
(
td
,
cellData
)
{
if
(
!
cellData
)
{
$
(
td
).
html
(
'<i class="fa fa-times text-danger"></i>'
)
}
else
{
$
(
td
).
html
(
'<i class="fa fa-check text-navy"></i>'
)
}
}},
{
targets
:
6
,
createdCell
:
function
(
td
,
cellData
)
{
if
(
cellData
)
{
$
(
td
).
html
(
cellData
.
toFixed
(
2
)
+
' s'
)
}
else
{
$
(
td
).
html
(
"0"
+
' s'
)
}
}},
{
targets
:
8
,
createdCell
:
function
(
td
,
cellData
)
{
var
run_btn
=
'<a class="btn btn-xs btn-primary m-l-xs btn-run" href="{% url '
ops
:
adhoc
-
history
-
detail
' pk=DEFAULT_PK %}">{% trans "Detail" %}</a>'
.
replace
(
'{{ DEFAULT_PK }}'
,
cellData
);
if
(
cellData
)
{
$
(
td
).
html
(
run_btn
);
}
}}
],
ajax_url
:
'{% url "api-ops:history-list" %}?adhoc={{ object.pk }}'
,
columns
:
[{
data
:
function
(){
return
""
}},
{
data
:
"date_start"
},
{
data
:
"stat"
},
{
data
:
"stat"
},
{
data
:
"is_finished"
},
{
data
:
"is_success"
},
{
data
:
"timedelta"
},
{
data
:
'adhoc_short_id'
},
{
data
:
"id"
}]
};
jumpserver
.
initDataTable
(
options
);
}
$
(
document
).
ready
(
function
()
{
initTable
();
})
</script>
{% endblock %}
apps/ops/templates/ops/adhoc_history_detail.html
0 → 100644
View file @
5a929721
{% extends 'base.html' %}
{% load static %}
{% load i18n %}
{% block custom_head_css_js %}
<link
href=
"{% static "
css
/
plugins
/
select2
/
select2
.
min
.
css
"
%}"
rel=
"stylesheet"
>
<link
href=
"{% static "
css
/
plugins
/
sweetalert
/
sweetalert
.
css
"
%}"
rel=
"stylesheet"
>
<script
src=
"{% static "
js
/
plugins
/
select2
/
select2
.
full
.
min
.
js
"
%}"
></script>
<script
src=
"{% static "
js
/
plugins
/
sweetalert
/
sweetalert
.
min
.
js
"
%}"
></script>
{% endblock %}
{% block content %}
<div
class=
"wrapper wrapper-content animated fadeInRight"
>
<div
class=
"row"
>
<div
class=
"col-sm-12"
>
<div
class=
"ibox float-e-margins"
>
<div
class=
"panel-options"
>
<ul
class=
"nav nav-tabs"
>
<li
class=
"active"
>
<a
href=
"{% url 'ops:adhoc-history-detail' pk=object.pk %}"
class=
"text-center"
><i
class=
"fa fa-laptop"
></i>
{% trans 'Run history detail' %}
</a>
</li>
</ul>
</div>
<div
class=
"tab-content"
>
<div
class=
"col-sm-7"
style=
"padding-left: 0"
>
<div
class=
"ibox float-e-margins"
>
<div
class=
"ibox-title"
>
<span
class=
"label"
><b>
{% trans 'History detail of' %} {{ object.task.name }}: {{ object.adhoc.short_id }}
</b></span>
<div
class=
"ibox-tools"
>
<a
class=
"collapse-link"
>
<i
class=
"fa fa-chevron-up"
></i>
</a>
<a
class=
"dropdown-toggle"
data-toggle=
"dropdown"
href=
"#"
>
<i
class=
"fa fa-wrench"
></i>
</a>
<ul
class=
"dropdown-menu dropdown-user"
>
</ul>
<a
class=
"close-link"
>
<i
class=
"fa fa-times"
></i>
</a>
</div>
</div>
<div
class=
"ibox-content"
>
<table
class=
"table"
>
<tbody>
<tr
class=
"no-borders-tr"
>
<td
width=
"20%"
>
{% trans 'ID' %}:
</td>
<td><b>
{{ object.id }}
</b></td>
</tr>
<tr>
<td
width=
"20%"
>
{% trans 'Task name' %}:
</td>
<td><b>
{{ object.task.name }}
</b></td>
</tr>
<tr>
<td>
{% trans 'Version' %}:
</td>
<td><b>
{{ object.adhoc.short_id }}
</b></td>
</tr>
<tr>
<td>
{% trans 'Date start' %}:
</td>
<td><b>
{{ object.date_start }}
</b></td>
</tr>
<tr>
<td>
{% trans 'Time delta' %}:
</td>
<td><b>
{{ object.timedelta|floatformat}} s
</b></td>
</tr>
<tr>
<td>
{% trans 'Is finished' %}:
</td>
<td><b>
{{ object.is_finished|yesno:"Yes,No,Unkown" }}
</b></td>
</tr>
<tr>
<td>
{% trans 'Is success ' %}:
</td>
<td><b>
{{ object.is_success|yesno:"Yes,No,Unkown" }}
</b></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div
class=
"col-sm-5"
style=
"padding-left: 0;padding-right: 0"
>
<div
class=
"panel panel-danger"
>
<div
class=
"panel-heading"
>
<i
class=
"fa fa-info-circle"
></i>
{% trans 'Failed assets' %}
</div>
<div
class=
"panel-body"
>
<table
class=
"table"
>
<tbody>
{% for host, task in object.failed_hosts.items %}
{% if forloop.first %}
<tr
class=
"no-borders-tr"
>
{% else %}
<tr>
{% endif %}
<td>
{{ host }}:
</td>
<td>
{% for name, result in task.items %}
<b>
{{ name }}
</b>
=> {{ result.msg }}
{% endfor %}
</td>
</tr>
{% empty %}
<tr
class=
"no-borders-tr"
>
<td>
{% trans 'No assets' %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
<div
class=
"panel panel-primary"
>
<div
class=
"panel-heading"
>
<i
class=
"fa fa-info-circle"
></i>
{% trans 'Success assets' %}
</div>
<div
class=
"panel-body"
>
<table
class=
"table"
>
<tbody>
{% for host in object.success_hosts %}
{% if forloop.first %}
<tr
class=
"no-borders-tr"
>
{% else %}
<tr>
{% endif %}
<td>
{{ host }}
</td>
</tr>
{% empty %}
<tr
class=
"no-borders-tr"
>
<td>
{% trans 'No assets' %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% include 'users/_user_update_pk_modal.html' %}
{% endblock %}
apps/ops/templates/ops/task_adhoc.html
View file @
5a929721
...
@@ -106,7 +106,7 @@
...
@@ -106,7 +106,7 @@
}
}
}},
}},
{
targets
:
7
,
createdCell
:
function
(
td
,
cellData
,
rowData
)
{
{
targets
:
7
,
createdCell
:
function
(
td
,
cellData
,
rowData
)
{
var
detail_btn
=
'<a class="btn btn-xs btn-primary m-l-xs btn-run"
data-uid="{{ DEFAULT_PK }
}">{% trans "Detail" %}</a>'
.
replace
(
'{{ DEFAULT_PK }}'
,
cellData
);
var
detail_btn
=
'<a class="btn btn-xs btn-primary m-l-xs btn-run"
href="{% url '
ops
:
adhoc
-
detail
' pk=DEFAULT_PK %
}">{% trans "Detail" %}</a>'
.
replace
(
'{{ DEFAULT_PK }}'
,
cellData
);
if
(
cellData
)
{
if
(
cellData
)
{
$
(
td
).
html
(
detail_btn
);
$
(
td
).
html
(
detail_btn
);
}
}
...
...
apps/ops/templates/ops/task_detail.html
View file @
5a929721
...
@@ -66,30 +66,30 @@
...
@@ -66,30 +66,30 @@
</tr>
</tr>
<tr>
<tr>
<td>
{% trans 'Latest version' %}
</td>
<td>
{% trans 'Latest version' %}
</td>
<td><b>
{{ object.get_latest_adhoc.short_id }}
</b></td>
<td><b>
<a
href=
"{% url 'ops:adhoc-detail' pk=object.latest_adhoc.id %}"
>
{{ object.latest_adhoc.short_id }}
</a>
</b></td>
</tr>
</tr>
<tr>
<tr>
<td>
{% trans 'Latest run' %}:
</td>
<td>
{% trans 'Latest run' %}:
</td>
<td><b>
{{ object.
get_
latest_history.date_start }}
</b></td>
<td><b>
{{ object.latest_history.date_start }}
</b></td>
</tr>
</tr>
<tr>
<tr>
<td>
{% trans 'Time delta' %}:
</td>
<td>
{% trans 'Time delta' %}:
</td>
<td><b>
{{ object.
get_
latest_history.timedelta|floatformat}} s
</b></td>
<td><b>
{{ object.latest_history.timedelta|floatformat}} s
</b></td>
</tr>
</tr>
<tr>
<tr>
<td>
{% trans 'Is finished' %}:
</td>
<td>
{% trans 'Is finished' %}:
</td>
<td><b>
{{ object.
get_
latest_history.is_finished|yesno:"Yes,No,Unkown" }}
</b></td>
<td><b>
{{ object.latest_history.is_finished|yesno:"Yes,No,Unkown" }}
</b></td>
</tr>
</tr>
<tr>
<tr>
<td>
{% trans 'Is success ' %}:
</td>
<td>
{% trans 'Is success ' %}:
</td>
<td><b>
{{ object.
get_
latest_history.is_success|yesno:"Yes,No,Unkown" }}
</b></td>
<td><b>
{{ object.latest_history.is_success|yesno:"Yes,No,Unkown" }}
</b></td>
</tr>
</tr>
<tr>
<tr>
<td>
{% trans 'Contents' %}:
</td>
<td>
{% trans 'Contents' %}:
</td>
<td>
<td>
<b>
<b>
{% for task in object.
get_
latest_adhoc.tasks %}
{% for task in object.latest_adhoc.tasks %}
{{ task.name }} : {{ task.action.module }}
<br/>
{{
forloop.counter }}. {{
task.name }} : {{ task.action.module }}
<br/>
{% endfor %}
{% endfor %}
</b>
</b>
</td>
</td>
...
@@ -102,23 +102,27 @@
...
@@ -102,23 +102,27 @@
<div
class=
"col-sm-5"
style=
"padding-left: 0;padding-right: 0"
>
<div
class=
"col-sm-5"
style=
"padding-left: 0;padding-right: 0"
>
<div
class=
"panel panel-danger"
>
<div
class=
"panel panel-danger"
>
<div
class=
"panel-heading"
>
<div
class=
"panel-heading"
>
<i
class=
"fa fa-info-circle"
></i>
{% trans '
Failed asse
ts' %}
<i
class=
"fa fa-info-circle"
></i>
{% trans '
Last run failed hos
ts' %}
</div>
</div>
<div
class=
"panel-body"
>
<div
class=
"panel-body"
>
<table
class=
"table"
>
<table
class=
"table"
>
<tbody>
<tbody>
{% for host,
msg in results.failed
%}
{% for host,
task in object.latest_history.failed_hosts.items
%}
{% if forloop.first %}
{% if forloop.first %}
<tr
class=
"no-borders-tr"
>
<tr
class=
"no-borders-tr"
>
{% else %}
{% else %}
<tr>
<tr>
{% endif %}
{% endif %}
<td>
{{ host }}:
</td>
<td>
{{ host }}:
</td>
<td>
{{ msg }}
</td>
<td>
{% for name, result in task.items %}
<b>
{{ name }}
</b>
=> {{ result.msg }}
{% endfor %}
</td>
</tr>
</tr>
{% empty %}
{% empty %}
<tr
class=
"no-borders-tr"
>
<tr
class=
"no-borders-tr"
>
<td>
{% trans 'No
asse
ts' %}
</td>
<td>
{% trans 'No
hos
ts' %}
</td>
</tr>
</tr>
{% endfor %}
{% endfor %}
</tbody>
</tbody>
...
@@ -128,12 +132,12 @@
...
@@ -128,12 +132,12 @@
<div
class=
"panel panel-primary"
>
<div
class=
"panel panel-primary"
>
<div
class=
"panel-heading"
>
<div
class=
"panel-heading"
>
<i
class=
"fa fa-info-circle"
></i>
{% trans '
Success asse
ts' %}
<i
class=
"fa fa-info-circle"
></i>
{% trans '
Last run success hos
ts' %}
</div>
</div>
<div
class=
"panel-body"
>
<div
class=
"panel-body"
>
<table
class=
"table"
>
<table
class=
"table"
>
<tbody>
<tbody>
{% for host in object.
get_latest_history.summary.contacted
%}
{% for host in object.
latest_history.success_hosts
%}
{% if forloop.first %}
{% if forloop.first %}
<tr
class=
"no-borders-tr"
>
<tr
class=
"no-borders-tr"
>
{% else %}
{% else %}
...
@@ -143,7 +147,7 @@
...
@@ -143,7 +147,7 @@
</tr>
</tr>
{% empty %}
{% empty %}
<tr
class=
"no-borders-tr"
>
<tr
class=
"no-borders-tr"
>
<td>
{% trans 'No
asse
ts' %}
</td>
<td>
{% trans 'No
hos
ts' %}
</td>
</tr>
</tr>
{% endfor %}
{% endfor %}
</tbody>
</tbody>
...
...
apps/ops/templates/ops/task_history.html
View file @
5a929721
...
@@ -30,7 +30,7 @@
...
@@ -30,7 +30,7 @@
<div
class=
"col-sm-12"
style=
"padding-left: 0"
>
<div
class=
"col-sm-12"
style=
"padding-left: 0"
>
<div
class=
"ibox float-e-margins"
>
<div
class=
"ibox float-e-margins"
>
<div
class=
"ibox-title"
>
<div
class=
"ibox-title"
>
<span
style=
"float: left"
>
{% trans 'History of ' %}
<b>
{{ object.
name
}}
</b></span>
<span
style=
"float: left"
>
{% trans 'History of ' %}
<b>
{{ object.
task.name }}:{{ object.short_id
}}
</b></span>
<div
class=
"ibox-tools"
>
<div
class=
"ibox-tools"
>
<a
class=
"collapse-link"
>
<a
class=
"collapse-link"
>
<i
class=
"fa fa-chevron-up"
></i>
<i
class=
"fa fa-chevron-up"
></i>
...
@@ -54,6 +54,7 @@
...
@@ -54,6 +54,7 @@
</th>
</th>
<th>
{% trans 'Date start' %}
</th>
<th>
{% trans 'Date start' %}
</th>
<th>
{% trans 'F/S/T' %}
</th>
<th>
{% trans 'F/S/T' %}
</th>
<th>
{% trans 'Ratio' %}
</th>
<th>
{% trans 'Is finished' %}
</th>
<th>
{% trans 'Is finished' %}
</th>
<th>
{% trans 'Is success' %}
</th>
<th>
{% trans 'Is success' %}
</th>
<th>
{% trans 'Time' %}
</th>
<th>
{% trans 'Time' %}
</th>
...
@@ -75,57 +76,75 @@
...
@@ -75,57 +76,75 @@
{% endblock %}
{% endblock %}
{% block custom_foot_js %}
{% block custom_foot_js %}
<script>
<script>
$
(
document
).
ready
(
function
()
{
function
initTable
()
{
var
options
=
{
var
options
=
{
ele
:
$
(
'#task-history-list-table'
),
ele
:
$
(
'#task-history-list-table'
),
buttons
:
[],
buttons
:
[],
order
:
[],
order
:
[],
select
:
[],
select
:
[],
columnDefs
:
[
columnDefs
:
[
{
targets
:
1
,
createdCell
:
function
(
td
,
cellData
,
rowData
)
{
{
targets
:
1
,
createdCell
:
function
(
td
,
cellData
,
rowData
)
{
{
#
var
detail_btn
=
'<a href="'
+
cellData
+
'</a>'
;
#
}
$
(
td
).
html
(
cellData
);
$
(
td
).
html
(
cellData
);
}},
}},
{
targets
:
2
,
createdCell
:
function
(
td
,
cellData
)
{
{
targets
:
2
,
createdCell
:
function
(
td
,
cellData
)
{
var
total
=
"<span>"
+
cellData
.
total
+
"</span>"
;
var
total
=
"<span>"
+
cellData
.
total
+
"</span>"
;
var
success
=
"<span class='text-navy'>"
+
cellData
.
success
+
"</span>"
;
var
success
=
"<span class='text-navy'>"
+
cellData
.
success
+
"</span>"
;
var
failed
=
"<span class='text-danger'>"
+
cellData
.
failed
+
"</span>"
;
var
failed
=
"<span class='text-danger'>"
+
cellData
.
failed
+
"</span>"
;
$
(
td
).
html
(
failed
+
'/'
+
success
+
'/'
+
total
);
$
(
td
).
html
(
failed
+
'/'
+
success
+
'/'
+
total
);
}},
}},
{
targets
:
3
,
createdCell
:
function
(
td
,
cellData
)
{
{
targets
:
3
,
createdCell
:
function
(
td
,
cellData
)
{
var
val
=
0
;
if
(
!
cellData
)
{
var
innerHtml
=
""
;
$
(
td
).
html
(
'<i class="fa fa-times text-danger"></i>'
)
if
(
cellData
.
total
!==
0
)
{
}
else
{
val
=
cellData
.
success
/
cellData
.
total
*
100
;
$
(
td
).
html
(
'<i class="fa fa-check text-navy"></i>'
)
}
}
}},
if
(
val
===
100
)
{
{
targets
:
4
,
createdCell
:
function
(
td
,
cellData
)
{
innerHtml
=
"<span class='text-navy'>"
+
val
+
"% </span>"
;
if
(
!
cellData
)
{
}
else
{
$
(
td
).
html
(
'<i class="fa fa-times text-danger"></i>'
)
innerHtml
=
"<span class='text-danger'>"
+
val
+
"% </span>"
;
}
else
{
}
$
(
td
).
html
(
'<i class="fa fa-check text-navy"></i>'
)
$
(
td
).
html
(
'<span href="javascript:void(0);" data-toggle="tooltip" title="'
+
cellData
+
'">'
+
innerHtml
+
'</span>'
);
}
}},
}},
{
targets
:
4
,
createdCell
:
function
(
td
,
cellData
)
{
{
targets
:
5
,
createdCell
:
function
(
td
,
cellData
)
{
if
(
!
cellData
)
{
if
(
cellData
)
{
$
(
td
).
html
(
'<i class="fa fa-times text-danger"></i>'
)
$
(
td
).
html
(
cellData
.
toFixed
(
2
)
+
' s'
)
}
else
{
}
else
{
$
(
td
).
html
(
'<i class="fa fa-check text-navy"></i>'
)
$
(
td
).
html
(
"0"
+
' s'
)
}
}
}},
}},
{
targets
:
5
,
createdCell
:
function
(
td
,
cellData
)
{
{
targets
:
7
,
createdCell
:
function
(
td
,
cellData
)
{
if
(
!
cellData
)
{
var
run_btn
=
'<a class="btn btn-xs btn-primary m-l-xs btn-run" data-uid="{{ DEFAULT_PK }}">{% trans "Detail" %}</a>'
.
replace
(
'{{ DEFAULT_PK }}'
,
cellData
);
$
(
td
).
html
(
'<i class="fa fa-times text-danger"></i>'
)
if
(
cellData
)
{
}
else
{
$
(
td
).
html
(
run_btn
);
$
(
td
).
html
(
'<i class="fa fa-check text-navy"></i>'
)
}
}
}}
}},
],
{
targets
:
6
,
createdCell
:
function
(
td
,
cellData
)
{
ajax_url
:
'{% url "api-ops:history-list" %}?task={{ object.pk }}'
,
if
(
cellData
)
{
columns
:
[{
data
:
function
(){
return
""
}},
{
data
:
"date_start"
},
{
data
:
"stat"
},
{
data
:
"adhoc_short_id"
},
$
(
td
).
html
(
cellData
.
toFixed
(
2
)
+
' s'
)
{
data
:
"adhoc_short_id"
},
{
data
:
"timedelta"
},
{
data
:
'adhoc_short_id'
},
{
data
:
"id"
}]
}
else
{
};
$
(
td
).
html
(
"0"
+
' s'
)
jumpserver
.
initDataTable
(
options
);
}
})
}},
</script>
{
targets
:
8
,
createdCell
:
function
(
td
,
cellData
)
{
var
run_btn
=
'<a class="btn btn-xs btn-primary m-l-xs btn-run" href="{% url '
ops
:
adhoc
-
history
-
detail
' pk=DEFAULT_PK %}">{% trans "Detail" %}</a>'
.
replace
(
'{{ DEFAULT_PK }}'
,
cellData
);
if
(
cellData
)
{
$
(
td
).
html
(
run_btn
);
}
}}
],
ajax_url
:
'{% url "api-ops:history-list" %}?task={{ object.pk }}'
,
columns
:
[{
data
:
function
(){
return
""
}},
{
data
:
"date_start"
},
{
data
:
"stat"
},
{
data
:
"stat"
},
{
data
:
"is_finished"
},
{
data
:
"is_success"
},
{
data
:
"timedelta"
},
{
data
:
'adhoc_short_id'
},
{
data
:
"id"
}]
};
jumpserver
.
initDataTable
(
options
);
}
$
(
document
).
ready
(
function
()
{
initTable
();
})
</script>
{% endblock %}
{% endblock %}
apps/ops/templates/ops/task_list.html
View file @
5a929721
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
</div>
</div>
</div>
</div>
<div
class=
"input-group"
>
<div
class=
"input-group"
>
<input
type=
"text"
class=
"form-control input-sm"
name=
"keyword"
placeholder=
"
Search
"
value=
"{{ keyword }}"
>
<input
type=
"text"
class=
"form-control input-sm"
name=
"keyword"
placeholder=
"
{% trans "
Search
"
%}
"
value=
"{{ keyword }}"
>
</div>
</div>
<div
class=
"input-group"
>
<div
class=
"input-group"
>
<div
class=
"input-group-btn"
>
<div
class=
"input-group-btn"
>
...
@@ -50,7 +50,7 @@
...
@@ -50,7 +50,7 @@
{% for object in task_list %}
{% for object in task_list %}
<tr
class=
"gradeX"
>
<tr
class=
"gradeX"
>
<td
class=
"text-center"
><input
type=
"checkbox"
class=
"cbx-term"
>
</td>
<td
class=
"text-center"
><input
type=
"checkbox"
class=
"cbx-term"
>
</td>
<td
class=
"text-
center
"
><a
href=
"{% url 'ops:task-detail' pk=object.id %}"
>
{{ object.name }}
</a></td>
<td
class=
"text-
left
"
><a
href=
"{% url 'ops:task-detail' pk=object.id %}"
>
{{ object.name }}
</a></td>
<td
class=
"text-center"
>
<td
class=
"text-center"
>
<span
class=
"text-danger"
>
{{ object.history_summary.failed }}
</span>
/
<span
class=
"text-navy"
>
{{ object.history_summary.success}}
</span>
/{{ object.history_summary.total}}
<span
class=
"text-danger"
>
{{ object.history_summary.failed }}
</span>
/
<span
class=
"text-navy"
>
{{ object.history_summary.success}}
</span>
/{{ object.history_summary.total}}
</td>
</td>
...
@@ -67,38 +67,37 @@
...
@@ -67,38 +67,37 @@
<td
class=
"text-center"
>
{{ object.latest_history.timedelta|floatformat }} s
</td>
<td
class=
"text-center"
>
{{ object.latest_history.timedelta|floatformat }} s
</td>
<td
class=
"text-center"
>
<td
class=
"text-center"
>
<a
href=
"{% url 'ops:task-run' pk=object.id %}"
class=
"btn btn-xs btn-info"
>
{% trans "Run" %}
</a>
<a
href=
"{% url 'ops:task-run' pk=object.id %}"
class=
"btn btn-xs btn-info"
>
{% trans "Run" %}
</a>
<a
data-uid=
"{{ object.
uu
id }}"
class=
"btn btn-xs btn-danger btn-del"
>
{% trans "Delete" %}
</a>
<a
data-uid=
"{{ object.id }}"
class=
"btn btn-xs btn-danger btn-del"
>
{% trans "Delete" %}
</a>
</td>
</td>
</tr>
</tr>
{% endfor %}
{% endfor %}
{% endblock %}
{% endblock %}
{# comment #}
{% block custom_foot_js %}
{% block custom_foot_js %}
<script
src=
"{% static 'js/plugins/datepicker/bootstrap-datepicker.js' %}"
></script>
<script
src=
"{% static 'js/plugins/datepicker/bootstrap-datepicker.js' %}"
></script>
<script>
<script>
$
(
document
).
ready
(
function
()
{
$
(
document
).
ready
(
function
()
{
$
(
'table'
).
DataTable
({
$
(
'table'
).
DataTable
({
"searching"
:
false
,
"searching"
:
false
,
"paging"
:
false
,
"paging"
:
false
,
"bInfo"
:
false
,
"bInfo"
:
false
,
"order"
:
[]
"order"
:
[]
});
});
$
(
'.select2'
).
select2
();
$
(
'.select2'
).
select2
();
$
(
'#date .input-daterange'
).
datepicker
({
$
(
'#date .input-daterange'
).
datepicker
({
dateFormat
:
'mm/dd/yy'
,
dateFormat
:
'mm/dd/yy'
,
keyboardNavigation
:
false
,
keyboardNavigation
:
false
,
forceParse
:
false
,
forceParse
:
false
,
autoclose
:
true
autoclose
:
true
});
});
}).
on
(
'click'
,
'.btn-del'
,
function
()
{
}).
on
(
'click'
,
'.btn-del'
,
function
()
{
var
$this
=
$
(
this
);
var
$this
=
$
(
this
);
var
name
=
$
(
this
).
closest
(
"tr"
).
find
(
":nth-child(2)"
).
children
(
'a'
).
html
();
var
name
=
$
(
this
).
closest
(
"tr"
).
find
(
":nth-child(2)"
).
children
(
'a'
).
html
();
var
uid
=
$this
.
data
(
'uid'
);
var
uid
=
$this
.
data
(
'uid'
);
var
the_url
=
'{% url "api-ops:task-detail" pk=DEFAULT_PK %}'
.
replace
(
'{{ DEFAULT_PK }}'
,
uid
);
var
the_url
=
'{% url "api-ops:task-detail" pk=DEFAULT_PK %}'
.
replace
(
'{{ DEFAULT_PK }}'
,
uid
);
objectDelete
(
$this
,
name
,
the_url
);
objectDelete
(
$this
,
name
,
the_url
);
})
})
</script>
</script>
{% endblock %}
{% endblock %}
apps/ops/urls/view_urls.py
View file @
5a929721
...
@@ -16,4 +16,7 @@ urlpatterns = [
...
@@ -16,4 +16,7 @@ urlpatterns = [
url
(
r'^task/(?P<pk>[0-9a-zA-Z\-]{36})/adhoc/$'
,
views
.
TaskAdhocView
.
as_view
(),
name
=
'task-adhoc'
),
url
(
r'^task/(?P<pk>[0-9a-zA-Z\-]{36})/adhoc/$'
,
views
.
TaskAdhocView
.
as_view
(),
name
=
'task-adhoc'
),
url
(
r'^task/(?P<pk>[0-9a-zA-Z\-]{36})/history/$'
,
views
.
TaskHistoryView
.
as_view
(),
name
=
'task-history'
),
url
(
r'^task/(?P<pk>[0-9a-zA-Z\-]{36})/history/$'
,
views
.
TaskHistoryView
.
as_view
(),
name
=
'task-history'
),
url
(
r'^task/(?P<pk>[0-9a-zA-Z\-]{36})/run/$'
,
views
.
TaskRunView
.
as_view
(),
name
=
'task-run'
),
url
(
r'^task/(?P<pk>[0-9a-zA-Z\-]{36})/run/$'
,
views
.
TaskRunView
.
as_view
(),
name
=
'task-run'
),
]
url
(
r'^adhoc/(?P<pk>[0-9a-zA-Z\-]{36})/$'
,
views
.
AdHocDetailView
.
as_view
(),
name
=
'adhoc-detail'
),
\ No newline at end of file
url
(
r'^adhoc/(?P<pk>[0-9a-zA-Z\-]{36})/history/$'
,
views
.
AdHocHistoryView
.
as_view
(),
name
=
'adhoc-history'
),
url
(
r'^adhoc/history/(?P<pk>[0-9a-zA-Z\-]{36})/$'
,
views
.
AdHocHistoryDetailView
.
as_view
(),
name
=
'adhoc-history-detail'
),
]
apps/ops/views.py
View file @
5a929721
# ~*~ coding: utf-8 ~*~
# ~*~ coding: utf-8 ~*~
from
__future__
import
unicode_literals
from
__future__
import
unicode_literals
import
time
import
time
import
json
from
datetime
import
datetime
from
datetime
import
datetime
from
django.utils.translation
import
ugettext
as
_
from
django.conf
import
settings
from
django.conf
import
settings
from
django.views.generic
import
ListView
,
DetailView
,
View
from
django.views.generic
import
ListView
,
DetailView
,
View
from
django.utils
import
timezone
from
django.utils
import
timezone
...
@@ -53,7 +53,7 @@ class TaskListView(ListView):
...
@@ -53,7 +53,7 @@ class TaskListView(ListView):
def
get_context_data
(
self
,
**
kwargs
):
def
get_context_data
(
self
,
**
kwargs
):
context
=
{
context
=
{
'app'
:
'Ops'
,
'app'
:
'Ops'
,
'action'
:
'Playbook record list'
,
'action'
:
_
(
'Task list'
)
,
'date_from'
:
self
.
date_from_s
,
'date_from'
:
self
.
date_from_s
,
'date_to'
:
self
.
date_to_s
,
'date_to'
:
self
.
date_to_s
,
'keyword'
:
self
.
keyword
,
'keyword'
:
self
.
keyword
,
...
@@ -109,3 +109,42 @@ class TaskRunView(View):
...
@@ -109,3 +109,42 @@ class TaskRunView(View):
rerun_task
.
delay
(
pk
)
rerun_task
.
delay
(
pk
)
time
.
sleep
(
0.5
)
time
.
sleep
(
0.5
)
return
redirect
(
reverse
(
'ops:task-detail'
,
kwargs
=
{
'pk'
:
pk
}))
return
redirect
(
reverse
(
'ops:task-detail'
,
kwargs
=
{
'pk'
:
pk
}))
class
AdHocDetailView
(
DetailView
):
model
=
AdHoc
template_name
=
'ops/adhoc_detail.html'
def
get_context_data
(
self
,
**
kwargs
):
context
=
{
'app'
:
'Ops'
,
'action'
:
'Task version detail'
,
}
kwargs
.
update
(
context
)
return
super
()
.
get_context_data
(
**
kwargs
)
class
AdHocHistoryView
(
DetailView
):
model
=
AdHoc
template_name
=
'ops/adhoc_history.html'
def
get_context_data
(
self
,
**
kwargs
):
context
=
{
'app'
:
'Ops'
,
'action'
:
'Version run history'
,
}
kwargs
.
update
(
context
)
return
super
()
.
get_context_data
(
**
kwargs
)
class
AdHocHistoryDetailView
(
DetailView
):
model
=
AdHocRunHistory
template_name
=
'ops/adhoc_history_detail.html'
def
get_context_data
(
self
,
**
kwargs
):
context
=
{
'app'
:
'Ops'
,
'action'
:
'Run history detail'
,
}
kwargs
.
update
(
context
)
return
super
()
.
get_context_data
(
**
kwargs
)
\ No newline at end of file
apps/perms/models.py
View file @
5a929721
...
@@ -65,5 +65,5 @@ class AssetPermission(models.Model):
...
@@ -65,5 +65,5 @@ class AssetPermission(models.Model):
for
system_user
in
self
.
system_users
.
all
():
for
system_user
in
self
.
system_users
.
all
():
cluster_remain
=
clusters
-
set
(
system_user
.
cluster
.
all
())
cluster_remain
=
clusters
-
set
(
system_user
.
cluster
.
all
())
if
cluster_remain
:
if
cluster_remain
:
errors
[
system_user
.
name
]
=
cluster_remain
errors
[
system_user
]
=
cluster_remain
return
errors
return
errors
apps/perms/views.py
View file @
5a929721
...
@@ -50,10 +50,11 @@ class MessageMixin:
...
@@ -50,10 +50,11 @@ class MessageMixin:
@staticmethod
@staticmethod
def
get_warning_messages
(
errors
):
def
get_warning_messages
(
errors
):
message
=
"System user should in behind clusters, so that "
\
message
=
"<b><i class='fa fa-warning'></i>WARNING: System user "
\
"system user auto push to cluster assets <br>"
"should in behind clusters, so that "
\
for
system_user
,
clusters
in
errors
:
"system user cat auto push to the cluster assets:</b> <br>"
message
+=
"{}: {} "
.
format
(
system_user
.
name
,
", "
.
join
(
list
(
clusters
)))
for
system_user
,
clusters
in
errors
.
items
():
message
+=
" >>> {}: {} "
.
format
(
system_user
.
name
,
", "
.
join
((
cluster
.
name
for
cluster
in
clusters
)))
return
message
return
message
def
get_success_message
(
self
,
cleaned_data
):
def
get_success_message
(
self
,
cleaned_data
):
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment