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
720dc9ab
Commit
720dc9ab
authored
Jan 02, 2018
by
ibuler
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[Bugfix] 修复以下bug
- session时区 - 切换管理和用户页面cookie问题 - 创建权限时验证 - 一些翻译
parent
68ccec6b
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
88 additions
and
68 deletions
+88
-68
settings.py
apps/jumpserver/settings.py
+2
-2
django.mo
apps/locale/zh/LC_MESSAGES/django.mo
+0
-0
django.po
apps/locale/zh/LC_MESSAGES/django.po
+52
-52
forms.py
apps/perms/forms.py
+28
-8
_header_bar.html
apps/templates/_header_bar.html
+5
-5
api.py
apps/terminal/api.py
+1
-1
No files found.
apps/jumpserver/settings.py
View file @
720dc9ab
...
@@ -242,7 +242,6 @@ LOGGING = {
...
@@ -242,7 +242,6 @@ LOGGING = {
# https://docs.djangoproject.com/en/1.10/topics/i18n/
# https://docs.djangoproject.com/en/1.10/topics/i18n/
LANGUAGE_CODE
=
'en-us'
LANGUAGE_CODE
=
'en-us'
# TIME_ZONE = 'UTC'
TIME_ZONE
=
'Asia/Shanghai'
TIME_ZONE
=
'Asia/Shanghai'
USE_I18N
=
True
USE_I18N
=
True
...
@@ -300,7 +299,8 @@ REST_FRAMEWORK = {
...
@@ -300,7 +299,8 @@ REST_FRAMEWORK = {
'users.authentication.SessionAuthentication'
,
'users.authentication.SessionAuthentication'
,
),
),
'DEFAULT_FILTER_BACKENDS'
:
(
'django_filters.rest_framework.DjangoFilterBackend'
,),
'DEFAULT_FILTER_BACKENDS'
:
(
'django_filters.rest_framework.DjangoFilterBackend'
,),
'DATETIME_FORMAT'
:
'
%
Y-
%
m-
%
d
%
H:
%
M:
%
S'
,
'DATETIME_FORMAT'
:
'
%
Y-
%
m-
%
d
%
H:
%
M:
%
S
%
z'
,
'DATETIME_INPUT_FORMATS'
:
[
'
%
Y-
%
m-
%
d
%
H:
%
M:
%
S
%
z'
],
}
}
AUTHENTICATION_BACKENDS
=
[
AUTHENTICATION_BACKENDS
=
[
...
...
apps/locale/zh/LC_MESSAGES/django.mo
View file @
720dc9ab
No preview for this file type
apps/locale/zh/LC_MESSAGES/django.po
View file @
720dc9ab
...
@@ -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: 2018-01-0
1 15:33
+0800\n"
"POT-Creation-Date: 2018-01-0
2 18: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,7 +17,7 @@ msgstr ""
...
@@ -17,7 +17,7 @@ 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:23 assets/forms.py:53 assets/forms.py:99 perms/forms.py:3
6
#: assets/forms.py:23 assets/forms.py:53 assets/forms.py:99 perms/forms.py:3
7
#: perms/templates/perms/asset_permission_asset.html:127 users/forms.py:240
#: perms/templates/perms/asset_permission_asset.html:127 users/forms.py:240
msgid "Select asset groups"
msgid "Select asset groups"
msgstr "选择资产组"
msgstr "选择资产组"
...
@@ -43,7 +43,7 @@ msgid "Default using cluster admin user"
...
@@ -43,7 +43,7 @@ msgid "Default using cluster admin user"
msgstr "默认使用管理用户"
msgstr "默认使用管理用户"
#: assets/forms.py:76 assets/forms.py:81 assets/forms.py:127
#: assets/forms.py:76 assets/forms.py:81 assets/forms.py:127
#: assets/templates/assets/asset_group_detail.html:70 perms/forms.py:3
3
#: assets/templates/assets/asset_group_detail.html:70 perms/forms.py:3
4
#: perms/templates/perms/asset_permission_asset.html:99 users/forms.py:237
#: perms/templates/perms/asset_permission_asset.html:99 users/forms.py:237
msgid "Select assets"
msgid "Select assets"
msgstr "选择资产"
msgstr "选择资产"
...
@@ -84,7 +84,7 @@ msgstr "资产"
...
@@ -84,7 +84,7 @@ msgstr "资产"
#: assets/templates/assets/cluster_list.html:19
#: assets/templates/assets/cluster_list.html:19
#: assets/templates/assets/system_user_detail.html:53
#: assets/templates/assets/system_user_detail.html:53
#: assets/templates/assets/system_user_list.html:24 ops/models.py:31
#: assets/templates/assets/system_user_list.html:24 ops/models.py:31
#: ops/templates/ops/task_detail.html:56 ops/templates/ops/task_list.html:3
9
#: ops/templates/ops/task_detail.html:56 ops/templates/ops/task_list.html:3
4
#: perms/models.py:14
#: 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
...
@@ -746,7 +746,7 @@ msgstr "不可达"
...
@@ -746,7 +746,7 @@ msgstr "不可达"
#: assets/templates/assets/system_user_list.html:31
#: assets/templates/assets/system_user_list.html:31
#: assets/templates/assets/user_asset_list.html:27
#: assets/templates/assets/user_asset_list.html:27
#: ops/templates/ops/adhoc_history.html:59 ops/templates/ops/task_adhoc.html:61
#: ops/templates/ops/adhoc_history.html:59 ops/templates/ops/task_adhoc.html:61
#: ops/templates/ops/task_history.html:62 ops/templates/ops/task_list.html:4
6
#: ops/templates/ops/task_history.html:62 ops/templates/ops/task_list.html:4
1
#: perms/templates/perms/asset_permission_list.html:32
#: perms/templates/perms/asset_permission_list.html:32
#: terminal/templates/terminal/session_list.html:78
#: terminal/templates/terminal/session_list.html:78
#: terminal/templates/terminal/terminal_list.html:36
#: terminal/templates/terminal/terminal_list.html:36
...
@@ -774,7 +774,7 @@ msgstr "更新"
...
@@ -774,7 +774,7 @@ msgstr "更新"
#: assets/templates/assets/asset_list.html:96
#: assets/templates/assets/asset_list.html:96
#: assets/templates/assets/cluster_list.html:44
#: assets/templates/assets/cluster_list.html:44
#: assets/templates/assets/system_user_list.html:85
#: assets/templates/assets/system_user_list.html:85
#: ops/templates/ops/task_list.html:7
6
#: ops/templates/ops/task_list.html:7
0
#: perms/templates/perms/asset_permission_list.html:74
#: perms/templates/perms/asset_permission_list.html:74
#: terminal/templates/terminal/terminal_list.html:73
#: terminal/templates/terminal/terminal_list.html:73
#: users/templates/users/user_group_list.html:41
#: users/templates/users/user_group_list.html:41
...
@@ -1000,7 +1000,6 @@ msgid "Test assets connective"
...
@@ -1000,7 +1000,6 @@ msgid "Test assets connective"
msgstr "测试资产可连接性"
msgstr "测试资产可连接性"
#: assets/templates/assets/cluster_assets.html:77
#: assets/templates/assets/cluster_assets.html:77
#: ops/templates/ops/task_list.html:75
msgid "Run"
msgid "Run"
msgstr "执行"
msgstr "执行"
...
@@ -1235,7 +1234,7 @@ msgid "Options"
...
@@ -1235,7 +1234,7 @@ msgid "Options"
msgstr "选项"
msgstr "选项"
#: ops/models.py:152 ops/templates/ops/adhoc_detail.html:53
#: ops/models.py:152 ops/templates/ops/adhoc_detail.html:53
#: ops/templates/ops/task_adhoc.html:56 ops/templates/ops/task_list.html:
42
#: ops/templates/ops/task_adhoc.html:56 ops/templates/ops/task_list.html:
37
msgid "Hosts"
msgid "Hosts"
msgstr "主机"
msgstr "主机"
...
@@ -1257,36 +1256,36 @@ msgstr "Become"
...
@@ -1257,36 +1256,36 @@ msgstr "Become"
msgid "Create by"
msgid "Create by"
msgstr "创建者"
msgstr "创建者"
#: ops/models.py:30
6
#: ops/models.py:30
7
msgid "Start time"
msgid "Start time"
msgstr "开始时间"
msgstr "开始时间"
#: ops/models.py:30
7
#: ops/models.py:30
8
msgid "End time"
msgid "End time"
msgstr "完成时间"
msgstr "完成时间"
#: ops/models.py:30
8
ops/templates/ops/adhoc_history.html:57
#: ops/models.py:30
9
ops/templates/ops/adhoc_history.html:57
#: ops/templates/ops/task_history.html:60 ops/templates/ops/task_list.html:4
5
#: ops/templates/ops/task_history.html:60 ops/templates/ops/task_list.html:4
0
msgid "Time"
msgid "Time"
msgstr "时间"
msgstr "时间"
#: ops/models.py:3
09
ops/templates/ops/adhoc_detail.html:106
#: ops/models.py:3
10
ops/templates/ops/adhoc_detail.html:106
#: ops/templates/ops/adhoc_history.html:55
#: ops/templates/ops/adhoc_history.html:55
#: ops/templates/ops/adhoc_history_detail.html:66
#: ops/templates/ops/adhoc_history_detail.html:66
#: ops/templates/ops/task_detail.html:80 ops/templates/ops/task_history.html:58
#: ops/templates/ops/task_detail.html:80 ops/templates/ops/task_history.html:58
msgid "Is finished"
msgid "Is finished"
msgstr "是否完成"
msgstr "是否完成"
#: ops/models.py:31
0
ops/templates/ops/adhoc_history.html:56
#: ops/models.py:31
1
ops/templates/ops/adhoc_history.html:56
#: ops/templates/ops/task_history.html:59
#: ops/templates/ops/task_history.html:59
msgid "Is success"
msgid "Is success"
msgstr "是否成功"
msgstr "是否成功"
#: ops/models.py:31
1
#: ops/models.py:31
2
msgid "Adhoc raw result"
msgid "Adhoc raw result"
msgstr "结果"
msgstr "结果"
#: ops/models.py:31
2
#: ops/models.py:31
3
msgid "Adhoc result summary"
msgid "Adhoc result summary"
msgstr "汇总"
msgstr "汇总"
...
@@ -1296,7 +1295,7 @@ msgid "Version detail"
...
@@ -1296,7 +1295,7 @@ msgid "Version detail"
msgstr "版本详情"
msgstr "版本详情"
#: ops/templates/ops/adhoc_detail.html:22
#: ops/templates/ops/adhoc_detail.html:22
#: ops/templates/ops/adhoc_history.html:22 ops/views.py:1
20
#: ops/templates/ops/adhoc_history.html:22 ops/views.py:1
04
msgid "Version run history"
msgid "Version run history"
msgstr "执行历史"
msgstr "执行历史"
...
@@ -1308,7 +1307,7 @@ msgstr "执行历史"
...
@@ -1308,7 +1307,7 @@ msgstr "执行历史"
msgid "ID"
msgid "ID"
msgstr "ID"
msgstr "ID"
#: ops/templates/ops/adhoc_detail.html:94 ops/templates/ops/task_list.html:
40
#: ops/templates/ops/adhoc_detail.html:94 ops/templates/ops/task_list.html:
35
msgid "Run times"
msgid "Run times"
msgstr "执行次数"
msgstr "执行次数"
...
@@ -1368,7 +1367,7 @@ msgstr "失败/成功/总"
...
@@ -1368,7 +1367,7 @@ msgstr "失败/成功/总"
msgid "Version"
msgid "Version"
msgstr "版本"
msgstr "版本"
#: ops/templates/ops/adhoc_history_detail.html:19 ops/views.py:1
33
#: ops/templates/ops/adhoc_history_detail.html:19 ops/views.py:1
17
msgid "Run history detail"
msgid "Run history detail"
msgstr "执行历史详情"
msgstr "执行历史详情"
...
@@ -1394,12 +1393,12 @@ msgid "Success assets"
...
@@ -1394,12 +1393,12 @@ msgid "Success assets"
msgstr "成功资产"
msgstr "成功资产"
#: ops/templates/ops/task_adhoc.html:19 ops/templates/ops/task_detail.html:19
#: ops/templates/ops/task_adhoc.html:19 ops/templates/ops/task_detail.html:19
#: ops/templates/ops/task_history.html:19 ops/views.py:5
8
#: ops/templates/ops/task_history.html:19 ops/views.py:5
2
msgid "Task detail"
msgid "Task detail"
msgstr "任务详情"
msgstr "任务详情"
#: ops/templates/ops/task_adhoc.html:22 ops/templates/ops/task_detail.html:22
#: ops/templates/ops/task_adhoc.html:22 ops/templates/ops/task_detail.html:22
#: ops/templates/ops/task_history.html:22 ops/views.py:
71
#: ops/templates/ops/task_history.html:22 ops/views.py:
65
msgid "Task versions"
msgid "Task versions"
msgstr "任务各版本"
msgstr "任务各版本"
...
@@ -1429,7 +1428,7 @@ msgstr "最新版本"
...
@@ -1429,7 +1428,7 @@ msgstr "最新版本"
msgid "Contents"
msgid "Contents"
msgstr "内容"
msgstr "内容"
#: ops/templates/ops/task_list.html:2
5 ops/templates/ops/task_list.html:30
#: ops/templates/ops/task_list.html:2
0 ops/templates/ops/task_list.html:25
#: templates/_base_list.html:43 templates/_header_bar.html:8
#: templates/_base_list.html:43 templates/_header_bar.html:8
#: terminal/templates/terminal/command_list.html:60
#: terminal/templates/terminal/command_list.html:60
#: users/templates/users/login_log_list.html:35
#: users/templates/users/login_log_list.html:35
...
@@ -1437,29 +1436,29 @@ msgstr "内容"
...
@@ -1437,29 +1436,29 @@ msgstr "内容"
msgid "Search"
msgid "Search"
msgstr "搜索"
msgstr "搜索"
#: ops/templates/ops/task_list.html:
41
#: ops/templates/ops/task_list.html:
36
msgid "Versions"
msgid "Versions"
msgstr "版本"
msgstr "版本"
#: ops/templates/ops/task_list.html:
43
#: ops/templates/ops/task_list.html:
38
msgid "Success"
msgid "Success"
msgstr "成功"
msgstr "成功"
#: ops/templates/ops/task_list.html:
44
#: ops/templates/ops/task_list.html:
39
#: users/templates/users/login_log_list.html:54
#: users/templates/users/login_log_list.html:54
msgid "Date"
msgid "Date"
msgstr "日期"
msgstr "日期"
#: ops/views.py:
41 ops/views.py:57 ops/views.py:70 ops/views.py:83
#: ops/views.py:
35 ops/views.py:51 ops/views.py:64 ops/views.py:77
#: ops/views.py:
106 ops/views.py:119 ops/views.py:132
#: ops/views.py:
90 ops/views.py:103 ops/views.py:116
msgid "Ops"
msgid "Ops"
msgstr "作业中心"
msgstr "作业中心"
#: ops/views.py:
42
#: ops/views.py:
36
msgid "Task list"
msgid "Task list"
msgstr "任务列表"
msgstr "任务列表"
#: ops/views.py:
84
#: ops/views.py:
78
msgid "Task run history"
msgid "Task run history"
msgstr "执行历史"
msgstr "执行历史"
...
@@ -1480,30 +1479,31 @@ msgstr "选择用户"
...
@@ -1480,30 +1479,31 @@ msgstr "选择用户"
msgid "User"
msgid "User"
msgstr "用户"
msgstr "用户"
#: perms/forms.py:3
0
perms/templates/perms/asset_permission_user.html:127
#: perms/forms.py:3
1
perms/templates/perms/asset_permission_user.html:127
msgid "Select user groups"
msgid "Select user groups"
msgstr "选择用户组"
msgstr "选择用户组"
#: perms/forms.py:
39
perms/templates/perms/asset_permission_detail.html:144
#: perms/forms.py:
40
perms/templates/perms/asset_permission_detail.html:144
#: users/forms.py:243
#: users/forms.py:243
msgid "Select system users"
msgid "Select system users"
msgstr "选择系统用户"
msgstr "选择系统用户"
#: perms/forms.py:
44
#: perms/forms.py:
52
msgid "User or
user
group at least one required"
msgid "User or group at least one required"
msgstr ""
msgstr ""
#: perms/forms.py:
45
#: perms/forms.py:
60
msgid "Asset or
Asset
group at least one required"
msgid "Asset or group at least one required"
msgstr ""
msgstr "
资产或组至少需要选择一个
"
#: perms/forms.py:
59
#: perms/forms.py:
78
msgid "Asset {} not have [{}] system users, please check \n"
msgid "Asset {}
of cluster {}
not have [{}] system users, please check \n"
msgstr ""
msgstr "
资产 {} 所在集群 {} 不包含系统用户 [{}] 请检查\n
"
#: perms/forms.py:67
#: perms/forms.py:87
msgid "Asset {}: {} not have [{}] system users, please check"
msgid ""
msgstr ""
"Asset {}(group {}) of cluster {} not have [{}] system users, please check \n"
msgstr "资产 {}(组 {}) 所在集群 {} 不包含系统用户 [{}] 请检查\n"
#: perms/models.py:16 perms/templates/perms/asset_permission_list.html:27
#: perms/models.py:16 perms/templates/perms/asset_permission_list.html:27
#: templates/_nav.html:13 users/models/user.py:38
#: templates/_nav.html:13 users/models/user.py:38
...
@@ -1740,10 +1740,10 @@ msgstr "任务"
...
@@ -1740,10 +1740,10 @@ msgstr "任务"
#: templates/_nav.html:47 templates/_nav.html:50
#: templates/_nav.html:47 templates/_nav.html:50
#: terminal/templates/terminal/session_list.html:74
#: terminal/templates/terminal/session_list.html:74
#: terminal/views/command.py:47 terminal/views/session.py:
54
#: terminal/views/command.py:47 terminal/views/session.py:
75
#: terminal/views/session.py:
77 terminal/views/session.py:9
4
#: terminal/views/session.py:
92 terminal/views/session.py:11
4
#: terminal/views/
session.py:116 terminal/views/terminal.py:31
#: terminal/views/
terminal.py:31 terminal/views/terminal.py:46
#: terminal/views/terminal.py:
46 terminal/views/terminal.py:
58
#: terminal/views/terminal.py:58
msgid "Terminal"
msgid "Terminal"
msgstr "终端"
msgstr "终端"
...
@@ -1882,7 +1882,7 @@ msgid "Goto"
...
@@ -1882,7 +1882,7 @@ msgid "Goto"
msgstr ""
msgstr ""
#: terminal/templates/terminal/session_detail.html:17
#: terminal/templates/terminal/session_detail.html:17
#: terminal/views/session.py:11
7
#: terminal/views/session.py:11
5
msgid "Session detail"
msgid "Session detail"
msgstr "会话详情"
msgstr "会话详情"
...
@@ -1971,14 +1971,14 @@ msgstr "接受终端注册"
...
@@ -1971,14 +1971,14 @@ msgstr "接受终端注册"
msgid "Info"
msgid "Info"
msgstr "信息"
msgstr "信息"
#: terminal/views/session.py:55 terminal/views/session.py:95
#: terminal/views/session.py:76
msgid "Session offline list"
msgstr "离线会话"
#: terminal/views/session.py:78
msgid "Session online list"
msgid "Session online list"
msgstr "在线会话"
msgstr "在线会话"
#: terminal/views/session.py:93
msgid "Session offline list"
msgstr "离线会话"
#: terminal/views/terminal.py:32
#: terminal/views/terminal.py:32
msgid "Terminal list"
msgid "Terminal list"
msgstr "终端列表"
msgstr "终端列表"
...
...
apps/perms/forms.py
View file @
720dc9ab
...
@@ -15,7 +15,8 @@ class AssetPermissionForm(forms.ModelForm):
...
@@ -15,7 +15,8 @@ class AssetPermissionForm(forms.ModelForm):
widget
=
forms
.
SelectMultiple
(
widget
=
forms
.
SelectMultiple
(
attrs
=
{
'class'
:
'select2'
,
'data-placeholder'
:
_
(
'Select users'
)},
attrs
=
{
'class'
:
'select2'
,
'data-placeholder'
:
_
(
'Select users'
)},
),
),
label
=
_
(
"User"
)
label
=
_
(
"User"
),
required
=
False
,
)
)
class
Meta
:
class
Meta
:
...
@@ -41,35 +42,54 @@ class AssetPermissionForm(forms.ModelForm):
...
@@ -41,35 +42,54 @@ class AssetPermissionForm(forms.ModelForm):
help_texts
=
{
help_texts
=
{
'name'
:
'* required'
,
'name'
:
'* required'
,
'system_users'
:
'* required'
,
'system_users'
:
'* required'
,
'user_groups'
:
_
(
'User or user group at least one required'
),
'asset_groups'
:
_
(
'Asset or Asset group at least one required'
),
}
}
def
clean_user_groups
(
self
):
users
=
self
.
cleaned_data
.
get
(
'users'
)
user_groups
=
self
.
cleaned_data
.
get
(
'user_groups'
)
if
not
users
and
not
user_groups
:
raise
forms
.
ValidationError
(
_
(
"User or group at least one required"
))
return
self
.
cleaned_data
[
"user_groups"
]
def
clean_asset_groups
(
self
):
assets
=
self
.
cleaned_data
.
get
(
'assets'
)
asset_groups
=
self
.
cleaned_data
.
get
(
'asset_groups'
)
if
not
assets
and
not
asset_groups
:
raise
forms
.
ValidationError
(
_
(
"Asset or group at least one required"
))
return
self
.
cleaned_data
[
"asset_groups"
]
def
clean_system_users
(
self
):
def
clean_system_users
(
self
):
from
assets.utils
import
check_assets_have_system_user
from
assets.utils
import
check_assets_have_system_user
errors
=
[]
errors
=
[]
assets
=
self
.
cleaned_data
[
'assets'
]
assets
=
self
.
cleaned_data
[
'assets'
]
asset_groups
=
self
.
cleaned_data
[
'asset_groups'
]
asset_groups
=
self
.
cleaned_data
.
get
(
'asset_groups'
)
system_users
=
self
.
cleaned_data
[
'system_users'
]
system_users
=
self
.
cleaned_data
.
get
(
'system_users'
)
if
not
asset_groups
and
not
assets
:
return
self
.
cleaned_data
.
get
(
"system_users"
)
error_data
=
check_assets_have_system_user
(
assets
,
system_users
)
error_data
=
check_assets_have_system_user
(
assets
,
system_users
)
if
error_data
:
if
error_data
:
for
asset
,
system_users
in
error_data
.
items
():
for
asset
,
system_users
in
error_data
.
items
():
msg
=
_
(
"Asset {} not have [{}] system users, please check
\n
"
)
msg
=
_
(
"Asset {}
of cluster {}
not have [{}] system users, please check
\n
"
)
error
=
forms
.
ValidationError
(
msg
.
format
(
error
=
forms
.
ValidationError
(
msg
.
format
(
asset
.
hostname
,
asset
.
hostname
,
asset
.
cluster
.
name
,
", "
.
join
(
system_user
.
name
for
system_user
in
system_users
)
", "
.
join
(
system_user
.
name
for
system_user
in
system_users
)
))
))
errors
.
append
(
error
)
errors
.
append
(
error
)
for
group
in
asset_groups
:
for
group
in
asset_groups
:
msg
=
_
(
"Asset {}
: {} not have [{}] system users, please check
"
)
msg
=
_
(
"Asset {}
(group {}) of cluster {} not have [{}] system users, please check
\n
"
)
assets
=
group
.
assets
.
all
()
assets
=
group
.
assets
.
all
()
error_data
=
check_assets_have_system_user
(
assets
,
system_users
)
error_data
=
check_assets_have_system_user
(
assets
,
system_users
)
for
asset
,
system_users
in
error_data
.
items
():
for
asset
,
system_users
in
error_data
.
items
():
errors
.
append
(
msg
.
format
(
errors
.
append
(
msg
.
format
(
group
.
name
,
asset
.
host
name
,
asset
.
hostname
,
group
.
name
,
asset
.
cluster
.
name
,
", "
.
join
(
system_user
.
name
for
system_user
in
system_users
)
", "
.
join
(
system_user
.
name
for
system_user
in
system_users
)
))
))
if
errors
:
if
errors
:
...
...
apps/templates/_header_bar.html
View file @
720dc9ab
...
@@ -3,11 +3,11 @@
...
@@ -3,11 +3,11 @@
<nav
class=
"navbar navbar-static-top white-bg"
role=
"navigation"
style=
"margin-bottom: 0"
>
<nav
class=
"navbar navbar-static-top white-bg"
role=
"navigation"
style=
"margin-bottom: 0"
>
<div
class=
"navbar-header"
>
<div
class=
"navbar-header"
>
<a
class=
"navbar-minimalize minimalize-styl-2 btn btn-primary "
href=
"#"
><i
class=
"fa fa-bars"
></i>
</a>
<a
class=
"navbar-minimalize minimalize-styl-2 btn btn-primary "
href=
"#"
><i
class=
"fa fa-bars"
></i>
</a>
<
form
role=
"search"
class=
"navbar-form-custom"
method=
"get"
action=
""
>
<
!--<form role="search" class="navbar-form-custom" method="get" action="">--
>
<
div
class=
"form-group"
>
<
!--<div class="form-group">--
>
<
input
type=
"text"
placeholder=
"{% trans 'Search' %}..."
class=
"form-control"
name=
"search"
id=
"top-search"
>
<
!--<input type="text" placeholder="{% trans 'Search' %}..." class="form-control" name="search" id="top-search">--
>
<
/div
>
<
!--</div>--
>
<
/form
>
<
!--</form>--
>
</div>
</div>
<ul
class=
"nav navbar-top-links navbar-right"
>
<ul
class=
"nav navbar-top-links navbar-right"
>
<li>
<li>
...
...
apps/terminal/api.py
View file @
720dc9ab
...
@@ -165,7 +165,7 @@ class StatusViewSet(viewsets.ModelViewSet):
...
@@ -165,7 +165,7 @@ class StatusViewSet(viewsets.ModelViewSet):
class
SessionViewSet
(
viewsets
.
ModelViewSet
):
class
SessionViewSet
(
viewsets
.
ModelViewSet
):
queryset
=
Session
.
objects
.
all
()
queryset
=
Session
.
objects
.
all
()
serializer
s
_class
=
SessionSerializer
serializer_class
=
SessionSerializer
permission_classes
=
(
IsSuperUserOrAppUser
,)
permission_classes
=
(
IsSuperUserOrAppUser
,)
def
get_queryset
(
self
):
def
get_queryset
(
self
):
...
...
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