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
dd07fa67
Commit
dd07fa67
authored
Jun 11, 2018
by
BaiJiangJie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[Update] 添加功能,系统用户选择登录模式(自动/手动登录)
parent
221fae58
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
208 additions
and
121 deletions
+208
-121
user.py
apps/assets/forms/user.py
+17
-2
base.py
apps/assets/models/base.py
+1
-1
user.py
apps/assets/models/user.py
+8
-0
system_user.py
apps/assets/serializers/system_user.py
+7
-0
_system_user.html
apps/assets/templates/assets/_system_user.html
+34
-3
system_user_detail.html
apps/assets/templates/assets/system_user_detail.html
+4
-0
system_user_list.html
apps/assets/templates/assets/system_user_list.html
+6
-5
system_user_update.html
apps/assets/templates/assets/system_user_update.html
+0
-1
django.mo
apps/i18n/zh/LC_MESSAGES/django.mo
+0
-0
django.po
apps/i18n/zh/LC_MESSAGES/django.po
+131
-109
No files found.
apps/assets/forms/user.py
View file @
dd07fa67
...
@@ -109,12 +109,24 @@ class SystemUserForm(PasswordAndKeyAuthForm):
...
@@ -109,12 +109,24 @@ class SystemUserForm(PasswordAndKeyAuthForm):
if
not
self
.
instance
and
not
auto_generate
:
if
not
self
.
instance
and
not
auto_generate
:
super
()
.
validate_password_key
()
super
()
.
validate_password_key
()
def
is_valid
(
self
):
validated
=
super
()
.
is_valid
()
username
=
self
.
cleaned_data
.
get
(
'username'
)
login_mode
=
self
.
cleaned_data
.
get
(
'login_mode'
)
if
login_mode
==
SystemUser
.
AUTO_LOGIN
and
not
username
:
self
.
add_error
(
"username"
,
_
(
'* Automatic login mode,'
' must fill in the username.'
)
)
return
False
return
validated
class
Meta
:
class
Meta
:
model
=
SystemUser
model
=
SystemUser
fields
=
[
fields
=
[
'name'
,
'username'
,
'protocol'
,
'auto_generate_key'
,
'name'
,
'username'
,
'protocol'
,
'auto_generate_key'
,
'password'
,
'private_key_file'
,
'auto_push'
,
'sudo'
,
'password'
,
'private_key_file'
,
'auto_push'
,
'sudo'
,
'comment'
,
'shell'
,
'priority'
,
'comment'
,
'shell'
,
'priority'
,
'login_mode'
,
]
]
widgets
=
{
widgets
=
{
'name'
:
forms
.
TextInput
(
attrs
=
{
'placeholder'
:
_
(
'Name'
)}),
'name'
:
forms
.
TextInput
(
attrs
=
{
'placeholder'
:
_
(
'Name'
)}),
...
@@ -124,5 +136,8 @@ class SystemUserForm(PasswordAndKeyAuthForm):
...
@@ -124,5 +136,8 @@ class SystemUserForm(PasswordAndKeyAuthForm):
'name'
:
'* required'
,
'name'
:
'* required'
,
'username'
:
'* required'
,
'username'
:
'* required'
,
'auto_push'
:
_
(
'Auto push system user to asset'
),
'auto_push'
:
_
(
'Auto push system user to asset'
),
'priority'
:
_
(
'High level will be using login asset as default, if user was granted more than 2 system user'
),
'priority'
:
_
(
'High level will be using login asset as default, '
'if user was granted more than 2 system user'
),
'login_mode'
:
_
(
'If you choose manual login mode, you do not '
'need to fill in the username and password.'
)
}
}
apps/assets/models/base.py
View file @
dd07fa67
...
@@ -19,7 +19,7 @@ signer = get_signer()
...
@@ -19,7 +19,7 @@ signer = get_signer()
class
AssetUser
(
models
.
Model
):
class
AssetUser
(
models
.
Model
):
id
=
models
.
UUIDField
(
default
=
uuid
.
uuid4
,
primary_key
=
True
)
id
=
models
.
UUIDField
(
default
=
uuid
.
uuid4
,
primary_key
=
True
)
name
=
models
.
CharField
(
max_length
=
128
,
unique
=
True
,
verbose_name
=
_
(
'Name'
))
name
=
models
.
CharField
(
max_length
=
128
,
unique
=
True
,
verbose_name
=
_
(
'Name'
))
username
=
models
.
CharField
(
max_length
=
32
,
verbose_name
=
_
(
'Username'
),
validators
=
[
alphanumeric
])
username
=
models
.
CharField
(
max_length
=
32
,
blank
=
True
,
verbose_name
=
_
(
'Username'
),
validators
=
[
alphanumeric
])
_password
=
models
.
CharField
(
max_length
=
256
,
blank
=
True
,
null
=
True
,
verbose_name
=
_
(
'Password'
))
_password
=
models
.
CharField
(
max_length
=
256
,
blank
=
True
,
null
=
True
,
verbose_name
=
_
(
'Password'
))
_private_key
=
models
.
TextField
(
max_length
=
4096
,
blank
=
True
,
null
=
True
,
verbose_name
=
_
(
'SSH private key'
),
validators
=
[
private_key_validator
,
])
_private_key
=
models
.
TextField
(
max_length
=
4096
,
blank
=
True
,
null
=
True
,
verbose_name
=
_
(
'SSH private key'
),
validators
=
[
private_key_validator
,
])
_public_key
=
models
.
TextField
(
max_length
=
4096
,
blank
=
True
,
verbose_name
=
_
(
'SSH public key'
))
_public_key
=
models
.
TextField
(
max_length
=
4096
,
blank
=
True
,
verbose_name
=
_
(
'SSH public key'
))
...
...
apps/assets/models/user.py
View file @
dd07fa67
...
@@ -100,6 +100,13 @@ class SystemUser(AssetUser):
...
@@ -100,6 +100,13 @@ class SystemUser(AssetUser):
(
RDP_PROTOCOL
,
'rdp'
),
(
RDP_PROTOCOL
,
'rdp'
),
)
)
AUTO_LOGIN
=
'auto'
MANUAL_LOGIN
=
'manual'
LOGIN_MODE_CHOICES
=
(
(
AUTO_LOGIN
,
_
(
'Automatic login'
)),
(
MANUAL_LOGIN
,
_
(
'Manually login'
))
)
nodes
=
models
.
ManyToManyField
(
'assets.Node'
,
blank
=
True
,
verbose_name
=
_
(
"Nodes"
))
nodes
=
models
.
ManyToManyField
(
'assets.Node'
,
blank
=
True
,
verbose_name
=
_
(
"Nodes"
))
assets
=
models
.
ManyToManyField
(
'assets.Asset'
,
blank
=
True
,
verbose_name
=
_
(
"Assets"
))
assets
=
models
.
ManyToManyField
(
'assets.Asset'
,
blank
=
True
,
verbose_name
=
_
(
"Assets"
))
priority
=
models
.
IntegerField
(
default
=
10
,
verbose_name
=
_
(
"Priority"
))
priority
=
models
.
IntegerField
(
default
=
10
,
verbose_name
=
_
(
"Priority"
))
...
@@ -107,6 +114,7 @@ class SystemUser(AssetUser):
...
@@ -107,6 +114,7 @@ class SystemUser(AssetUser):
auto_push
=
models
.
BooleanField
(
default
=
True
,
verbose_name
=
_
(
'Auto push'
))
auto_push
=
models
.
BooleanField
(
default
=
True
,
verbose_name
=
_
(
'Auto push'
))
sudo
=
models
.
TextField
(
default
=
'/bin/whoami'
,
verbose_name
=
_
(
'Sudo'
))
sudo
=
models
.
TextField
(
default
=
'/bin/whoami'
,
verbose_name
=
_
(
'Sudo'
))
shell
=
models
.
CharField
(
max_length
=
64
,
default
=
'/bin/bash'
,
verbose_name
=
_
(
'Shell'
))
shell
=
models
.
CharField
(
max_length
=
64
,
default
=
'/bin/bash'
,
verbose_name
=
_
(
'Shell'
))
login_mode
=
models
.
CharField
(
choices
=
LOGIN_MODE_CHOICES
,
default
=
AUTO_LOGIN
,
max_length
=
10
,
verbose_name
=
_
(
'Login mode'
))
def
__str__
(
self
):
def
__str__
(
self
):
return
'{0.name}({0.username})'
.
format
(
self
)
return
'{0.name}({0.username})'
.
format
(
self
)
...
...
apps/assets/serializers/system_user.py
View file @
dd07fa67
...
@@ -18,6 +18,13 @@ class SystemUserSerializer(serializers.ModelSerializer):
...
@@ -18,6 +18,13 @@ class SystemUserSerializer(serializers.ModelSerializer):
model
=
SystemUser
model
=
SystemUser
exclude
=
(
'_password'
,
'_private_key'
,
'_public_key'
)
exclude
=
(
'_password'
,
'_private_key'
,
'_public_key'
)
def
get_field_names
(
self
,
declared_fields
,
info
):
fields
=
super
(
SystemUserSerializer
,
self
)
.
get_field_names
(
declared_fields
,
info
)
fields
.
extend
([
'get_login_mode_display'
,
])
return
fields
@staticmethod
@staticmethod
def
get_unreachable_assets
(
obj
):
def
get_unreachable_assets
(
obj
):
return
obj
.
unreachable_assets
return
obj
.
unreachable_assets
...
...
apps/assets/templates/assets/_system_user.html
View file @
dd07fa67
...
@@ -36,12 +36,13 @@
...
@@ -36,12 +36,13 @@
{% endif %}
{% endif %}
<h3>
{% trans 'Basic' %}
</h3>
<h3>
{% trans 'Basic' %}
</h3>
{% bootstrap_field form.name layout="horizontal" %}
{% bootstrap_field form.name layout="horizontal" %}
{% bootstrap_field form.login_mode layout="horizontal" %}
{% bootstrap_field form.username layout="horizontal" %}
{% bootstrap_field form.username layout="horizontal" %}
{% bootstrap_field form.priority layout="horizontal" %}
{% bootstrap_field form.priority layout="horizontal" %}
{% bootstrap_field form.protocol layout="horizontal" %}
{% bootstrap_field form.protocol layout="horizontal" %}
<h3
id=
"auth_title_id"
>
{% trans 'Auth' %}
</h3>
{% block auth %}
{% block auth %}
<h3>
{% trans 'Auth' %}
</h3>
<div
class=
"auto-generate"
>
<div
class=
"auto-generate"
>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<label
for=
"{{ form.auto_generate_key.id_for_label }}"
class=
"col-sm-2 control-label"
>
{% trans 'Auto generate key' %}
</label>
<label
for=
"{{ form.auto_generate_key.id_for_label }}"
class=
"col-sm-2 control-label"
>
{% trans 'Auto generate key' %}
</label>
...
@@ -80,15 +81,22 @@
...
@@ -80,15 +81,22 @@
{% endblock %}
{% endblock %}
{% block custom_foot_js %}
{% block custom_foot_js %}
<script>
<script>
var
auto_generate_key
=
'#'
+
'{{ form.auto_generate_key.id_for_label }}'
;
var
protocol_id
=
'#'
+
'{{ form.protocol.id_for_label }}'
;
var
protocol_id
=
'#'
+
'{{ form.protocol.id_for_label }}'
;
var
login_mode_id
=
'#'
+
'{{ form.login_mode.id_for_label }}'
;
var
auto_generate_key
=
'#'
+
'{{ form.auto_generate_key.id_for_label }}'
;
var
password_id
=
'#'
+
'{{ form.password.id_for_label }}'
;
var
private_key_id
=
'#'
+
'{{ form.private_key_file.id_for_label }}'
;
var
private_key_id
=
'#'
+
'{{ form.private_key_file.id_for_label }}'
;
var
auto_push_id
=
'#'
+
'{{ form.auto_push.id_for_label }}'
;
var
auto_push_id
=
'#'
+
'{{ form.auto_push.id_for_label }}'
;
var
sudo_id
=
'#'
+
'{{ form.sudo.id_for_label }}'
;
var
sudo_id
=
'#'
+
'{{ form.sudo.id_for_label }}'
;
var
shell_id
=
'#'
+
'{{ form.shell.id_for_label }}'
;
var
shell_id
=
'#'
+
'{{ form.shell.id_for_label }}'
;
var
need_change_field
=
[
var
need_change_field
=
[
auto_generate_key
,
private_key_id
,
auto_push_id
,
sudo_id
,
shell_id
auto_generate_key
,
private_key_id
,
auto_push_id
,
sudo_id
,
shell_id
];
];
var
need_change_field_login_mode
=
[
auto_generate_key
,
private_key_id
,
auto_push_id
,
password_id
];
function
protocolChange
()
{
function
protocolChange
()
{
if
(
$
(
protocol_id
+
" option:selected"
).
text
()
===
'rdp'
)
{
if
(
$
(
protocol_id
+
" option:selected"
).
text
()
===
'rdp'
)
{
...
@@ -97,6 +105,11 @@ function protocolChange() {
...
@@ -97,6 +105,11 @@ function protocolChange() {
$
(
value
).
closest
(
'.form-group'
).
addClass
(
'hidden'
)
$
(
value
).
closest
(
'.form-group'
).
addClass
(
'hidden'
)
});
});
}
else
{
}
else
{
if
(
$
(
login_mode_id
).
val
()
===
'manual'
){
$
(
sudo_id
).
closest
(
'.form-group'
).
removeClass
(
'hidden'
);
$
(
shell_id
).
closest
(
'.form-group'
).
removeClass
(
'hidden'
);
return
}
authFieldsDisplay
();
authFieldsDisplay
();
$
.
each
(
need_change_field
,
function
(
index
,
value
)
{
$
.
each
(
need_change_field
,
function
(
index
,
value
)
{
$
(
value
).
closest
(
'.form-group'
).
removeClass
(
'hidden'
)
$
(
value
).
closest
(
'.form-group'
).
removeClass
(
'hidden'
)
...
@@ -111,18 +124,35 @@ function authFieldsDisplay() {
...
@@ -111,18 +124,35 @@ function authFieldsDisplay() {
$
(
'.auth-fields'
).
removeClass
(
'hidden'
);
$
(
'.auth-fields'
).
removeClass
(
'hidden'
);
}
}
}
}
function
loginModeChange
(){
if
(
$
(
login_mode_id
).
val
()
===
'manual'
){
$
(
'#auth_title_id'
).
addClass
(
'hidden'
);
$
.
each
(
need_change_field_login_mode
,
function
(
index
,
value
){
$
(
value
).
closest
(
'.form-group'
).
addClass
(
'hidden'
)
})
}
else
if
(
$
(
login_mode_id
).
val
()
===
'auto'
){
$
(
'#auth_title_id'
).
removeClass
(
'hidden'
);
protocolChange
();
$
(
password_id
).
closest
(
'.form-group'
).
removeClass
(
'hidden'
)
}
}
$
(
document
).
ready
(
function
()
{
$
(
document
).
ready
(
function
()
{
$
(
'.select2'
).
select2
();
$
(
'.select2'
).
select2
();
authFieldsDisplay
();
authFieldsDisplay
();
protocolChange
();
protocolChange
();
loginModeChange
();
})
})
.
on
(
'change'
,
protocol_id
,
function
(){
.
on
(
'change'
,
protocol_id
,
function
(){
protocolChange
();
protocolChange
();
})
})
.
on
(
'change'
,
auto_generate_key
,
function
(){
.
on
(
'change'
,
auto_generate_key
,
function
(){
authFieldsDisplay
();
authFieldsDisplay
();
});
})
.
on
(
'change'
,
login_mode_id
,
function
(){
loginModeChange
();
})
</script>
</script>
{% endblock %}
{% endblock %}
\ No newline at end of file
apps/assets/templates/assets/system_user_detail.html
View file @
dd07fa67
...
@@ -62,6 +62,10 @@
...
@@ -62,6 +62,10 @@
<td>
{% trans 'Username' %}:
</td>
<td>
{% trans 'Username' %}:
</td>
<td><b>
{{ system_user.username }}
</b></td>
<td><b>
{{ system_user.username }}
</b></td>
</tr>
</tr>
<tr>
<td>
{% trans 'Login mode' %}:
</td>
<td><b>
{{ system_user.get_login_mode_display }}
</b></td>
</tr>
<tr>
<tr>
<td>
{% trans 'Protocol' %}:
</td>
<td>
{% trans 'Protocol' %}:
</td>
<td><b
id=
"id_protocol_type"
>
{{ system_user.protocol }}
</b></td>
<td><b
id=
"id_protocol_type"
>
{{ system_user.protocol }}
</b></td>
...
...
apps/assets/templates/assets/system_user_list.html
View file @
dd07fa67
...
@@ -26,6 +26,7 @@
...
@@ -26,6 +26,7 @@
<th
class=
"text-center"
>
{% trans 'Name' %}
</th>
<th
class=
"text-center"
>
{% trans 'Name' %}
</th>
<th
class=
"text-center"
>
{% trans 'Username' %}
</th>
<th
class=
"text-center"
>
{% trans 'Username' %}
</th>
<th
class=
"text-center"
>
{% trans 'Protocol' %}
</th>
<th
class=
"text-center"
>
{% trans 'Protocol' %}
</th>
<th
class=
"text-center"
>
{% trans 'Login mode' %}
</th>
<th
class=
"text-center"
>
{% trans 'Asset' %}
</th>
<th
class=
"text-center"
>
{% trans 'Asset' %}
</th>
<th
class=
"text-center"
>
{% trans 'Reachable' %}
</th>
<th
class=
"text-center"
>
{% trans 'Reachable' %}
</th>
<th
class=
"text-center"
>
{% trans 'Unreachable' %}
</th>
<th
class=
"text-center"
>
{% trans 'Unreachable' %}
</th>
...
@@ -48,7 +49,7 @@ function initTable() {
...
@@ -48,7 +49,7 @@ function initTable() {
var
detail_btn
=
'<a href="{% url "assets:system-user-detail" pk=DEFAULT_PK %}">'
+
cellData
+
'</a>'
;
var
detail_btn
=
'<a href="{% url "assets:system-user-detail" pk=DEFAULT_PK %}">'
+
cellData
+
'</a>'
;
$
(
td
).
html
(
detail_btn
.
replace
(
'{{ DEFAULT_PK }}'
,
rowData
.
id
));
$
(
td
).
html
(
detail_btn
.
replace
(
'{{ DEFAULT_PK }}'
,
rowData
.
id
));
}},
}},
{
targets
:
5
,
createdCell
:
function
(
td
,
cellData
)
{
{
targets
:
6
,
createdCell
:
function
(
td
,
cellData
)
{
var
innerHtml
=
""
;
var
innerHtml
=
""
;
if
(
cellData
!==
0
)
{
if
(
cellData
!==
0
)
{
innerHtml
=
"<span class='text-navy'>"
+
cellData
+
"</span>"
;
innerHtml
=
"<span class='text-navy'>"
+
cellData
+
"</span>"
;
...
@@ -57,7 +58,7 @@ function initTable() {
...
@@ -57,7 +58,7 @@ function initTable() {
}
}
$
(
td
).
html
(
'<span href="javascript:void(0);" data-toggle="tooltip" title="'
+
cellData
+
'">'
+
innerHtml
+
'</span>'
);
$
(
td
).
html
(
'<span href="javascript:void(0);" data-toggle="tooltip" title="'
+
cellData
+
'">'
+
innerHtml
+
'</span>'
);
}},
}},
{
targets
:
6
,
createdCell
:
function
(
td
,
cellData
)
{
{
targets
:
7
,
createdCell
:
function
(
td
,
cellData
)
{
var
innerHtml
=
""
;
var
innerHtml
=
""
;
if
(
cellData
!==
0
)
{
if
(
cellData
!==
0
)
{
innerHtml
=
"<span class='text-danger'>"
+
cellData
+
"</span>"
;
innerHtml
=
"<span class='text-danger'>"
+
cellData
+
"</span>"
;
...
@@ -66,7 +67,7 @@ function initTable() {
...
@@ -66,7 +67,7 @@ function initTable() {
}
}
$
(
td
).
html
(
'<span href="javascript:void(0);" data-toggle="tooltip" title="'
+
cellData
+
'">'
+
innerHtml
+
'</span>'
);
$
(
td
).
html
(
'<span href="javascript:void(0);" data-toggle="tooltip" title="'
+
cellData
+
'">'
+
innerHtml
+
'</span>'
);
}},
}},
{
targets
:
7
,
createdCell
:
function
(
td
,
cellData
,
rowData
)
{
{
targets
:
8
,
createdCell
:
function
(
td
,
cellData
,
rowData
)
{
var
val
=
0
;
var
val
=
0
;
var
innerHtml
=
""
;
var
innerHtml
=
""
;
var
total
=
rowData
.
assets_amount
;
var
total
=
rowData
.
assets_amount
;
...
@@ -84,14 +85,14 @@ function initTable() {
...
@@ -84,14 +85,14 @@ function initTable() {
$
(
td
).
html
(
'<span href="javascript:void(0);" data-toggle="tooltip" title="'
+
cellData
+
'">'
+
innerHtml
+
'</span>'
);
$
(
td
).
html
(
'<span href="javascript:void(0);" data-toggle="tooltip" title="'
+
cellData
+
'">'
+
innerHtml
+
'</span>'
);
}},
}},
{
targets
:
9
,
createdCell
:
function
(
td
,
cellData
,
rowData
)
{
{
targets
:
10
,
createdCell
:
function
(
td
,
cellData
,
rowData
)
{
var
update_btn
=
'<a href="{% url "assets:system-user-update" pk=DEFAULT_PK %}" class="btn btn-xs m-l-xs btn-info">{% trans "Update" %}</a>'
.
replace
(
'{{ DEFAULT_PK }}'
,
cellData
);
var
update_btn
=
'<a href="{% url "assets:system-user-update" pk=DEFAULT_PK %}" class="btn btn-xs m-l-xs btn-info">{% trans "Update" %}</a>'
.
replace
(
'{{ DEFAULT_PK }}'
,
cellData
);
var
del_btn
=
'<a class="btn btn-xs btn-danger m-l-xs btn_admin_user_delete" data-uid="{{ DEFAULT_PK }}">{% trans "Delete" %}</a>'
.
replace
(
'{{ DEFAULT_PK }}'
,
cellData
);
var
del_btn
=
'<a class="btn btn-xs btn-danger m-l-xs btn_admin_user_delete" data-uid="{{ DEFAULT_PK }}">{% trans "Delete" %}</a>'
.
replace
(
'{{ DEFAULT_PK }}'
,
cellData
);
$
(
td
).
html
(
update_btn
+
del_btn
)
$
(
td
).
html
(
update_btn
+
del_btn
)
}}],
}}],
ajax_url
:
'{% url "api-assets:system-user-list" %}'
,
ajax_url
:
'{% url "api-assets:system-user-list" %}'
,
columns
:
[
columns
:
[
{
data
:
"id"
},
{
data
:
"name"
},
{
data
:
"username"
},
{
data
:
"protocol"
},
{
data
:
"assets_amount"
},
{
data
:
"id"
},
{
data
:
"name"
},
{
data
:
"username"
},
{
data
:
"protocol"
},
{
data
:
"
get_login_mode_display"
},
{
data
:
"
assets_amount"
},
{
data
:
"reachable_amount"
},
{
data
:
"unreachable_amount"
},
{
data
:
"id"
},
{
data
:
"comment"
},
{
data
:
"id"
}
{
data
:
"reachable_amount"
},
{
data
:
"unreachable_amount"
},
{
data
:
"id"
},
{
data
:
"comment"
},
{
data
:
"id"
}
],
],
op_html
:
$
(
'#actions'
).
html
()
op_html
:
$
(
'#actions'
).
html
()
...
...
apps/assets/templates/assets/system_user_update.html
View file @
dd07fa67
...
@@ -4,7 +4,6 @@
...
@@ -4,7 +4,6 @@
{% load bootstrap3 %}
{% load bootstrap3 %}
{% block auth %}
{% block auth %}
<h3>
{% trans 'Auth' %}
</h3>
{% bootstrap_field form.password layout="horizontal" %}
{% bootstrap_field form.password layout="horizontal" %}
{% bootstrap_field form.private_key_file layout="horizontal" %}
{% bootstrap_field form.private_key_file layout="horizontal" %}
<div
class=
"form-group"
>
<div
class=
"form-group"
>
...
...
apps/i18n/zh/LC_MESSAGES/django.mo
View file @
dd07fa67
No preview for this file type
apps/i18n/zh/LC_MESSAGES/django.po
View file @
dd07fa67
...
@@ -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-
07 11:34
+0800\n"
"POT-Creation-Date: 2018-06-
11 13:36
+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,10 +29,10 @@ msgstr ""
...
@@ -29,10 +29,10 @@ msgstr ""
msgid "测试节点下资产是否可连接: {}"
msgid "测试节点下资产是否可连接: {}"
msgstr ""
msgstr ""
#: assets/forms/asset.py:24 assets/models/asset.py:75 assets/models/user.py:1
03
#: assets/forms/asset.py:24 assets/models/asset.py:75 assets/models/user.py:1
10
#: 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:17
5
perms/models.py:33
#: assets/templates/assets/system_user_detail.html:17
9
perms/models.py:33
msgid "Nodes"
msgid "Nodes"
msgstr "节点管理"
msgstr "节点管理"
...
@@ -103,7 +103,7 @@ msgstr "端口"
...
@@ -103,7 +103,7 @@ msgstr "端口"
#: 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
#: assets/templates/assets/system_user_list.html:
29
audits/models.py:11
#: assets/templates/assets/system_user_list.html:
30
audits/models.py:11
#: audits/templates/audits/ftp_log_list.html:41
#: audits/templates/audits/ftp_log_list.html:41
#: audits/templates/audits/ftp_log_list.html:72 perms/forms.py:37
#: audits/templates/audits/ftp_log_list.html:72 perms/forms.py:37
#: perms/models.py:32
#: perms/models.py:32
...
@@ -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:1
20
#: assets/forms/domain.py:54 assets/forms/user.py:79 assets/forms/user.py:1
31
#: 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,15 +147,15 @@ msgstr "资产"
...
@@ -147,15 +147,15 @@ msgstr "资产"
msgid "Name"
msgid "Name"
msgstr "名称"
msgstr "名称"
#: assets/forms/domain.py:55 assets/forms/user.py:80 assets/forms/user.py:1
21
#: assets/forms/domain.py:55 assets/forms/user.py:80 assets/forms/user.py:1
32
#: 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
#: assets/templates/assets/system_user_detail.html:62
#: assets/templates/assets/system_user_detail.html:62
#: assets/templates/assets/system_user_list.html:27
#: assets/templates/assets/system_user_list.html:27
#: perms/templates/perms/asset_permission_user.html:55 users/forms.py:13
#: perms/templates/perms/asset_permission_user.html:55 users/forms.py:13
#: users/forms.py:
21 users/forms.py:30 users/models/authentication.py:45
#: users/forms.py:
31 users/models/authentication.py:45 users/models/user.py:47
#: users/
models/user.py:47 users/
templates/users/_select_user_modal.html:14
#: users/templates/users/_select_user_modal.html:14
#: users/templates/users/login.html:56
#: users/templates/users/login.html:56
#: users/templates/users/login_log_list.html:49
#: users/templates/users/login_log_list.html:49
#: users/templates/users/user_detail.html:67
#: users/templates/users/user_detail.html:67
...
@@ -169,7 +169,7 @@ msgid "Password or private key passphrase"
...
@@ -169,7 +169,7 @@ msgid "Password or private key passphrase"
msgstr "密码或密钥密码"
msgstr "密码或密钥密码"
#: assets/forms/user.py:25 assets/models/base.py:23 common/forms.py:113
#: assets/forms/user.py:25 assets/models/base.py:23 common/forms.py:113
#: users/forms.py:15 users/forms.py:
23 users/forms.py:32 users/forms.py:44
#: users/forms.py:15 users/forms.py:
33 users/forms.py:45
#: users/templates/users/login.html:59
#: users/templates/users/login.html:59
#: users/templates/users/reset_password.html:53
#: users/templates/users/reset_password.html:53
#: users/templates/users/user_create.html:10
#: users/templates/users/user_create.html:10
...
@@ -192,16 +192,26 @@ msgstr "ssh密钥不合法"
...
@@ -192,16 +192,26 @@ 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:126
#: assets/forms/user.py:118
msgid "* Automatic login mode, must fill in the username."
msgstr "自动登录模式,必须填写用户名"
#: assets/forms/user.py:137
msgid "Auto push system user to asset"
msgid "Auto push system user to asset"
msgstr "自动推送系统用户到资产"
msgstr "自动推送系统用户到资产"
#: assets/forms/user.py:1
27
#: assets/forms/user.py:1
38
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:139
msgid ""
"If you choose manual login mode, you do not need to fill in the username and "
"password."
msgstr "如果选择手动登录模式,用户名和密码则不需要填写"
#: assets/models/asset.py:63 assets/models/domain.py:43
#: assets/models/asset.py:63 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
...
@@ -309,7 +319,7 @@ msgstr "标签管理"
...
@@ -309,7 +319,7 @@ msgstr "标签管理"
#: 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
#: assets/templates/assets/domain_detail.html:72
#: assets/templates/assets/domain_detail.html:72
#: assets/templates/assets/system_user_detail.html:
96
#: assets/templates/assets/system_user_detail.html:
100
#: ops/templates/ops/adhoc_detail.html:86 perms/models.py:38 perms/models.py:81
#: ops/templates/ops/adhoc_detail.html:86 perms/models.py:38 perms/models.py:81
#: perms/templates/perms/asset_permission_detail.html:98
#: perms/templates/perms/asset_permission_detail.html:98
#: users/models/user.py:90 users/templates/users/user_detail.html:111
#: users/models/user.py:90 users/templates/users/user_detail.html:111
...
@@ -320,7 +330,7 @@ msgstr "创建者"
...
@@ -320,7 +330,7 @@ msgstr "创建者"
#: 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
#: assets/templates/assets/system_user_detail.html:9
2
#: assets/templates/assets/system_user_detail.html:9
6
#: ops/templates/ops/adhoc_detail.html:90 ops/templates/ops/task_detail.html:63
#: ops/templates/ops/adhoc_detail.html:90 ops/templates/ops/task_detail.html:63
#: perms/models.py:39 perms/models.py:82
#: perms/models.py:39 perms/models.py:82
#: perms/templates/perms/asset_permission_detail.html:94
#: perms/templates/perms/asset_permission_detail.html:94
...
@@ -338,8 +348,8 @@ msgstr "创建日期"
...
@@ -338,8 +348,8 @@ msgstr "创建日期"
#: assets/templates/assets/domain_detail.html:76
#: assets/templates/assets/domain_detail.html:76
#: assets/templates/assets/domain_gateway_list.html:61
#: assets/templates/assets/domain_gateway_list.html:61
#: assets/templates/assets/domain_list.html:17
#: assets/templates/assets/domain_list.html:17
#: assets/templates/assets/system_user_detail.html:10
0
#: assets/templates/assets/system_user_detail.html:10
4
#: assets/templates/assets/system_user_list.html:3
3
common/models.py:30
#: assets/templates/assets/system_user_list.html:3
4
common/models.py:30
#: ops/models/adhoc.py:42 perms/models.py:40 perms/models.py:83
#: ops/models/adhoc.py:42 perms/models.py:40 perms/models.py:83
#: perms/templates/perms/asset_permission_detail.html:102 terminal/models.py:26
#: perms/templates/perms/asset_permission_detail.html:102 terminal/models.py:26
#: terminal/templates/terminal/terminal_detail.html:63 users/models/group.py:13
#: terminal/templates/terminal/terminal_detail.html:63 users/models/group.py:13
...
@@ -392,7 +402,7 @@ msgid "Default"
...
@@ -392,7 +402,7 @@ msgid "Default"
msgstr "默认"
msgstr "默认"
#: assets/models/cluster.py:36 assets/models/label.py:13
#: assets/models/cluster.py:36 assets/models/label.py:13
#: users/models/user.py:34
3
#: users/models/user.py:34
5
msgid "System"
msgid "System"
msgstr "系统"
msgstr "系统"
...
@@ -404,9 +414,9 @@ msgstr "默认Cluster"
...
@@ -404,9 +414,9 @@ msgstr "默认Cluster"
msgid "Cluster"
msgid "Cluster"
msgstr "集群"
msgstr "集群"
#: assets/models/domain.py:45 assets/models/user.py:1
06
#: assets/models/domain.py:45 assets/models/user.py:1
13
#: assets/templates/assets/domain_gateway_list.html:59
#: assets/templates/assets/domain_gateway_list.html:59
#: assets/templates/assets/system_user_detail.html:
66
#: assets/templates/assets/system_user_detail.html:
70
#: assets/templates/assets/system_user_list.html:28
#: assets/templates/assets/system_user_list.html:28
#: terminal/templates/terminal/session_list.html:75
#: terminal/templates/terminal/session_list.html:75
msgid "Protocol"
msgid "Protocol"
...
@@ -431,10 +441,10 @@ msgstr "默认资产组"
...
@@ -431,10 +441,10 @@ msgstr "默认资产组"
#: terminal/templates/terminal/command_list.html:32
#: terminal/templates/terminal/command_list.html:32
#: terminal/templates/terminal/command_list.html:72
#: terminal/templates/terminal/command_list.html:72
#: terminal/templates/terminal/session_list.html:33
#: terminal/templates/terminal/session_list.html:33
#: terminal/templates/terminal/session_list.html:71 users/forms.py:28
1
#: terminal/templates/terminal/session_list.html:71 users/forms.py:28
2
#: users/models/user.py:31 users/models/user.py:33
1
#: users/models/user.py:31 users/models/user.py:33
3
#: 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
62
#: users/templates/users/user_group_list.html:13 users/views/user.py:3
59
msgid "User"
msgid "User"
msgstr "用户"
msgstr "用户"
...
@@ -451,7 +461,15 @@ msgstr "分类"
...
@@ -451,7 +461,15 @@ msgstr "分类"
msgid "Key"
msgid "Key"
msgstr ""
msgstr ""
#: assets/models/user.py:104
#: assets/models/user.py:106
msgid "Automatic login"
msgstr "自动登录"
#: assets/models/user.py:107
msgid "Manually login"
msgstr "手动登录"
#: assets/models/user.py:111
#: 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
...
@@ -469,25 +487,30 @@ msgstr ""
...
@@ -469,25 +487,30 @@ msgstr ""
msgid "Assets"
msgid "Assets"
msgstr "资产管理"
msgstr "资产管理"
#: assets/models/user.py:1
05
#: assets/models/user.py:1
12
msgid "Priority"
msgid "Priority"
msgstr "优先级"
msgstr "优先级"
#: assets/models/user.py:1
07 assets/templates/assets/_system_user.html:58
#: assets/models/user.py:1
14 assets/templates/assets/_system_user.html:59
#: assets/templates/assets/system_user_detail.html:1
18
#: assets/templates/assets/system_user_detail.html:1
22
#: assets/templates/assets/system_user_update.html:1
1
#: assets/templates/assets/system_user_update.html:1
0
msgid "Auto push"
msgid "Auto push"
msgstr "自动推送"
msgstr "自动推送"
#: assets/models/user.py:1
08 assets/templates/assets/system_user_detail.html:70
#: assets/models/user.py:1
15 assets/templates/assets/system_user_detail.html:74
msgid "Sudo"
msgid "Sudo"
msgstr "Sudo"
msgstr "Sudo"
#: assets/models/user.py:1
09 assets/templates/assets/system_user_detail.html:75
#: assets/models/user.py:1
16 assets/templates/assets/system_user_detail.html:79
msgid "Shell"
msgid "Shell"
msgstr "Shell"
msgstr "Shell"
#: assets/models/user.py:149 audits/models.py:12
#: assets/models/user.py:117 assets/templates/assets/system_user_detail.html:66
#: assets/templates/assets/system_user_list.html:29
msgid "Login mode"
msgstr "登录模式"
#: assets/models/user.py:157 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
...
@@ -604,16 +627,15 @@ msgstr "基本"
...
@@ -604,16 +627,15 @@ msgstr "基本"
#: assets/templates/assets/asset_create.html:25
#: assets/templates/assets/asset_create.html:25
#: assets/templates/assets/asset_update.html:30
#: assets/templates/assets/asset_update.html:30
#: assets/templates/assets/gateway_create_update.html:45
#: assets/templates/assets/gateway_create_update.html:45
#: assets/templates/assets/system_user_update.html:7
#: users/templates/users/_user.html:21
#: users/templates/users/_user.html:21
msgid "Auth"
msgid "Auth"
msgstr "认证"
msgstr "认证"
#: assets/templates/assets/_system_user.html:4
7
#: assets/templates/assets/_system_user.html:4
8
msgid "Auto generate key"
msgid "Auto generate key"
msgstr "自动生成密钥"
msgstr "自动生成密钥"
#: assets/templates/assets/_system_user.html:6
4
#: assets/templates/assets/_system_user.html:6
5
#: assets/templates/assets/asset_create.html:59
#: assets/templates/assets/asset_create.html:59
#: assets/templates/assets/asset_update.html:63
#: assets/templates/assets/asset_update.html:63
#: assets/templates/assets/gateway_create_update.html:53
#: assets/templates/assets/gateway_create_update.html:53
...
@@ -622,7 +644,7 @@ msgstr "自动生成密钥"
...
@@ -622,7 +644,7 @@ msgstr "自动生成密钥"
msgid "Other"
msgid "Other"
msgstr "其它"
msgstr "其它"
#: assets/templates/assets/_system_user.html:7
0
#: assets/templates/assets/_system_user.html:7
1
#: 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:66
#: assets/templates/assets/asset_create.html:66
...
@@ -647,7 +669,7 @@ msgstr "其它"
...
@@ -647,7 +669,7 @@ msgstr "其它"
msgid "Reset"
msgid "Reset"
msgstr "重置"
msgstr "重置"
#: assets/templates/assets/_system_user.html:7
1
#: assets/templates/assets/_system_user.html:7
2
#: 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:67
#: assets/templates/assets/asset_create.html:67
...
@@ -702,14 +724,14 @@ msgstr "资产列表"
...
@@ -702,14 +724,14 @@ msgstr "资产列表"
#: assets/templates/assets/admin_user_assets.html:54
#: assets/templates/assets/admin_user_assets.html:54
#: assets/templates/assets/admin_user_list.html:26
#: assets/templates/assets/admin_user_list.html:26
#: assets/templates/assets/system_user_asset.html:52
#: assets/templates/assets/system_user_asset.html:52
#: assets/templates/assets/system_user_list.html:3
0
#: assets/templates/assets/system_user_list.html:3
1
#: users/templates/users/user_group_granted_asset.html:47
#: users/templates/users/user_group_granted_asset.html:47
msgid "Reachable"
msgid "Reachable"
msgstr "可连接"
msgstr "可连接"
#: assets/templates/assets/admin_user_assets.html:66
#: assets/templates/assets/admin_user_assets.html:66
#: assets/templates/assets/system_user_asset.html:64
#: assets/templates/assets/system_user_asset.html:64
#: assets/templates/assets/system_user_detail.html:11
2
#: assets/templates/assets/system_user_detail.html:11
6
#: perms/templates/perms/asset_permission_detail.html:114
#: perms/templates/perms/asset_permission_detail.html:114
msgid "Quick update"
msgid "Quick update"
msgstr "快速更新"
msgstr "快速更新"
...
@@ -722,7 +744,7 @@ msgstr "测试可连接性"
...
@@ -722,7 +744,7 @@ msgstr "测试可连接性"
#: assets/templates/assets/admin_user_assets.html:75
#: assets/templates/assets/admin_user_assets.html:75
#: assets/templates/assets/asset_detail.html:171
#: assets/templates/assets/asset_detail.html:171
#: assets/templates/assets/system_user_asset.html:81
#: assets/templates/assets/system_user_asset.html:81
#: assets/templates/assets/system_user_detail.html:1
47
#: assets/templates/assets/system_user_detail.html:1
51
msgid "Test"
msgid "Test"
msgstr "测试"
msgstr "测试"
...
@@ -736,7 +758,7 @@ msgstr "测试"
...
@@ -736,7 +758,7 @@ msgstr "测试"
#: assets/templates/assets/domain_list.html:42
#: assets/templates/assets/domain_list.html:42
#: assets/templates/assets/label_list.html:38
#: assets/templates/assets/label_list.html:38
#: assets/templates/assets/system_user_detail.html:26
#: assets/templates/assets/system_user_detail.html:26
#: assets/templates/assets/system_user_list.html:8
8
#: assets/templates/assets/system_user_list.html:8
9
#: perms/templates/perms/asset_permission_detail.html:30
#: perms/templates/perms/asset_permission_detail.html:30
#: perms/templates/perms/asset_permission_list.html:191
#: perms/templates/perms/asset_permission_list.html:191
#: terminal/templates/terminal/terminal_detail.html:16
#: terminal/templates/terminal/terminal_detail.html:16
...
@@ -760,7 +782,7 @@ msgstr "更新"
...
@@ -760,7 +782,7 @@ msgstr "更新"
#: assets/templates/assets/domain_list.html:43
#: assets/templates/assets/domain_list.html:43
#: assets/templates/assets/label_list.html:39
#: assets/templates/assets/label_list.html:39
#: assets/templates/assets/system_user_detail.html:30
#: assets/templates/assets/system_user_detail.html:30
#: assets/templates/assets/system_user_list.html:
89
#: assets/templates/assets/system_user_list.html:
90
#: ops/templates/ops/task_list.html:72
#: ops/templates/ops/task_list.html:72
#: perms/templates/perms/asset_permission_detail.html:34
#: perms/templates/perms/asset_permission_detail.html:34
#: perms/templates/perms/asset_permission_list.html:192
#: perms/templates/perms/asset_permission_list.html:192
...
@@ -785,8 +807,8 @@ msgstr "选择节点"
...
@@ -785,8 +807,8 @@ msgstr "选择节点"
#: assets/templates/assets/admin_user_detail.html:100
#: assets/templates/assets/admin_user_detail.html:100
#: assets/templates/assets/asset_detail.html:200
#: assets/templates/assets/asset_detail.html:200
#: assets/templates/assets/asset_list.html:638
#: assets/templates/assets/asset_list.html:638
#: assets/templates/assets/system_user_detail.html:19
2
#: assets/templates/assets/system_user_detail.html:19
6
#: assets/templates/assets/system_user_list.html:13
8
templates/_modal.html:22
#: assets/templates/assets/system_user_list.html:13
9
templates/_modal.html:22
#: terminal/templates/terminal/session_detail.html:108
#: terminal/templates/terminal/session_detail.html:108
#: users/templates/users/user_detail.html:366
#: users/templates/users/user_detail.html:366
#: users/templates/users/user_detail.html:391
#: users/templates/users/user_detail.html:391
...
@@ -804,12 +826,12 @@ msgid "Create admin user"
...
@@ -804,12 +826,12 @@ msgid "Create admin user"
msgstr "创建管理用户"
msgstr "创建管理用户"
#: assets/templates/assets/admin_user_list.html:27
#: assets/templates/assets/admin_user_list.html:27
#: assets/templates/assets/system_user_list.html:3
1
#: assets/templates/assets/system_user_list.html:3
2
msgid "Unreachable"
msgid "Unreachable"
msgstr "不可达"
msgstr "不可达"
#: assets/templates/assets/admin_user_list.html:28
#: assets/templates/assets/admin_user_list.html:28
#: assets/templates/assets/system_user_list.html:3
2
#: assets/templates/assets/system_user_list.html:3
3
#: ops/templates/ops/adhoc_history.html:54
#: ops/templates/ops/adhoc_history.html:54
#: ops/templates/ops/task_history.html:60
#: ops/templates/ops/task_history.html:60
msgid "Ratio"
msgid "Ratio"
...
@@ -820,7 +842,7 @@ msgstr "比例"
...
@@ -820,7 +842,7 @@ msgstr "比例"
#: assets/templates/assets/domain_gateway_list.html:62
#: assets/templates/assets/domain_gateway_list.html:62
#: assets/templates/assets/domain_list.html:18
#: assets/templates/assets/domain_list.html:18
#: assets/templates/assets/label_list.html:17
#: assets/templates/assets/label_list.html:17
#: assets/templates/assets/system_user_list.html:3
4
#: assets/templates/assets/system_user_list.html:3
5
#: ops/templates/ops/adhoc_history.html:59 ops/templates/ops/task_adhoc.html:64
#: ops/templates/ops/adhoc_history.html:59 ops/templates/ops/task_adhoc.html:64
#: ops/templates/ops/task_history.html:65 ops/templates/ops/task_list.html:42
#: ops/templates/ops/task_history.html:65 ops/templates/ops/task_list.html:42
#: perms/templates/perms/asset_permission_list.html:60
#: perms/templates/perms/asset_permission_list.html:60
...
@@ -978,7 +1000,7 @@ msgid "Have assets, cancel"
...
@@ -978,7 +1000,7 @@ msgid "Have assets, cancel"
msgstr "存在资产,不能删除"
msgstr "存在资产,不能删除"
#: assets/templates/assets/asset_list.html:633
#: assets/templates/assets/asset_list.html:633
#: assets/templates/assets/system_user_list.html:13
3
#: assets/templates/assets/system_user_list.html:13
4
#: users/templates/users/user_detail.html:361
#: users/templates/users/user_detail.html:361
#: users/templates/users/user_detail.html:386
#: users/templates/users/user_detail.html:386
#: users/templates/users/user_group_list.html:81
#: users/templates/users/user_group_list.html:81
...
@@ -1053,17 +1075,17 @@ msgid "Assets of "
...
@@ -1053,17 +1075,17 @@ msgid "Assets of "
msgstr "资产"
msgstr "资产"
#: assets/templates/assets/system_user_asset.html:70
#: assets/templates/assets/system_user_asset.html:70
#: assets/templates/assets/system_user_detail.html:13
5
#: assets/templates/assets/system_user_detail.html:13
9
msgid "Push system user now"
msgid "Push system user now"
msgstr "立刻推送系统"
msgstr "立刻推送系统"
#: assets/templates/assets/system_user_asset.html:73
#: assets/templates/assets/system_user_asset.html:73
#: assets/templates/assets/system_user_detail.html:1
38
#: assets/templates/assets/system_user_detail.html:1
42
msgid "Push"
msgid "Push"
msgstr "推送"
msgstr "推送"
#: assets/templates/assets/system_user_asset.html:78
#: assets/templates/assets/system_user_asset.html:78
#: assets/templates/assets/system_user_detail.html:14
4
#: assets/templates/assets/system_user_detail.html:14
8
msgid "Test assets connective"
msgid "Test assets connective"
msgstr "测试资产可连接性"
msgstr "测试资产可连接性"
...
@@ -1075,28 +1097,28 @@ msgstr "任务已下发,查看ops任务列表"
...
@@ -1075,28 +1097,28 @@ msgstr "任务已下发,查看ops任务列表"
msgid "Task has been send, seen left assets status"
msgid "Task has been send, seen left assets status"
msgstr "任务已下发,查看左侧资产状态"
msgstr "任务已下发,查看左侧资产状态"
#: assets/templates/assets/system_user_detail.html:8
1
#: assets/templates/assets/system_user_detail.html:8
5
msgid "Home"
msgid "Home"
msgstr "家目录"
msgstr "家目录"
#: assets/templates/assets/system_user_detail.html:
87
#: assets/templates/assets/system_user_detail.html:
91
msgid "Uid"
msgid "Uid"
msgstr "Uid"
msgstr "Uid"
#: assets/templates/assets/system_user_detail.html:15
3
#: assets/templates/assets/system_user_detail.html:15
7
#: assets/templates/assets/system_user_detail.html:3
39
#: assets/templates/assets/system_user_detail.html:3
43
msgid "Clear auth"
msgid "Clear auth"
msgstr "清除认证信息"
msgstr "清除认证信息"
#: assets/templates/assets/system_user_detail.html:1
56
#: assets/templates/assets/system_user_detail.html:1
60
msgid "Clear"
msgid "Clear"
msgstr "清除"
msgstr "清除"
#: assets/templates/assets/system_user_detail.html:18
3
#: assets/templates/assets/system_user_detail.html:18
7
msgid "Add to node"
msgid "Add to node"
msgstr "添加到节点"
msgstr "添加到节点"
#: assets/templates/assets/system_user_detail.html:3
39
#: assets/templates/assets/system_user_detail.html:3
43
msgid "success"
msgid "success"
msgstr "成功"
msgstr "成功"
...
@@ -1105,20 +1127,20 @@ msgstr "成功"
...
@@ -1105,20 +1127,20 @@ msgstr "成功"
msgid "Create system user"
msgid "Create system user"
msgstr "创建系统用户"
msgstr "创建系统用户"
#: assets/templates/assets/system_user_list.html:13
4
#: assets/templates/assets/system_user_list.html:13
5
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:14
2
#: assets/templates/assets/system_user_list.html:14
3
msgid "System Users Deleted."
msgid "System Users Deleted."
msgstr "已被删除"
msgstr "已被删除"
#: assets/templates/assets/system_user_list.html:14
3
#: assets/templates/assets/system_user_list.html:14
4
#: assets/templates/assets/system_user_list.html:14
8
#: assets/templates/assets/system_user_list.html:14
9
msgid "System Users Delete"
msgid "System Users Delete"
msgstr "删除系统用户"
msgstr "删除系统用户"
#: assets/templates/assets/system_user_list.html:14
7
#: assets/templates/assets/system_user_list.html:14
8
msgid "System Users Deleting failed."
msgid "System Users Deleting failed."
msgstr "系统用户删除失败"
msgstr "系统用户删除失败"
...
@@ -1805,8 +1827,8 @@ msgstr "任务列表"
...
@@ -1805,8 +1827,8 @@ msgstr "任务列表"
msgid "Task run history"
msgid "Task run history"
msgstr "执行历史"
msgstr "执行历史"
#: perms/forms.py:18 users/forms.py:23
8 users/forms.py:243 users/forms.py:255
#: perms/forms.py:18 users/forms.py:23
9 users/forms.py:244 users/forms.py:256
#: users/forms.py:28
5
#: users/forms.py:28
6
msgid "Select users"
msgid "Select users"
msgstr "选择用户"
msgstr "选择用户"
...
@@ -1958,14 +1980,14 @@ msgstr "商业支持"
...
@@ -1958,14 +1980,14 @@ msgstr "商业支持"
msgid "Docs"
msgid "Docs"
msgstr "文档"
msgstr "文档"
#: templates/_header_bar.html:37 templates/_nav_user.html:9 users/forms.py:12
1
#: templates/_header_bar.html:37 templates/_nav_user.html:9 users/forms.py:12
2
#: users/templates/users/_user.html:39
#: users/templates/users/_user.html:39
#: users/templates/users/first_login.html:39
#: users/templates/users/first_login.html:39
#: users/templates/users/user_password_update.html:39
#: users/templates/users/user_password_update.html:39
#: 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
4
#: users/templates/users/user_pubkey_update.html:37 users/views/user.py:34
1
msgid "Profile"
msgid "Profile"
msgstr "个人信息"
msgstr "个人信息"
...
@@ -2022,13 +2044,13 @@ msgstr "关闭"
...
@@ -2022,13 +2044,13 @@ 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:6
6
#: users/views/login.py:277 users/views/login.py:335 users/views/user.py:6
5
#: users/views/user.py:8
1 users/views/user.py:103 users/views/user.py:174
#: users/views/user.py:8
0 users/views/user.py:102 users/views/user.py:173
#: users/views/user.py:32
9 users/views/user.py:381 users/views/user.py:416
#: users/views/user.py:32
8 users/views/user.py:378 users/views/user.py:413
msgid "Users"
msgid "Users"
msgstr "用户管理"
msgstr "用户管理"
#: templates/_nav.html:13 users/views/user.py:6
7
#: templates/_nav.html:13 users/views/user.py:6
6
msgid "User list"
msgid "User list"
msgstr "用户列表"
msgstr "用户列表"
...
@@ -2334,11 +2356,11 @@ msgstr ""
...
@@ -2334,11 +2356,11 @@ msgstr ""
msgid "Invalid token or cache refreshed."
msgid "Invalid token or cache refreshed."
msgstr ""
msgstr ""
#: users/forms.py:3
8
#: users/forms.py:3
9
msgid "MFA code"
msgid "MFA code"
msgstr "MFA 验证码"
msgstr "MFA 验证码"
#: users/forms.py:
49
users/models/user.py:59
#: users/forms.py:
50
users/models/user.py:59
#: users/templates/users/_select_user_modal.html:15
#: users/templates/users/_select_user_modal.html:15
#: users/templates/users/user_detail.html:87
#: users/templates/users/user_detail.html:87
#: users/templates/users/user_list.html:25
#: users/templates/users/user_list.html:25
...
@@ -2346,31 +2368,31 @@ msgstr "MFA 验证码"
...
@@ -2346,31 +2368,31 @@ msgstr "MFA 验证码"
msgid "Role"
msgid "Role"
msgstr "角色"
msgstr "角色"
#: users/forms.py:5
2 users/forms.py:201
#: users/forms.py:5
3 users/forms.py:202
msgid "ssh public key"
msgid "ssh public key"
msgstr "ssh公钥"
msgstr "ssh公钥"
#: users/forms.py:5
3 users/forms.py:202
#: users/forms.py:5
4 users/forms.py:203
msgid "ssh-rsa AAAA..."
msgid "ssh-rsa AAAA..."
msgstr ""
msgstr ""
#: users/forms.py:5
4
#: users/forms.py:5
5
msgid "Paste user id_rsa.pub here."
msgid "Paste user id_rsa.pub here."
msgstr "复制用户公钥到这里"
msgstr "复制用户公钥到这里"
#: users/forms.py:7
2
users/templates/users/user_detail.html:200
#: users/forms.py:7
3
users/templates/users/user_detail.html:200
msgid "Join user groups"
msgid "Join user groups"
msgstr "添加到用户组"
msgstr "添加到用户组"
#: users/forms.py:8
3 users/forms.py:216
#: users/forms.py:8
4 users/forms.py:217
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:8
7 users/forms.py:220
users/serializers.py:48
#: users/forms.py:8
8 users/forms.py:221
users/serializers.py:48
msgid "Not a valid ssh public key"
msgid "Not a valid ssh public key"
msgstr "ssh密钥不合法"
msgstr "ssh密钥不合法"
#: users/forms.py:12
7
#: users/forms.py:12
8
msgid ""
msgid ""
"Tip: when enabled, you will enter the MFA binding process the next time you "
"Tip: when enabled, you will enter the MFA binding process the next time you "
"log in. you can also directly bind in \"personal information -> quick "
"log in. you can also directly bind in \"personal information -> quick "
...
@@ -2379,16 +2401,16 @@ msgstr ""
...
@@ -2379,16 +2401,16 @@ msgstr ""
"提示:启用之后您将会在下次登录时进入MFA绑定流程;您也可以在(个人信息->快速修"
"提示:启用之后您将会在下次登录时进入MFA绑定流程;您也可以在(个人信息->快速修"
"改->更改MFA设置)中直接绑定!"
"改->更改MFA设置)中直接绑定!"
#: users/forms.py:13
7
#: users/forms.py:13
8
msgid "* Enable MFA authentication to make the account more secure."
msgid "* Enable MFA authentication to make the account more secure."
msgstr "* 启用MFA认证,使账号更加安全."
msgstr "* 启用MFA认证,使账号更加安全."
#: users/forms.py:14
2
users/models/user.py:71
#: users/forms.py:14
3
users/models/user.py:71
#: users/templates/users/first_login.html:45
#: users/templates/users/first_login.html:45
msgid "MFA"
msgid "MFA"
msgstr "MFA"
msgstr "MFA"
#: users/forms.py:14
7
#: users/forms.py:14
8
msgid ""
msgid ""
"In order to protect you and your company, please keep your account, password "
"In order to protect you and your company, please keep your account, password "
"and key sensitive information properly. (for example: setting complex "
"and key sensitive information properly. (for example: setting complex "
...
@@ -2397,41 +2419,41 @@ msgstr ""
...
@@ -2397,41 +2419,41 @@ msgstr ""
"为了保护您和公司的安全,请妥善保管您的账户、密码和密钥等重要敏感信息;(如:"
"为了保护您和公司的安全,请妥善保管您的账户、密码和密钥等重要敏感信息;(如:"
"设置复杂密码,启用MFA认证)"
"设置复杂密码,启用MFA认证)"
#: users/forms.py:15
4
users/templates/users/first_login.html:48
#: users/forms.py:15
5
users/templates/users/first_login.html:48
#: users/templates/users/first_login.html:107
#: users/templates/users/first_login.html:107
#: users/templates/users/first_login.html:130
#: users/templates/users/first_login.html:130
msgid "Finish"
msgid "Finish"
msgstr "完成"
msgstr "完成"
#: users/forms.py:16
0
#: users/forms.py:16
1
msgid "Old password"
msgid "Old password"
msgstr "原来密码"
msgstr "原来密码"
#: users/forms.py:16
5
#: users/forms.py:16
6
msgid "New password"
msgid "New password"
msgstr "新密码"
msgstr "新密码"
#: users/forms.py:17
0
#: users/forms.py:17
1
msgid "Confirm password"
msgid "Confirm password"
msgstr "确认密码"
msgstr "确认密码"
#: users/forms.py:18
0
#: users/forms.py:18
1
msgid "Old password error"
msgid "Old password error"
msgstr "原来密码错误"
msgstr "原来密码错误"
#: users/forms.py:18
8
#: users/forms.py:18
9
msgid "Password does not match"
msgid "Password does not match"
msgstr "密码不一致"
msgstr "密码不一致"
#: users/forms.py:
199
#: users/forms.py:
200
msgid "Automatically configure and download the SSH key"
msgid "Automatically configure and download the SSH key"
msgstr "自动配置并下载SSH密钥"
msgstr "自动配置并下载SSH密钥"
#: users/forms.py:20
3
#: users/forms.py:20
4
msgid "Paste your id_rsa.pub here."
msgid "Paste your id_rsa.pub here."
msgstr "复制你的公钥到这里"
msgstr "复制你的公钥到这里"
#: users/forms.py:23
1
users/models/user.py:79
#: users/forms.py:23
2
users/models/user.py:79
#: users/templates/users/first_login.html:42
#: users/templates/users/first_login.html:42
#: users/templates/users/user_password_update.html:45
#: users/templates/users/user_password_update.html:45
#: users/templates/users/user_profile.html:68
#: users/templates/users/user_profile.html:68
...
@@ -2464,7 +2486,7 @@ msgstr "Agent"
...
@@ -2464,7 +2486,7 @@ msgstr "Agent"
msgid "Date login"
msgid "Date login"
msgstr "登录日期"
msgstr "登录日期"
#: users/models/user.py:30 users/models/user.py:3
39
#: users/models/user.py:30 users/models/user.py:3
41
msgid "Administrator"
msgid "Administrator"
msgstr "管理员"
msgstr "管理员"
...
@@ -2506,7 +2528,7 @@ msgstr "微信"
...
@@ -2506,7 +2528,7 @@ msgstr "微信"
msgid "Source"
msgid "Source"
msgstr "用户来源"
msgstr "用户来源"
#: users/models/user.py:34
2
#: users/models/user.py:34
4
msgid "Administrator is the super user of system"
msgid "Administrator is the super user of system"
msgstr "Administrator是初始的超级管理员"
msgstr "Administrator是初始的超级管理员"
...
@@ -2649,7 +2671,7 @@ msgid "Setting"
...
@@ -2649,7 +2671,7 @@ msgid "Setting"
msgstr "设置"
msgstr "设置"
#: users/templates/users/user_create.html:4
#: users/templates/users/user_create.html:4
#: users/templates/users/user_list.html:16 users/views/user.py:8
1
#: users/templates/users/user_list.html:16 users/views/user.py:8
0
msgid "Create user"
msgid "Create user"
msgstr "创建用户"
msgstr "创建用户"
...
@@ -2658,7 +2680,7 @@ msgid "Reset link will be generated and sent to the user. "
...
@@ -2658,7 +2680,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
5
#: users/templates/users/user_granted_asset.html:18 users/views/user.py:17
4
msgid "User detail"
msgid "User detail"
msgstr "用户详情"
msgstr "用户详情"
...
@@ -2793,8 +2815,8 @@ msgstr "用户删除失败"
...
@@ -2793,8 +2815,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
4
#: users/templates/users/user_profile.html:116 users/views/user.py:20
3
#: users/views/user.py:25
8
#: users/views/user.py:25
7
msgid "User groups"
msgid "User groups"
msgstr "用户组"
msgstr "用户组"
...
@@ -2840,7 +2862,7 @@ msgid ""
...
@@ -2840,7 +2862,7 @@ msgid ""
"corresponding private key."
"corresponding private key."
msgstr "新的公钥已设置成功,请下载对应的私钥"
msgstr "新的公钥已设置成功,请下载对应的私钥"
#: users/templates/users/user_update.html:4 users/views/user.py:10
4
#: users/templates/users/user_update.html:4 users/views/user.py:10
3
msgid "Update user"
msgid "Update user"
msgstr "更新用户"
msgstr "更新用户"
...
@@ -2998,7 +3020,7 @@ msgstr "用户组授权资产"
...
@@ -2998,7 +3020,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:
501 users/views/user.py:526
#: users/views/login.py:128 users/views/user.py:
498 users/views/user.py:523
msgid "MFA code invalid"
msgid "MFA code invalid"
msgstr "MFA码认证失败"
msgstr "MFA码认证失败"
...
@@ -3039,7 +3061,7 @@ msgstr "Token错误或失效"
...
@@ -3039,7 +3061,7 @@ msgstr "Token错误或失效"
msgid "Password not same"
msgid "Password not same"
msgstr "密码不一致"
msgstr "密码不一致"
#: users/views/login.py:239 users/views/user.py:11
6 users/views/user.py:399
#: users/views/login.py:239 users/views/user.py:11
5 users/views/user.py:396
msgid "* Your password does not meet the requirements"
msgid "* Your password does not meet the requirements"
msgstr "* 您的密码不符合要求"
msgstr "* 您的密码不符合要求"
...
@@ -3051,46 +3073,46 @@ msgstr "首次登陆"
...
@@ -3051,46 +3073,46 @@ msgstr "首次登陆"
msgid "Login log list"
msgid "Login log list"
msgstr "登录日志"
msgstr "登录日志"
#: users/views/user.py:12
8
#: users/views/user.py:12
7
msgid "Bulk update user success"
msgid "Bulk update user success"
msgstr "批量更新用户成功"
msgstr "批量更新用户成功"
#: users/views/user.py:23
3
#: users/views/user.py:23
2
msgid "Invalid file."
msgid "Invalid file."
msgstr "文件不合法"
msgstr "文件不合法"
#: users/views/user.py:3
30
#: users/views/user.py:3
29
msgid "User granted assets"
msgid "User granted assets"
msgstr "用户授权资产"
msgstr "用户授权资产"
#: users/views/user.py:36
3
#: users/views/user.py:36
0
msgid "Profile setting"
msgid "Profile setting"
msgstr "个人信息设置"
msgstr "个人信息设置"
#: users/views/user.py:3
82
#: users/views/user.py:3
79
msgid "Password update"
msgid "Password update"
msgstr "密码更新"
msgstr "密码更新"
#: users/views/user.py:41
7
#: users/views/user.py:41
4
msgid "Public key update"
msgid "Public key update"
msgstr "密钥更新"
msgstr "密钥更新"
#: users/views/user.py:45
8
#: users/views/user.py:45
5
msgid "Password invalid"
msgid "Password invalid"
msgstr "用户名或密码无效"
msgstr "用户名或密码无效"
#: users/views/user.py:5
52
#: users/views/user.py:5
49
msgid "MFA enable success"
msgid "MFA enable success"
msgstr "MFA 绑定成功"
msgstr "MFA 绑定成功"
#: users/views/user.py:55
3
#: users/views/user.py:55
0
msgid "MFA enable success, return login page"
msgid "MFA enable success, return login page"
msgstr "MFA 绑定成功,返回到登录页面"
msgstr "MFA 绑定成功,返回到登录页面"
#: users/views/user.py:55
5
#: users/views/user.py:55
2
msgid "MFA disable success"
msgid "MFA disable success"
msgstr "MFA 解绑成功"
msgstr "MFA 解绑成功"
#: users/views/user.py:55
6
#: users/views/user.py:55
3
msgid "MFA disable success, return login page"
msgid "MFA disable success, return login page"
msgstr "MFA 解绑成功,返回登录页面"
msgstr "MFA 解绑成功,返回登录页面"
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