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
442d4e72
Unverified
Commit
442d4e72
authored
Jul 02, 2018
by
老广
Committed by
GitHub
Jul 02, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1492 from jumpserver/feature_telnet
[Feature] 添加功能,支持 telnet server.
parents
6fa0562d
39937975
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
131 additions
and
104 deletions
+131
-104
asset.py
apps/assets/forms/asset.py
+2
-2
user.py
apps/assets/forms/user.py
+2
-1
asset.py
apps/assets/models/asset.py
+14
-0
user.py
apps/assets/models/user.py
+2
-0
asset.py
apps/assets/serializers/asset.py
+1
-1
_system_user.html
apps/assets/templates/assets/_system_user.html
+9
-2
asset_create.html
apps/assets/templates/assets/asset_create.html
+6
-5
asset_update.html
apps/assets/templates/assets/asset_update.html
+1
-0
django.mo
apps/i18n/zh/LC_MESSAGES/django.mo
+0
-0
django.po
apps/i18n/zh/LC_MESSAGES/django.po
+90
-89
api.py
apps/perms/api.py
+4
-4
No files found.
apps/assets/forms/asset.py
View file @
442d4e72
...
@@ -16,7 +16,7 @@ class AssetCreateForm(forms.ModelForm):
...
@@ -16,7 +16,7 @@ class AssetCreateForm(forms.ModelForm):
fields
=
[
fields
=
[
'hostname'
,
'ip'
,
'public_ip'
,
'port'
,
'comment'
,
'hostname'
,
'ip'
,
'public_ip'
,
'port'
,
'comment'
,
'nodes'
,
'is_active'
,
'admin_user'
,
'labels'
,
'platform'
,
'nodes'
,
'is_active'
,
'admin_user'
,
'labels'
,
'platform'
,
'domain'
,
'domain'
,
'protocol'
,
]
]
widgets
=
{
widgets
=
{
...
@@ -56,7 +56,7 @@ class AssetUpdateForm(forms.ModelForm):
...
@@ -56,7 +56,7 @@ class AssetUpdateForm(forms.ModelForm):
fields
=
[
fields
=
[
'hostname'
,
'ip'
,
'port'
,
'nodes'
,
'is_active'
,
'platform'
,
'hostname'
,
'ip'
,
'port'
,
'nodes'
,
'is_active'
,
'platform'
,
'public_ip'
,
'number'
,
'comment'
,
'admin_user'
,
'labels'
,
'public_ip'
,
'number'
,
'comment'
,
'admin_user'
,
'labels'
,
'domain'
,
'domain'
,
'protocol'
,
]
]
widgets
=
{
widgets
=
{
'nodes'
:
forms
.
SelectMultiple
(
attrs
=
{
'nodes'
:
forms
.
SelectMultiple
(
attrs
=
{
...
...
apps/assets/forms/user.py
View file @
442d4e72
...
@@ -94,10 +94,11 @@ class SystemUserForm(PasswordAndKeyAuthForm):
...
@@ -94,10 +94,11 @@ class SystemUserForm(PasswordAndKeyAuthForm):
system_user
=
super
()
.
save
()
system_user
=
super
()
.
save
()
password
=
self
.
cleaned_data
.
get
(
'password'
,
''
)
or
None
password
=
self
.
cleaned_data
.
get
(
'password'
,
''
)
or
None
login_mode
=
self
.
cleaned_data
.
get
(
'login_mode'
,
''
)
or
None
login_mode
=
self
.
cleaned_data
.
get
(
'login_mode'
,
''
)
or
None
protocol
=
self
.
cleaned_data
.
get
(
'protocol'
)
or
None
auto_generate_key
=
self
.
cleaned_data
.
get
(
'auto_generate_key'
,
False
)
auto_generate_key
=
self
.
cleaned_data
.
get
(
'auto_generate_key'
,
False
)
private_key
,
public_key
=
super
()
.
gen_keys
()
private_key
,
public_key
=
super
()
.
gen_keys
()
if
login_mode
==
SystemUser
.
MANUAL_LOGIN
:
if
login_mode
==
SystemUser
.
MANUAL_LOGIN
or
protocol
==
SystemUser
.
TELNET_PROTOCOL
:
system_user
.
auto_push
=
0
system_user
.
auto_push
=
0
system_user
.
save
()
system_user
.
save
()
...
...
apps/assets/models/asset.py
View file @
442d4e72
...
@@ -57,13 +57,27 @@ class Asset(models.Model):
...
@@ -57,13 +57,27 @@ class Asset(models.Model):
(
'MacOS'
,
'MacOS'
),
(
'MacOS'
,
'MacOS'
),
(
'BSD'
,
'BSD'
),
(
'BSD'
,
'BSD'
),
(
'Windows'
,
'Windows'
),
(
'Windows'
,
'Windows'
),
(
'Windows2016'
,
'Windows(2016)'
),
(
'Other'
,
'Other'
),
(
'Other'
,
'Other'
),
)
)
SSH_PROTOCOL
=
'ssh'
RDP_PROTOCOL
=
'rdp'
TELNET_PROTOCOL
=
'telnet'
PROTOCOL_CHOICES
=
(
(
SSH_PROTOCOL
,
'ssh'
),
(
RDP_PROTOCOL
,
'rdp'
),
(
TELNET_PROTOCOL
,
'telnet (beta)'
),
)
id
=
models
.
UUIDField
(
default
=
uuid
.
uuid4
,
primary_key
=
True
)
id
=
models
.
UUIDField
(
default
=
uuid
.
uuid4
,
primary_key
=
True
)
ip
=
models
.
GenericIPAddressField
(
max_length
=
32
,
verbose_name
=
_
(
'IP'
),
ip
=
models
.
GenericIPAddressField
(
max_length
=
32
,
verbose_name
=
_
(
'IP'
),
db_index
=
True
)
db_index
=
True
)
hostname
=
models
.
CharField
(
max_length
=
128
,
unique
=
True
,
hostname
=
models
.
CharField
(
max_length
=
128
,
unique
=
True
,
verbose_name
=
_
(
'Hostname'
))
verbose_name
=
_
(
'Hostname'
))
protocol
=
models
.
CharField
(
max_length
=
128
,
default
=
SSH_PROTOCOL
,
choices
=
PROTOCOL_CHOICES
,
verbose_name
=
_
(
'Protocol'
))
port
=
models
.
IntegerField
(
default
=
22
,
verbose_name
=
_
(
'Port'
))
port
=
models
.
IntegerField
(
default
=
22
,
verbose_name
=
_
(
'Port'
))
platform
=
models
.
CharField
(
max_length
=
128
,
choices
=
PLATFORM_CHOICES
,
platform
=
models
.
CharField
(
max_length
=
128
,
choices
=
PLATFORM_CHOICES
,
default
=
'Linux'
,
verbose_name
=
_
(
'Platform'
))
default
=
'Linux'
,
verbose_name
=
_
(
'Platform'
))
...
...
apps/assets/models/user.py
View file @
442d4e72
...
@@ -95,9 +95,11 @@ class AdminUser(AssetUser):
...
@@ -95,9 +95,11 @@ class AdminUser(AssetUser):
class
SystemUser
(
AssetUser
):
class
SystemUser
(
AssetUser
):
SSH_PROTOCOL
=
'ssh'
SSH_PROTOCOL
=
'ssh'
RDP_PROTOCOL
=
'rdp'
RDP_PROTOCOL
=
'rdp'
TELNET_PROTOCOL
=
'telnet'
PROTOCOL_CHOICES
=
(
PROTOCOL_CHOICES
=
(
(
SSH_PROTOCOL
,
'ssh'
),
(
SSH_PROTOCOL
,
'ssh'
),
(
RDP_PROTOCOL
,
'rdp'
),
(
RDP_PROTOCOL
,
'rdp'
),
(
TELNET_PROTOCOL
,
'telnet (beta)'
),
)
)
AUTO_LOGIN
=
'auto'
AUTO_LOGIN
=
'auto'
...
...
apps/assets/serializers/asset.py
View file @
442d4e72
...
@@ -43,7 +43,7 @@ class AssetGrantedSerializer(serializers.ModelSerializer):
...
@@ -43,7 +43,7 @@ class AssetGrantedSerializer(serializers.ModelSerializer):
fields
=
(
fields
=
(
"id"
,
"hostname"
,
"ip"
,
"port"
,
"system_users_granted"
,
"id"
,
"hostname"
,
"ip"
,
"port"
,
"system_users_granted"
,
"is_active"
,
"system_users_join"
,
"os"
,
'domain'
,
"is_active"
,
"system_users_join"
,
"os"
,
'domain'
,
"platform"
,
"comment"
"platform"
,
"comment"
,
"protocol"
,
)
)
@staticmethod
@staticmethod
...
...
apps/assets/templates/assets/_system_user.html
View file @
442d4e72
...
@@ -104,7 +104,14 @@ function protocolChange() {
...
@@ -104,7 +104,14 @@ function protocolChange() {
$
.
each
(
need_change_field
,
function
(
index
,
value
)
{
$
.
each
(
need_change_field
,
function
(
index
,
value
)
{
$
(
value
).
closest
(
'.form-group'
).
addClass
(
'hidden'
)
$
(
value
).
closest
(
'.form-group'
).
addClass
(
'hidden'
)
});
});
}
else
{
}
else
if
(
$
(
protocol_id
+
" option:selected"
).
text
()
===
'telnet (beta)'
)
{
$
(
'.auth-fields'
).
removeClass
(
'hidden'
);
$
.
each
(
need_change_field
,
function
(
index
,
value
)
{
$
(
value
).
closest
(
'.form-group'
).
addClass
(
'hidden'
)
});
}
else
{
if
(
$
(
login_mode_id
).
val
()
===
'manual'
){
if
(
$
(
login_mode_id
).
val
()
===
'manual'
){
$
(
sudo_id
).
closest
(
'.form-group'
).
removeClass
(
'hidden'
);
$
(
sudo_id
).
closest
(
'.form-group'
).
removeClass
(
'hidden'
);
$
(
shell_id
).
closest
(
'.form-group'
).
removeClass
(
'hidden'
);
$
(
shell_id
).
closest
(
'.form-group'
).
removeClass
(
'hidden'
);
...
@@ -133,8 +140,8 @@ function loginModeChange(){
...
@@ -133,8 +140,8 @@ function loginModeChange(){
}
}
else
if
(
$
(
login_mode_id
).
val
()
===
'auto'
){
else
if
(
$
(
login_mode_id
).
val
()
===
'auto'
){
$
(
'#auth_title_id'
).
removeClass
(
'hidden'
);
$
(
'#auth_title_id'
).
removeClass
(
'hidden'
);
protocolChange
();
$
(
password_id
).
closest
(
'.form-group'
).
removeClass
(
'hidden'
)
$
(
password_id
).
closest
(
'.form-group'
).
removeClass
(
'hidden'
)
protocolChange
();
}
}
}
}
...
...
apps/assets/templates/assets/asset_create.html
View file @
442d4e72
...
@@ -17,6 +17,7 @@
...
@@ -17,6 +17,7 @@
{% bootstrap_field form.hostname layout="horizontal" %}
{% bootstrap_field form.hostname layout="horizontal" %}
{% bootstrap_field form.platform layout="horizontal" %}
{% bootstrap_field form.platform layout="horizontal" %}
{% bootstrap_field form.ip layout="horizontal" %}
{% bootstrap_field form.ip layout="horizontal" %}
{% bootstrap_field form.protocol layout="horizontal" %}
{% bootstrap_field form.port layout="horizontal" %}
{% bootstrap_field form.port layout="horizontal" %}
{% bootstrap_field form.public_ip layout="horizontal" %}
{% bootstrap_field form.public_ip layout="horizontal" %}
{% bootstrap_field form.domain layout="horizontal" %}
{% bootstrap_field form.domain layout="horizontal" %}
...
@@ -85,14 +86,14 @@ $(document).ready(function () {
...
@@ -85,14 +86,14 @@ $(document).ready(function () {
allowClear
:
true
,
allowClear
:
true
,
templateSelection
:
format
templateSelection
:
format
});
});
$
(
"#id_p
latform
"
).
change
(
function
(){
$
(
"#id_p
rotocol
"
).
change
(
function
(){
var
p
latform
=
$
(
"#id_platform
option:selected"
).
text
();
var
p
rotocol
=
$
(
"#id_protocol
option:selected"
).
text
();
var
port
=
22
;
var
port
=
22
;
if
(
p
latform
===
'Windows
'
){
if
(
p
rotocol
===
'rdp
'
){
port
=
3389
;
port
=
3389
;
}
}
if
(
p
latform
===
'Other
'
){
if
(
p
rotocol
===
'telnet (beta)
'
){
port
=
null
;
port
=
23
;
}
}
$
(
"#id_port"
).
val
(
port
);
$
(
"#id_port"
).
val
(
port
);
});
});
...
...
apps/assets/templates/assets/asset_update.html
View file @
442d4e72
...
@@ -21,6 +21,7 @@
...
@@ -21,6 +21,7 @@
<h3>
{% trans 'Basic' %}
</h3>
<h3>
{% trans 'Basic' %}
</h3>
{% bootstrap_field form.hostname layout="horizontal" %}
{% bootstrap_field form.hostname layout="horizontal" %}
{% bootstrap_field form.ip layout="horizontal" %}
{% bootstrap_field form.ip layout="horizontal" %}
{% bootstrap_field form.protocol layout="horizontal" %}
{% bootstrap_field form.port layout="horizontal" %}
{% bootstrap_field form.port layout="horizontal" %}
{% bootstrap_field form.platform layout="horizontal" %}
{% bootstrap_field form.platform layout="horizontal" %}
{% bootstrap_field form.public_ip layout="horizontal" %}
{% bootstrap_field form.public_ip layout="horizontal" %}
...
...
apps/i18n/zh/LC_MESSAGES/django.mo
View file @
442d4e72
No preview for this file type
apps/i18n/zh/LC_MESSAGES/django.po
View file @
442d4e72
...
@@ -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-06-
11 13:36
+0800\n"
"POT-Creation-Date: 2018-06-
25 12:19
+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"
...
@@ -29,7 +29,7 @@ msgstr ""
...
@@ -29,7 +29,7 @@ msgstr ""
msgid "测试节点下资产是否可连接: {}"
msgid "测试节点下资产是否可连接: {}"
msgstr ""
msgstr ""
#: assets/forms/asset.py:24 assets/models/asset.py:
75 assets/models/user.py:110
#: assets/forms/asset.py:24 assets/models/asset.py:
89 assets/models/user.py:112
#: assets/templates/assets/asset_detail.html:183
#: assets/templates/assets/asset_detail.html:183
#: assets/templates/assets/asset_detail.html:191
#: assets/templates/assets/asset_detail.html:191
#: assets/templates/assets/system_user_detail.html:179 perms/models.py:33
#: assets/templates/assets/system_user_detail.html:179 perms/models.py:33
...
@@ -37,30 +37,30 @@ msgid "Nodes"
...
@@ -37,30 +37,30 @@ msgid "Nodes"
msgstr "节点管理"
msgstr "节点管理"
#: assets/forms/asset.py:27 assets/forms/asset.py:66 assets/forms/asset.py:109
#: assets/forms/asset.py:27 assets/forms/asset.py:66 assets/forms/asset.py:109
#: assets/forms/asset.py:113 assets/models/asset.py:
80
#: assets/forms/asset.py:113 assets/models/asset.py:
94
#: assets/models/cluster.py:19 assets/models/user.py:72
#: assets/models/cluster.py:19 assets/models/user.py:72
#: assets/templates/assets/asset_detail.html:73 templates/_nav.html:25
#: assets/templates/assets/asset_detail.html:73 templates/_nav.html:25
msgid "Admin user"
msgid "Admin user"
msgstr "管理用户"
msgstr "管理用户"
#: assets/forms/asset.py:30 assets/forms/asset.py:69 assets/forms/asset.py:125
#: assets/forms/asset.py:30 assets/forms/asset.py:69 assets/forms/asset.py:125
#: assets/templates/assets/asset_create.html:3
5
#: assets/templates/assets/asset_create.html:3
6
#: assets/templates/assets/asset_create.html:3
7
#: assets/templates/assets/asset_create.html:3
8
#: assets/templates/assets/asset_list.html:75
#: assets/templates/assets/asset_list.html:75
#: assets/templates/assets/asset_update.html:4
0
#: assets/templates/assets/asset_update.html:4
1
#: assets/templates/assets/asset_update.html:4
2
#: assets/templates/assets/asset_update.html:4
3
#: assets/templates/assets/user_asset_list.html:34
#: assets/templates/assets/user_asset_list.html:34
msgid "Label"
msgid "Label"
msgstr "标签"
msgstr "标签"
#: assets/forms/asset.py:34 assets/forms/asset.py:73 assets/models/asset.py:
71
#: assets/forms/asset.py:34 assets/forms/asset.py:73 assets/models/asset.py:
85
#: assets/models/domain.py:46
#: assets/models/domain.py:46
msgid "Domain"
msgid "Domain"
msgstr "网域"
msgstr "网域"
#: assets/forms/asset.py:38 assets/forms/asset.py:63 assets/forms/asset.py:77
#: assets/forms/asset.py:38 assets/forms/asset.py:63 assets/forms/asset.py:77
#: assets/forms/asset.py:128 assets/templates/assets/asset_create.html:
29
#: assets/forms/asset.py:128 assets/templates/assets/asset_create.html:
30
#: assets/templates/assets/asset_update.html:3
4
perms/forms.py:40
#: assets/templates/assets/asset_update.html:3
5
perms/forms.py:40
#: perms/forms.py:47 perms/models.py:76
#: perms/forms.py:47 perms/models.py:76
#: perms/templates/perms/asset_permission_list.html:57
#: perms/templates/perms/asset_permission_list.html:57
#: perms/templates/perms/asset_permission_list.html:142
#: perms/templates/perms/asset_permission_list.html:142
...
@@ -90,7 +90,7 @@ msgstr "如果有多个的互相隔离的网络,设置资产属于的网域,
...
@@ -90,7 +90,7 @@ msgstr "如果有多个的互相隔离的网络,设置资产属于的网域,
msgid "Select assets"
msgid "Select assets"
msgstr "选择资产"
msgstr "选择资产"
#: assets/forms/asset.py:105 assets/models/asset.py:
67
#: assets/forms/asset.py:105 assets/models/asset.py:
81
#: assets/models/domain.py:44 assets/templates/assets/admin_user_assets.html:53
#: assets/models/domain.py:44 assets/templates/assets/admin_user_assets.html:53
#: assets/templates/assets/asset_detail.html:69
#: assets/templates/assets/asset_detail.html:69
#: assets/templates/assets/domain_gateway_list.html:58
#: assets/templates/assets/domain_gateway_list.html:58
...
@@ -99,7 +99,7 @@ msgid "Port"
...
@@ -99,7 +99,7 @@ msgid "Port"
msgstr "端口"
msgstr "端口"
#: assets/forms/domain.py:14 assets/forms/label.py:13
#: assets/forms/domain.py:14 assets/forms/label.py:13
#: assets/models/asset.py:2
23
assets/templates/assets/admin_user_list.html:25
#: assets/models/asset.py:2
37
assets/templates/assets/admin_user_list.html:25
#: assets/templates/assets/domain_detail.html:60
#: assets/templates/assets/domain_detail.html:60
#: assets/templates/assets/domain_list.html:15
#: assets/templates/assets/domain_list.html:15
#: assets/templates/assets/label_list.html:16
#: assets/templates/assets/label_list.html:16
...
@@ -118,7 +118,7 @@ msgstr "端口"
...
@@ -118,7 +118,7 @@ msgstr "端口"
msgid "Asset"
msgid "Asset"
msgstr "资产"
msgstr "资产"
#: assets/forms/domain.py:54 assets/forms/user.py:79 assets/forms/user.py:13
1
#: assets/forms/domain.py:54 assets/forms/user.py:79 assets/forms/user.py:13
8
#: assets/models/base.py:21 assets/models/cluster.py:18
#: assets/models/base.py:21 assets/models/cluster.py:18
#: assets/models/domain.py:17 assets/models/group.py:20
#: assets/models/domain.py:17 assets/models/group.py:20
#: assets/models/label.py:17 assets/templates/assets/admin_user_detail.html:56
#: assets/models/label.py:17 assets/templates/assets/admin_user_detail.html:56
...
@@ -147,7 +147,7 @@ msgstr "资产"
...
@@ -147,7 +147,7 @@ msgstr "资产"
msgid "Name"
msgid "Name"
msgstr "名称"
msgstr "名称"
#: assets/forms/domain.py:55 assets/forms/user.py:80 assets/forms/user.py:13
2
#: assets/forms/domain.py:55 assets/forms/user.py:80 assets/forms/user.py:13
9
#: assets/models/base.py:22 assets/templates/assets/admin_user_detail.html:60
#: assets/models/base.py:22 assets/templates/assets/admin_user_detail.html:60
#: assets/templates/assets/admin_user_list.html:24
#: assets/templates/assets/admin_user_list.html:24
#: assets/templates/assets/domain_gateway_list.html:60
#: assets/templates/assets/domain_gateway_list.html:60
...
@@ -192,27 +192,27 @@ msgstr "ssh密钥不合法"
...
@@ -192,27 +192,27 @@ msgstr "ssh密钥不合法"
msgid "Password and private key file must be input one"
msgid "Password and private key file must be input one"
msgstr "密码和私钥, 必须输入一个"
msgstr "密码和私钥, 必须输入一个"
#: assets/forms/user.py:1
18
#: assets/forms/user.py:1
24
msgid "* Automatic login mode, must fill in the username."
msgid "* Automatic login mode, must fill in the username."
msgstr "自动登录模式,必须填写用户名"
msgstr "自动登录模式,必须填写用户名"
#: assets/forms/user.py:1
37
#: assets/forms/user.py:1
44
msgid "Auto push system user to asset"
msgid "Auto push system user to asset"
msgstr "自动推送系统用户到资产"
msgstr "自动推送系统用户到资产"
#: assets/forms/user.py:1
38
#: assets/forms/user.py:1
45
msgid ""
msgid ""
"High level will be using login asset as default, if user was granted more "
"High level will be using login asset as default, if user was granted more "
"than 2 system user"
"than 2 system user"
msgstr "高优先级的系统用户将会作为默认登录用户"
msgstr "高优先级的系统用户将会作为默认登录用户"
#: assets/forms/user.py:1
39
#: assets/forms/user.py:1
47
msgid ""
msgid ""
"If you choose manual login mode, you do not need to fill in the username and "
"If you choose manual login mode, you do not need to fill in the username and "
"password."
"password."
msgstr "如果选择手动登录模式,用户名和密码则不需要填写"
msgstr "如果选择手动登录模式,用户名和密码则不需要填写"
#: assets/models/asset.py:
63
assets/models/domain.py:43
#: assets/models/asset.py:
74
assets/models/domain.py:43
#: assets/templates/assets/_asset_list_modal.html:46
#: assets/templates/assets/_asset_list_modal.html:46
#: assets/templates/assets/admin_user_assets.html:52
#: assets/templates/assets/admin_user_assets.html:52
#: assets/templates/assets/asset_detail.html:61
#: assets/templates/assets/asset_detail.html:61
...
@@ -227,7 +227,7 @@ msgstr "如果选择手动登录模式,用户名和密码则不需要填写"
...
@@ -227,7 +227,7 @@ msgstr "如果选择手动登录模式,用户名和密码则不需要填写"
msgid "IP"
msgid "IP"
msgstr "IP"
msgstr "IP"
#: assets/models/asset.py:
66
assets/templates/assets/_asset_list_modal.html:45
#: assets/models/asset.py:
77
assets/templates/assets/_asset_list_modal.html:45
#: assets/templates/assets/admin_user_assets.html:51
#: assets/templates/assets/admin_user_assets.html:51
#: assets/templates/assets/asset_detail.html:57
#: assets/templates/assets/asset_detail.html:57
#: assets/templates/assets/asset_list.html:86
#: assets/templates/assets/asset_list.html:86
...
@@ -239,82 +239,91 @@ msgstr "IP"
...
@@ -239,82 +239,91 @@ msgstr "IP"
msgid "Hostname"
msgid "Hostname"
msgstr "主机名"
msgstr "主机名"
#: assets/models/asset.py:69 assets/templates/assets/asset_detail.html:97
#: assets/models/asset.py:80 assets/models/domain.py:45
#: assets/models/user.py:115
#: assets/templates/assets/domain_gateway_list.html:59
#: assets/templates/assets/system_user_detail.html:70
#: assets/templates/assets/system_user_list.html:28
#: terminal/templates/terminal/session_list.html:75
msgid "Protocol"
msgstr "协议"
#: assets/models/asset.py:83 assets/templates/assets/asset_detail.html:97
msgid "Platform"
msgid "Platform"
msgstr "系统平台"
msgstr "系统平台"
#: assets/models/asset.py:
76
assets/models/domain.py:48
#: assets/models/asset.py:
90
assets/models/domain.py:48
#: assets/models/label.py:20 assets/templates/assets/asset_detail.html:105
#: assets/models/label.py:20 assets/templates/assets/asset_detail.html:105
msgid "Is active"
msgid "Is active"
msgstr "激活"
msgstr "激活"
#: assets/models/asset.py:
85
assets/templates/assets/asset_detail.html:65
#: assets/models/asset.py:
99
assets/templates/assets/asset_detail.html:65
msgid "Public IP"
msgid "Public IP"
msgstr "公网IP"
msgstr "公网IP"
#: assets/models/asset.py:
87
assets/templates/assets/asset_detail.html:113
#: assets/models/asset.py:
101
assets/templates/assets/asset_detail.html:113
msgid "Asset number"
msgid "Asset number"
msgstr "资产编号"
msgstr "资产编号"
#: assets/models/asset.py:
91
assets/templates/assets/asset_detail.html:77
#: assets/models/asset.py:
105
assets/templates/assets/asset_detail.html:77
msgid "Vendor"
msgid "Vendor"
msgstr "制造商"
msgstr "制造商"
#: assets/models/asset.py:
93
assets/templates/assets/asset_detail.html:81
#: assets/models/asset.py:
107
assets/templates/assets/asset_detail.html:81
msgid "Model"
msgid "Model"
msgstr "型号"
msgstr "型号"
#: assets/models/asset.py:
95
assets/templates/assets/asset_detail.html:109
#: assets/models/asset.py:
109
assets/templates/assets/asset_detail.html:109
msgid "Serial number"
msgid "Serial number"
msgstr "序列号"
msgstr "序列号"
#: assets/models/asset.py:
98
#: assets/models/asset.py:
112
msgid "CPU model"
msgid "CPU model"
msgstr "CPU型号"
msgstr "CPU型号"
#: assets/models/asset.py:
99
#: assets/models/asset.py:
113
msgid "CPU count"
msgid "CPU count"
msgstr "CPU数量"
msgstr "CPU数量"
#: assets/models/asset.py:1
00
#: assets/models/asset.py:1
14
msgid "CPU cores"
msgid "CPU cores"
msgstr "CPU核数"
msgstr "CPU核数"
#: assets/models/asset.py:1
02
assets/templates/assets/asset_detail.html:89
#: assets/models/asset.py:1
16
assets/templates/assets/asset_detail.html:89
msgid "Memory"
msgid "Memory"
msgstr "内存"
msgstr "内存"
#: assets/models/asset.py:1
04
#: assets/models/asset.py:1
18
msgid "Disk total"
msgid "Disk total"
msgstr "硬盘大小"
msgstr "硬盘大小"
#: assets/models/asset.py:1
06
#: assets/models/asset.py:1
20
msgid "Disk info"
msgid "Disk info"
msgstr "硬盘信息"
msgstr "硬盘信息"
#: assets/models/asset.py:1
09
assets/templates/assets/asset_detail.html:101
#: assets/models/asset.py:1
23
assets/templates/assets/asset_detail.html:101
msgid "OS"
msgid "OS"
msgstr "操作系统"
msgstr "操作系统"
#: assets/models/asset.py:1
11
#: assets/models/asset.py:1
25
msgid "OS version"
msgid "OS version"
msgstr "系统版本"
msgstr "系统版本"
#: assets/models/asset.py:1
13
#: assets/models/asset.py:1
27
msgid "OS arch"
msgid "OS arch"
msgstr "系统架构"
msgstr "系统架构"
#: assets/models/asset.py:1
15
#: assets/models/asset.py:1
29
msgid "Hostname raw"
msgid "Hostname raw"
msgstr "主机名原始"
msgstr "主机名原始"
#: assets/models/asset.py:1
19 assets/templates/assets/asset_create.html:33
#: assets/models/asset.py:1
33 assets/templates/assets/asset_create.html:34
#: assets/templates/assets/asset_detail.html:220
#: assets/templates/assets/asset_detail.html:220
#: assets/templates/assets/asset_update.html:3
8
templates/_nav.html:27
#: assets/templates/assets/asset_update.html:3
9
templates/_nav.html:27
msgid "Labels"
msgid "Labels"
msgstr "标签管理"
msgstr "标签管理"
#: assets/models/asset.py:1
21
assets/models/base.py:29
#: assets/models/asset.py:1
35
assets/models/base.py:29
#: assets/models/cluster.py:28 assets/models/group.py:21
#: assets/models/cluster.py:28 assets/models/group.py:21
#: assets/templates/assets/admin_user_detail.html:68
#: assets/templates/assets/admin_user_detail.html:68
#: assets/templates/assets/asset_detail.html:117
#: assets/templates/assets/asset_detail.html:117
...
@@ -326,7 +335,7 @@ msgstr "标签管理"
...
@@ -326,7 +335,7 @@ msgstr "标签管理"
msgid "Created by"
msgid "Created by"
msgstr "创建者"
msgstr "创建者"
#: assets/models/asset.py:1
24
assets/models/cluster.py:26
#: assets/models/asset.py:1
38
assets/models/cluster.py:26
#: assets/models/domain.py:20 assets/models/group.py:22
#: assets/models/domain.py:20 assets/models/group.py:22
#: assets/models/label.py:23 assets/templates/assets/admin_user_detail.html:64
#: assets/models/label.py:23 assets/templates/assets/admin_user_detail.html:64
#: assets/templates/assets/domain_detail.html:68
#: assets/templates/assets/domain_detail.html:68
...
@@ -339,7 +348,7 @@ msgstr "创建者"
...
@@ -339,7 +348,7 @@ msgstr "创建者"
msgid "Date created"
msgid "Date created"
msgstr "创建日期"
msgstr "创建日期"
#: assets/models/asset.py:1
26
assets/models/base.py:26
#: assets/models/asset.py:1
40
assets/models/base.py:26
#: assets/models/cluster.py:29 assets/models/domain.py:18
#: assets/models/cluster.py:29 assets/models/domain.py:18
#: assets/models/domain.py:47 assets/models/group.py:23
#: assets/models/domain.py:47 assets/models/group.py:23
#: assets/models/label.py:21 assets/templates/assets/admin_user_detail.html:72
#: assets/models/label.py:21 assets/templates/assets/admin_user_detail.html:72
...
@@ -414,14 +423,6 @@ msgstr "默认Cluster"
...
@@ -414,14 +423,6 @@ msgstr "默认Cluster"
msgid "Cluster"
msgid "Cluster"
msgstr "集群"
msgstr "集群"
#: assets/models/domain.py:45 assets/models/user.py:113
#: assets/templates/assets/domain_gateway_list.html:59
#: assets/templates/assets/system_user_detail.html:70
#: assets/templates/assets/system_user_list.html:28
#: terminal/templates/terminal/session_list.html:75
msgid "Protocol"
msgstr "协议"
#: assets/models/group.py:30
#: assets/models/group.py:30
msgid "Asset group"
msgid "Asset group"
msgstr "资产组"
msgstr "资产组"
...
@@ -444,7 +445,7 @@ msgstr "默认资产组"
...
@@ -444,7 +445,7 @@ msgstr "默认资产组"
#: terminal/templates/terminal/session_list.html:71 users/forms.py:282
#: terminal/templates/terminal/session_list.html:71 users/forms.py:282
#: users/models/user.py:31 users/models/user.py:333
#: users/models/user.py:31 users/models/user.py:333
#: users/templates/users/user_group_detail.html:78
#: users/templates/users/user_group_detail.html:78
#: users/templates/users/user_group_list.html:13 users/views/user.py:3
59
#: users/templates/users/user_group_list.html:13 users/views/user.py:3
61
msgid "User"
msgid "User"
msgstr "用户"
msgstr "用户"
...
@@ -461,15 +462,15 @@ msgstr "分类"
...
@@ -461,15 +462,15 @@ msgstr "分类"
msgid "Key"
msgid "Key"
msgstr ""
msgstr ""
#: assets/models/user.py:10
6
#: assets/models/user.py:10
8
msgid "Automatic login"
msgid "Automatic login"
msgstr "自动登录"
msgstr "自动登录"
#: assets/models/user.py:10
7
#: assets/models/user.py:10
9
msgid "Manually login"
msgid "Manually login"
msgstr "手动登录"
msgstr "手动登录"
#: assets/models/user.py:11
1
#: assets/models/user.py:11
3
#: assets/templates/assets/_asset_group_bulk_update_modal.html:11
#: assets/templates/assets/_asset_group_bulk_update_modal.html:11
#: assets/templates/assets/system_user_asset.html:21
#: assets/templates/assets/system_user_asset.html:21
#: assets/views/admin_user.py:29 assets/views/admin_user.py:47
#: assets/views/admin_user.py:29 assets/views/admin_user.py:47
...
@@ -487,30 +488,30 @@ msgstr "手动登录"
...
@@ -487,30 +488,30 @@ msgstr "手动登录"
msgid "Assets"
msgid "Assets"
msgstr "资产管理"
msgstr "资产管理"
#: assets/models/user.py:11
2
#: assets/models/user.py:11
4
msgid "Priority"
msgid "Priority"
msgstr "优先级"
msgstr "优先级"
#: assets/models/user.py:11
4
assets/templates/assets/_system_user.html:59
#: assets/models/user.py:11
6
assets/templates/assets/_system_user.html:59
#: assets/templates/assets/system_user_detail.html:122
#: assets/templates/assets/system_user_detail.html:122
#: assets/templates/assets/system_user_update.html:10
#: assets/templates/assets/system_user_update.html:10
msgid "Auto push"
msgid "Auto push"
msgstr "自动推送"
msgstr "自动推送"
#: assets/models/user.py:11
5
assets/templates/assets/system_user_detail.html:74
#: assets/models/user.py:11
7
assets/templates/assets/system_user_detail.html:74
msgid "Sudo"
msgid "Sudo"
msgstr "Sudo"
msgstr "Sudo"
#: assets/models/user.py:11
6
assets/templates/assets/system_user_detail.html:79
#: assets/models/user.py:11
8
assets/templates/assets/system_user_detail.html:79
msgid "Shell"
msgid "Shell"
msgstr "Shell"
msgstr "Shell"
#: assets/models/user.py:11
7
assets/templates/assets/system_user_detail.html:66
#: assets/models/user.py:11
9
assets/templates/assets/system_user_detail.html:66
#: assets/templates/assets/system_user_list.html:29
#: assets/templates/assets/system_user_list.html:29
msgid "Login mode"
msgid "Login mode"
msgstr "登录模式"
msgstr "登录模式"
#: assets/models/user.py:15
7
audits/models.py:12
#: assets/models/user.py:15
9
audits/models.py:12
#: audits/templates/audits/ftp_log_list.html:49
#: audits/templates/audits/ftp_log_list.html:49
#: audits/templates/audits/ftp_log_list.html:73 perms/forms.py:43
#: audits/templates/audits/ftp_log_list.html:73 perms/forms.py:43
#: perms/models.py:34 perms/models.py:78
#: perms/models.py:34 perms/models.py:78
...
@@ -624,8 +625,8 @@ msgid "Basic"
...
@@ -624,8 +625,8 @@ msgid "Basic"
msgstr "基本"
msgstr "基本"
#: assets/templates/assets/_system_user.html:44
#: assets/templates/assets/_system_user.html:44
#: assets/templates/assets/asset_create.html:2
5
#: assets/templates/assets/asset_create.html:2
6
#: assets/templates/assets/asset_update.html:3
0
#: assets/templates/assets/asset_update.html:3
1
#: assets/templates/assets/gateway_create_update.html:45
#: assets/templates/assets/gateway_create_update.html:45
#: users/templates/users/_user.html:21
#: users/templates/users/_user.html:21
msgid "Auth"
msgid "Auth"
...
@@ -636,8 +637,8 @@ msgid "Auto generate key"
...
@@ -636,8 +637,8 @@ msgid "Auto generate key"
msgstr "自动生成密钥"
msgstr "自动生成密钥"
#: assets/templates/assets/_system_user.html:65
#: assets/templates/assets/_system_user.html:65
#: assets/templates/assets/asset_create.html:
59
#: assets/templates/assets/asset_create.html:
60
#: assets/templates/assets/asset_update.html:6
3
#: assets/templates/assets/asset_update.html:6
4
#: assets/templates/assets/gateway_create_update.html:53
#: assets/templates/assets/gateway_create_update.html:53
#: perms/templates/perms/asset_permission_create_update.html:45
#: perms/templates/perms/asset_permission_create_update.html:45
#: terminal/templates/terminal/terminal_update.html:42
#: terminal/templates/terminal/terminal_update.html:42
...
@@ -647,8 +648,8 @@ msgstr "其它"
...
@@ -647,8 +648,8 @@ msgstr "其它"
#: assets/templates/assets/_system_user.html:71
#: assets/templates/assets/_system_user.html:71
#: assets/templates/assets/admin_user_create_update.html:45
#: assets/templates/assets/admin_user_create_update.html:45
#: assets/templates/assets/asset_bulk_update.html:23
#: assets/templates/assets/asset_bulk_update.html:23
#: assets/templates/assets/asset_create.html:6
6
#: assets/templates/assets/asset_create.html:6
7
#: assets/templates/assets/asset_update.html:7
0
#: assets/templates/assets/asset_update.html:7
1
#: assets/templates/assets/domain_create_update.html:16
#: assets/templates/assets/domain_create_update.html:16
#: assets/templates/assets/gateway_create_update.html:58
#: assets/templates/assets/gateway_create_update.html:58
#: assets/templates/assets/label_create_update.html:18
#: assets/templates/assets/label_create_update.html:18
...
@@ -672,9 +673,9 @@ msgstr "重置"
...
@@ -672,9 +673,9 @@ msgstr "重置"
#: assets/templates/assets/_system_user.html:72
#: assets/templates/assets/_system_user.html:72
#: 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:6
7
#: assets/templates/assets/asset_create.html:6
8
#: assets/templates/assets/asset_list.html:108
#: assets/templates/assets/asset_list.html:108
#: assets/templates/assets/asset_update.html:7
1
#: assets/templates/assets/asset_update.html:7
2
#: assets/templates/assets/domain_create_update.html:17
#: assets/templates/assets/domain_create_update.html:17
#: assets/templates/assets/gateway_create_update.html:59
#: assets/templates/assets/gateway_create_update.html:59
#: assets/templates/assets/label_create_update.html:19
#: assets/templates/assets/label_create_update.html:19
...
@@ -1025,7 +1026,7 @@ msgstr "删除"
...
@@ -1025,7 +1026,7 @@ msgstr "删除"
msgid "Asset Deleting failed."
msgid "Asset Deleting failed."
msgstr "删除失败"
msgstr "删除失败"
#: assets/templates/assets/asset_update.html:
59
#: assets/templates/assets/asset_update.html:
60
msgid "Configuration"
msgid "Configuration"
msgstr "配置"
msgstr "配置"
...
@@ -1987,7 +1988,7 @@ msgstr "文档"
...
@@ -1987,7 +1988,7 @@ msgstr "文档"
#: users/templates/users/user_profile.html:17
#: users/templates/users/user_profile.html:17
#: users/templates/users/user_profile_update.html:37
#: users/templates/users/user_profile_update.html:37
#: users/templates/users/user_profile_update.html:57
#: users/templates/users/user_profile_update.html:57
#: users/templates/users/user_pubkey_update.html:37 users/views/user.py:34
1
#: users/templates/users/user_pubkey_update.html:37 users/views/user.py:34
3
msgid "Profile"
msgid "Profile"
msgstr "个人信息"
msgstr "个人信息"
...
@@ -2045,8 +2046,8 @@ msgstr "关闭"
...
@@ -2045,8 +2046,8 @@ msgstr "关闭"
#: templates/_nav.html:10 users/views/group.py:28 users/views/group.py:44
#: templates/_nav.html:10 users/views/group.py:28 users/views/group.py:44
#: users/views/group.py:62 users/views/group.py:79 users/views/group.py:95
#: users/views/group.py:62 users/views/group.py:79 users/views/group.py:95
#: users/views/login.py:277 users/views/login.py:335 users/views/user.py:65
#: users/views/login.py:277 users/views/login.py:335 users/views/user.py:65
#: users/views/user.py:80 users/views/user.py:102 users/views/user.py:17
3
#: users/views/user.py:80 users/views/user.py:102 users/views/user.py:17
5
#: users/views/user.py:3
28 users/views/user.py:378 users/views/user.py:413
#: users/views/user.py:3
30 users/views/user.py:380 users/views/user.py:415
msgid "Users"
msgid "Users"
msgstr "用户管理"
msgstr "用户管理"
...
@@ -2680,7 +2681,7 @@ msgid "Reset link will be generated and sent to the user. "
...
@@ -2680,7 +2681,7 @@ msgid "Reset link will be generated and sent to the user. "
msgstr "生成重置密码连接,通过邮件发送给用户"
msgstr "生成重置密码连接,通过邮件发送给用户"
#: users/templates/users/user_detail.html:19
#: users/templates/users/user_detail.html:19
#: users/templates/users/user_granted_asset.html:18 users/views/user.py:17
4
#: users/templates/users/user_granted_asset.html:18 users/views/user.py:17
6
msgid "User detail"
msgid "User detail"
msgstr "用户详情"
msgstr "用户详情"
...
@@ -2815,8 +2816,8 @@ msgstr "用户删除失败"
...
@@ -2815,8 +2816,8 @@ msgstr "用户删除失败"
msgid "Administrator Settings force MFA login"
msgid "Administrator Settings force MFA login"
msgstr "管理员设置强制使用MFA登录"
msgstr "管理员设置强制使用MFA登录"
#: users/templates/users/user_profile.html:116 users/views/user.py:20
3
#: users/templates/users/user_profile.html:116 users/views/user.py:20
5
#: users/views/user.py:25
7
#: users/views/user.py:25
9
msgid "User groups"
msgid "User groups"
msgstr "用户组"
msgstr "用户组"
...
@@ -2871,7 +2872,7 @@ msgid "Create account successfully"
...
@@ -2871,7 +2872,7 @@ msgid "Create account successfully"
msgstr "创建账户成功"
msgstr "创建账户成功"
#: users/utils.py:43
#: users/utils.py:43
#,
fuzzy,
python-format
#, python-format
msgid ""
msgid ""
"\n"
"\n"
" Hello %(name)s:\n"
" Hello %(name)s:\n"
...
@@ -3020,7 +3021,7 @@ msgstr "用户组授权资产"
...
@@ -3020,7 +3021,7 @@ msgstr "用户组授权资产"
msgid "Please enable cookies and try again."
msgid "Please enable cookies and try again."
msgstr "设置你的浏览器支持cookie"
msgstr "设置你的浏览器支持cookie"
#: users/views/login.py:128 users/views/user.py:
498 users/views/user.py:523
#: users/views/login.py:128 users/views/user.py:
500 users/views/user.py:525
msgid "MFA code invalid"
msgid "MFA code invalid"
msgstr "MFA码认证失败"
msgstr "MFA码认证失败"
...
@@ -3061,7 +3062,7 @@ msgstr "Token错误或失效"
...
@@ -3061,7 +3062,7 @@ msgstr "Token错误或失效"
msgid "Password not same"
msgid "Password not same"
msgstr "密码不一致"
msgstr "密码不一致"
#: users/views/login.py:239 users/views/user.py:11
5 users/views/user.py:396
#: users/views/login.py:239 users/views/user.py:11
8 users/views/user.py:398
msgid "* Your password does not meet the requirements"
msgid "* Your password does not meet the requirements"
msgstr "* 您的密码不符合要求"
msgstr "* 您的密码不符合要求"
...
@@ -3073,46 +3074,46 @@ msgstr "首次登陆"
...
@@ -3073,46 +3074,46 @@ msgstr "首次登陆"
msgid "Login log list"
msgid "Login log list"
msgstr "登录日志"
msgstr "登录日志"
#: users/views/user.py:12
7
#: users/views/user.py:12
9
msgid "Bulk update user success"
msgid "Bulk update user success"
msgstr "批量更新用户成功"
msgstr "批量更新用户成功"
#: users/views/user.py:23
2
#: users/views/user.py:23
4
msgid "Invalid file."
msgid "Invalid file."
msgstr "文件不合法"
msgstr "文件不合法"
#: users/views/user.py:3
29
#: users/views/user.py:3
31
msgid "User granted assets"
msgid "User granted assets"
msgstr "用户授权资产"
msgstr "用户授权资产"
#: users/views/user.py:36
0
#: users/views/user.py:36
2
msgid "Profile setting"
msgid "Profile setting"
msgstr "个人信息设置"
msgstr "个人信息设置"
#: users/views/user.py:3
79
#: users/views/user.py:3
81
msgid "Password update"
msgid "Password update"
msgstr "密码更新"
msgstr "密码更新"
#: users/views/user.py:41
4
#: users/views/user.py:41
6
msgid "Public key update"
msgid "Public key update"
msgstr "密钥更新"
msgstr "密钥更新"
#: users/views/user.py:45
5
#: users/views/user.py:45
7
msgid "Password invalid"
msgid "Password invalid"
msgstr "用户名或密码无效"
msgstr "用户名或密码无效"
#: users/views/user.py:5
49
#: users/views/user.py:5
51
msgid "MFA enable success"
msgid "MFA enable success"
msgstr "MFA 绑定成功"
msgstr "MFA 绑定成功"
#: users/views/user.py:55
0
#: users/views/user.py:55
2
msgid "MFA enable success, return login page"
msgid "MFA enable success, return login page"
msgstr "MFA 绑定成功,返回到登录页面"
msgstr "MFA 绑定成功,返回到登录页面"
#: users/views/user.py:55
2
#: users/views/user.py:55
4
msgid "MFA disable success"
msgid "MFA disable success"
msgstr "MFA 解绑成功"
msgstr "MFA 解绑成功"
#: users/views/user.py:55
3
#: users/views/user.py:55
5
msgid "MFA disable success, return login page"
msgid "MFA disable success, return login page"
msgstr "MFA 解绑成功,返回登录页面"
msgstr "MFA 解绑成功,返回登录页面"
apps/perms/api.py
View file @
442d4e72
...
@@ -73,9 +73,9 @@ class UserGrantedAssetsApi(ListAPIView):
...
@@ -73,9 +73,9 @@ class UserGrantedAssetsApi(ListAPIView):
util
=
AssetPermissionUtil
(
user
)
util
=
AssetPermissionUtil
(
user
)
for
k
,
v
in
util
.
get_assets
()
.
items
():
for
k
,
v
in
util
.
get_assets
()
.
items
():
if
k
.
is_unixlike
():
if
k
.
is_unixlike
():
system_users_granted
=
[
s
for
s
in
v
if
s
.
protocol
==
'ssh'
]
system_users_granted
=
[
s
for
s
in
v
if
s
.
protocol
in
[
'ssh'
,
'telnet'
]
]
else
:
else
:
system_users_granted
=
[
s
for
s
in
v
if
s
.
protocol
==
'rdp'
]
system_users_granted
=
[
s
for
s
in
v
if
s
.
protocol
in
[
'rdp'
,
'telnet'
]
]
k
.
system_users_granted
=
system_users_granted
k
.
system_users_granted
=
system_users_granted
queryset
.
append
(
k
)
queryset
.
append
(
k
)
return
queryset
return
queryset
...
@@ -124,9 +124,9 @@ class UserGrantedNodesWithAssetsApi(ListAPIView):
...
@@ -124,9 +124,9 @@ class UserGrantedNodesWithAssetsApi(ListAPIView):
assets
=
_assets
.
keys
()
assets
=
_assets
.
keys
()
for
k
,
v
in
_assets
.
items
():
for
k
,
v
in
_assets
.
items
():
if
k
.
is_unixlike
():
if
k
.
is_unixlike
():
system_users_granted
=
[
s
for
s
in
v
if
s
.
protocol
==
'ssh'
]
system_users_granted
=
[
s
for
s
in
v
if
s
.
protocol
in
[
'ssh'
,
'telnet'
]
]
else
:
else
:
system_users_granted
=
[
s
for
s
in
v
if
s
.
protocol
==
'rdp'
]
system_users_granted
=
[
s
for
s
in
v
if
s
.
protocol
in
[
'rdp'
,
'telnet'
]
]
k
.
system_users_granted
=
system_users_granted
k
.
system_users_granted
=
system_users_granted
node
.
assets_granted
=
assets
node
.
assets_granted
=
assets
queryset
.
append
(
node
)
queryset
.
append
(
node
)
...
...
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