Commit 106abc24 authored by ibuler's avatar ibuler

Merge branch 'dev' of github.com:jumpserver/jumpserver into dev

parents d2516cc3 ab520ee3
......@@ -107,6 +107,21 @@ function hiddenFields(){
});
$('.' + app_type + '-fields').removeClass('hidden');
}
function constructParams(data) {
var typeList = ['chrome', 'mysql_workbench', 'vmware_client', 'custom'];
var params = {};
for (var type in typeList){
if (data.type === type){
for (var k in data){
if (k.startsWith(data.type)){
params[k] = data[k]
}
}
break
}
}
return params;
}
$(document).ready(function () {
$('.select2').select2({
closeOnSelect: true
......@@ -118,6 +133,28 @@ $(document).ready(function () {
.on('change', app_type_id, function(){
hiddenFields();
setDefaultValue();
});
})
.on("submit", "form", function (evt) {
evt.preventDefault();
var the_url = '{% url "api-applications:remote-app-list" %}';
var redirect_to = '{% url "applications:remote-app-list" %}';
var method = "POST";
{% if type == "update" %}
the_url = '{% url "api-applications:remote-app-detail" object.id %}';
method = "PUT";
{% endif %}
var form = $("form");
var data = form.serializeObject();
data["params"] = constructParams(data);
var props = {
url: the_url,
data: data,
method: method,
form: form,
redirect_to: redirect_to
};
formSubmit(props);
})
;
</script>
{% endblock %}
\ No newline at end of file
......@@ -46,6 +46,7 @@ class RemoteAppCreateView(PermissionsMixin, SuccessMessageMixin, CreateView):
context = {
'app': _('Applications'),
'action': _('Create RemoteApp'),
'type': 'create'
}
kwargs.update(context)
return super().get_context_data(**kwargs)
......@@ -68,6 +69,7 @@ class RemoteAppUpdateView(PermissionsMixin, SuccessMessageMixin, UpdateView):
context = {
'app': _('Applications'),
'action': _('Update RemoteApp'),
'type': 'update'
}
kwargs.update(context)
return super().get_context_data(**kwargs)
......
......@@ -85,7 +85,7 @@ class AssetViewSet(LabelFilter, OrgBulkModelViewSet):
queryset = queryset.filter(
nodes__key__regex='^{}(:[0-9]+)*$'.format(node.key),
)
return queryset
return queryset.distinct()
def filter_admin_user_id(self, queryset):
admin_user_id = self.request.query_params.get('admin_user_id')
......
......@@ -2,6 +2,7 @@
#
from django import forms
from django.core.exceptions import ValidationError
from django.utils.translation import ugettext_lazy as _
import re
from orgs.mixins import OrgModelForm
......
......@@ -2,6 +2,7 @@
#
import re
from rest_framework import serializers
from django.utils.translation import ugettext_lazy as _
from common.fields import ChoiceDisplayField
from common.serializers import AdaptedBulkListSerializer
......
......@@ -115,7 +115,7 @@ function initTable() {
}}],
ajax_url: '{% url "api-assets:admin-user-list" %}',
columns: [
{data: function(){return ""}}, {data: "name"}, {data: "username" }, {data: "assets_amount" },
{data: function(){return ""}}, {data: "name"}, {data: "username" }, {data: "assets_amount", orderable: false},
{#{data: "connectivity_amount"}, {data: "connectivity_amount"}, {data: "connectivity_amount"},#}
{data: "comment"}, {data: "id"}
]
......
......@@ -359,6 +359,7 @@ defaults = {
'TERMINAL_TELNET_REGEX': '',
'TERMINAL_COMMAND_STORAGE': {},
'SECURITY_MFA_AUTH': False,
'SECURITY_SERVICE_ACCOUNT_REGISTRATION': True,
'SECURITY_LOGIN_LIMIT_COUNT': 7,
'SECURITY_LOGIN_LIMIT_TIME': 30,
'SECURITY_MAX_IDLE_TIME': 30,
......
......@@ -568,7 +568,7 @@ SECURITY_PASSWORD_RULES = [
'SECURITY_PASSWORD_SPECIAL_CHAR'
]
SECURITY_MFA_VERIFY_TTL = CONFIG.SECURITY_MFA_VERIFY_TTL
SECURITY_SERVICE_ACCOUNT_REGISTRATION = CONFIG.SECURITY_SERVICE_ACCOUNT_REGISTRATION
TERMINAL_PASSWORD_AUTH = CONFIG.TERMINAL_PASSWORD_AUTH
TERMINAL_PUBLIC_KEY_AUTH = CONFIG.TERMINAL_PUBLIC_KEY_AUTH
TERMINAL_HEARTBEAT_INTERVAL = CONFIG.TERMINAL_HEARTBEAT_INTERVAL
......
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Jumpserver 0.3.3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-07-11 11:23+0800\n"
"POT-Creation-Date: 2019-07-15 14:43+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: ibuler <ibuler@qq.com>\n"
"Language-Team: Jumpserver team<ibuler@qq.com>\n"
......@@ -76,8 +76,8 @@ msgstr "运行参数"
#: applications/templates/applications/remote_app_list.html:22
#: applications/templates/applications/user_remote_app_list.html:18
#: assets/forms/domain.py:15 assets/forms/label.py:13
#: assets/models/asset.py:342 assets/models/authbook.py:24
#: assets/serializers/admin_user.py:35 assets/serializers/asset_user.py:81
#: assets/models/asset.py:319 assets/models/authbook.py:24
#: assets/serializers/admin_user.py:32 assets/serializers/asset_user.py:81
#: assets/serializers/system_user.py:30
#: assets/templates/assets/admin_user_list.html:47
#: assets/templates/assets/domain_detail.html:60
......@@ -86,7 +86,7 @@ msgstr "运行参数"
#: assets/templates/assets/system_user_list.html:55 audits/models.py:19
#: audits/templates/audits/ftp_log_list.html:41
#: audits/templates/audits/ftp_log_list.html:71
#: perms/forms/asset_permission.py:68 perms/models/asset_permission.py:76
#: perms/forms/asset_permission.py:69 perms/models/asset_permission.py:78
#: perms/templates/perms/asset_permission_create_update.html:45
#: perms/templates/perms/asset_permission_list.html:48
#: perms/templates/perms/asset_permission_list.html:117
......@@ -112,11 +112,11 @@ msgstr "资产"
#: applications/templates/applications/remote_app_detail.html:61
#: applications/templates/applications/remote_app_list.html:23
#: applications/templates/applications/user_remote_app_list.html:19
#: assets/models/user.py:160 assets/templates/assets/user_asset_list.html:172
#: assets/models/user.py:150 assets/templates/assets/user_asset_list.html:52
#: audits/models.py:20 audits/templates/audits/ftp_log_list.html:49
#: audits/templates/audits/ftp_log_list.html:72
#: perms/forms/asset_permission.py:74 perms/models/asset_permission.py:78
#: perms/models/asset_permission.py:103
#: perms/forms/asset_permission.py:75 perms/models/asset_permission.py:80
#: perms/models/asset_permission.py:114
#: perms/templates/perms/asset_permission_detail.html:140
#: perms/templates/perms/asset_permission_list.html:50
#: perms/templates/perms/asset_permission_list.html:71
......@@ -126,6 +126,7 @@ msgstr "资产"
#: terminal/templates/terminal/command_list.html:67
#: terminal/templates/terminal/session_list.html:29
#: terminal/templates/terminal/session_list.html:73
#: users/templates/users/_granted_assets.html:26
#: xpack/plugins/orgs/templates/orgs/org_list.html:19
msgid "System user"
msgstr "系统用户"
......@@ -166,7 +167,7 @@ msgstr "系统用户"
#: settings/templates/settings/terminal_setting.html:105 terminal/models.py:22
#: terminal/models.py:258 terminal/templates/terminal/terminal_detail.html:43
#: terminal/templates/terminal/terminal_list.html:29 users/models/group.py:14
#: users/models/user.py:64 users/templates/users/_select_user_modal.html:13
#: users/models/user.py:324 users/templates/users/_select_user_modal.html:13
#: users/templates/users/user_detail.html:63
#: users/templates/users/user_group_detail.html:55
#: users/templates/users/user_group_list.html:35
......@@ -205,7 +206,7 @@ msgstr "参数"
#: applications/models/remote_app.py:43
#: applications/templates/applications/remote_app_detail.html:77
#: assets/models/asset.py:221 assets/models/base.py:36
#: assets/models/asset.py:198 assets/models/base.py:36
#: assets/models/cluster.py:28 assets/models/cmd_filter.py:25
#: assets/models/cmd_filter.py:58 assets/models/group.py:21
#: assets/templates/assets/admin_user_detail.html:68
......@@ -214,10 +215,10 @@ msgstr "参数"
#: assets/templates/assets/domain_detail.html:72
#: assets/templates/assets/system_user_detail.html:100
#: ops/templates/ops/adhoc_detail.html:86 orgs/models.py:14
#: perms/models/asset_permission.py:106 perms/models/base.py:41
#: perms/models/asset_permission.py:117 perms/models/base.py:41
#: perms/templates/perms/asset_permission_detail.html:98
#: perms/templates/perms/remote_app_permission_detail.html:90
#: users/models/user.py:105 users/serializers/v1.py:116
#: users/models/user.py:365 users/serializers/v1.py:120
#: users/templates/users/user_detail.html:111
#: xpack/plugins/change_auth_plan/models.py:106
#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:113
......@@ -229,7 +230,7 @@ msgstr "创建者"
# msgstr "创建者"
#: applications/models/remote_app.py:46
#: applications/templates/applications/remote_app_detail.html:73
#: assets/models/asset.py:222 assets/models/base.py:34
#: assets/models/asset.py:199 assets/models/base.py:34
#: assets/models/cluster.py:26 assets/models/domain.py:23
#: assets/models/group.py:22 assets/models/label.py:25
#: assets/templates/assets/admin_user_detail.html:64
......@@ -237,7 +238,7 @@ msgstr "创建者"
#: assets/templates/assets/domain_detail.html:68
#: assets/templates/assets/system_user_detail.html:96
#: ops/templates/ops/adhoc_detail.html:90 ops/templates/ops/task_detail.html:64
#: orgs/models.py:15 perms/models/asset_permission.py:107
#: orgs/models.py:15 perms/models/asset_permission.py:118
#: perms/models/base.py:42
#: perms/templates/perms/asset_permission_detail.html:94
#: perms/templates/perms/remote_app_permission_detail.html:86
......@@ -257,7 +258,7 @@ msgstr "创建日期"
#: applications/templates/applications/remote_app_detail.html:81
#: applications/templates/applications/remote_app_list.html:24
#: applications/templates/applications/user_remote_app_list.html:20
#: assets/models/asset.py:223 assets/models/base.py:33
#: assets/models/asset.py:200 assets/models/base.py:33
#: assets/models/cluster.py:29 assets/models/cmd_filter.py:22
#: assets/models/cmd_filter.py:55 assets/models/domain.py:21
#: assets/models/domain.py:53 assets/models/group.py:23
......@@ -271,15 +272,14 @@ msgstr "创建日期"
#: assets/templates/assets/domain_gateway_list.html:72
#: assets/templates/assets/domain_list.html:28
#: assets/templates/assets/system_user_detail.html:104
#: assets/templates/assets/system_user_list.html:59
#: assets/templates/assets/user_asset_list.html:175 ops/models/adhoc.py:43
#: orgs/models.py:16 perms/models/asset_permission.py:108
#: assets/templates/assets/system_user_list.html:59 ops/models/adhoc.py:43
#: orgs/models.py:16 perms/models/asset_permission.py:119
#: perms/models/base.py:43
#: perms/templates/perms/asset_permission_detail.html:102
#: perms/templates/perms/remote_app_permission_detail.html:94
#: settings/models.py:34 terminal/models.py:32
#: terminal/templates/terminal/terminal_detail.html:63 users/models/group.py:15
#: users/models/user.py:97 users/templates/users/user_detail.html:127
#: users/models/user.py:357 users/templates/users/user_detail.html:127
#: users/templates/users/user_group_detail.html:67
#: users/templates/users/user_group_list.html:37
#: users/templates/users/user_profile.html:134
......@@ -522,8 +522,7 @@ msgstr "创建远程应用"
#: assets/templates/assets/domain_gateway_list.html:73
#: assets/templates/assets/domain_list.html:29
#: assets/templates/assets/label_list.html:17
#: assets/templates/assets/system_user_list.html:60
#: assets/templates/assets/user_asset_list.html:48 audits/models.py:38
#: assets/templates/assets/system_user_list.html:60 audits/models.py:38
#: audits/templates/audits/operate_log_list.html:41
#: audits/templates/audits/operate_log_list.html:67
#: ops/templates/ops/adhoc_history.html:59 ops/templates/ops/task_adhoc.html:64
......@@ -537,6 +536,7 @@ msgstr "创建远程应用"
#: settings/templates/settings/terminal_setting.html:107
#: terminal/templates/terminal/session_list.html:36
#: terminal/templates/terminal/terminal_list.html:36
#: users/templates/users/_granted_assets.html:28
#: users/templates/users/user_group_list.html:38
#: users/templates/users/user_list.html:41
#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_list.html:60
......@@ -549,8 +549,8 @@ msgid "Action"
msgstr "动作"
#: applications/templates/applications/user_remote_app_list.html:57
#: assets/templates/assets/user_asset_list.html:100
#: perms/models/asset_permission.py:28
#: assets/templates/assets/user_asset_list.html:31
#: perms/models/asset_permission.py:30
msgid "Connect"
msgstr "连接"
......@@ -603,7 +603,6 @@ msgstr "不可达"
#: assets/const.py:78 assets/models/utils.py:44
#: assets/templates/assets/asset_list.html:99
#: users/templates/users/user_group_granted_asset.html:47
msgid "Reachable"
msgstr "可连接"
......@@ -612,24 +611,23 @@ msgstr "可连接"
msgid "Unknown"
msgstr "未知"
#: assets/forms/asset.py:24 assets/models/asset.py:187
#: assets/forms/asset.py:24 assets/models/asset.py:164
#: assets/models/domain.py:50
#: assets/templates/assets/domain_gateway_list.html:69
#: assets/templates/assets/user_asset_list.html:168
#: settings/templates/settings/replay_storage_create.html:59
msgid "Port"
msgstr "端口"
#: assets/forms/asset.py:45 assets/models/asset.py:192
#: assets/forms/asset.py:45 assets/models/asset.py:169
#: assets/models/user.py:107 assets/templates/assets/asset_detail.html:190
#: assets/templates/assets/asset_detail.html:198
#: assets/templates/assets/system_user_assets.html:83
#: perms/models/asset_permission.py:77
#: perms/models/asset_permission.py:79
#: xpack/plugins/change_auth_plan/models.py:72
msgid "Nodes"
msgstr "节点"
#: assets/forms/asset.py:48 assets/forms/asset.py:83 assets/models/asset.py:196
#: assets/forms/asset.py:48 assets/forms/asset.py:83 assets/models/asset.py:173
#: assets/models/cluster.py:19 assets/models/user.py:65
#: assets/templates/assets/asset_detail.html:76 templates/_nav.html:24
#: xpack/plugins/cloud/models.py:124
......@@ -642,24 +640,24 @@ msgstr "管理用户"
#: assets/templates/assets/asset_create.html:48
#: assets/templates/assets/asset_create.html:50
#: assets/templates/assets/asset_list.html:85
#: assets/templates/assets/user_asset_list.html:33
#: users/templates/users/_granted_assets.html:16
#: xpack/plugins/orgs/templates/orgs/org_list.html:20
msgid "Label"
msgstr "标签"
#: assets/forms/asset.py:54 assets/forms/asset.py:89 assets/models/asset.py:191
#: assets/forms/asset.py:54 assets/forms/asset.py:89 assets/models/asset.py:168
#: assets/models/domain.py:26 assets/models/domain.py:52
#: assets/templates/assets/asset_detail.html:80
#: assets/templates/assets/user_asset_list.html:173
#: assets/templates/assets/user_asset_list.html:53
#: xpack/plugins/orgs/templates/orgs/org_list.html:17
msgid "Domain"
msgstr "网域"
#: assets/forms/asset.py:58 assets/forms/asset.py:80 assets/forms/asset.py:93
#: assets/forms/asset.py:128 assets/models/node.py:254
#: assets/forms/asset.py:128 assets/models/node.py:253
#: assets/templates/assets/asset_create.html:42
#: perms/forms/asset_permission.py:71 perms/forms/asset_permission.py:78
#: perms/models/asset_permission.py:101
#: perms/forms/asset_permission.py:72 perms/forms/asset_permission.py:79
#: perms/models/asset_permission.py:112
#: perms/templates/perms/asset_permission_list.html:49
#: perms/templates/perms/asset_permission_list.html:70
#: perms/templates/perms/asset_permission_list.html:120
......@@ -691,13 +689,13 @@ msgstr "如果有多个的互相隔离的网络,设置资产属于的网域,
#: assets/forms/asset.py:108 assets/forms/asset.py:112
#: assets/forms/domain.py:17 assets/forms/label.py:15
#: perms/templates/perms/asset_permission_asset.html:88
#: perms/templates/perms/asset_permission_asset.html:78
#: xpack/plugins/change_auth_plan/forms.py:106
#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_asset_list.html:84
msgid "Select assets"
msgstr "选择资产"
#: assets/forms/cmd_filter.py:37 assets/serializers/cmd_filter.py:34
#: assets/forms/cmd_filter.py:37 assets/serializers/cmd_filter.py:40
msgid "Content should not be contain: {}"
msgstr "内容不能包含: {}"
......@@ -726,7 +724,7 @@ msgstr "SSH网关,支持代理SSH,RDP和VNC"
#: perms/templates/perms/asset_permission_user.html:55
#: perms/templates/perms/remote_app_permission_user.html:54
#: settings/templates/settings/_ldap_list_users_modal.html:37 users/forms.py:14
#: users/models/user.py:62 users/templates/users/_select_user_modal.html:14
#: users/models/user.py:322 users/templates/users/_select_user_modal.html:14
#: users/templates/users/user_detail.html:67
#: users/templates/users/user_list.html:36
#: users/templates/users/user_profile.html:47
......@@ -765,7 +763,7 @@ msgstr "密码"
#: assets/forms/user.py:29 assets/serializers/asset_user.py:70
#: assets/templates/assets/_asset_user_auth_update_modal.html:27
#: users/models/user.py:91
#: users/models/user.py:351
msgid "Private key"
msgstr "ssh私钥"
......@@ -805,134 +803,129 @@ msgstr "如果选择手动登录模式,用户名和密码可以不填写"
msgid "Use comma split multi command, ex: /bin/whoami,/bin/ifconfig"
msgstr "使用逗号分隔多个命令,如: /bin/whoami,/sbin/ifconfig"
#: assets/models/asset.py:182 assets/models/domain.py:49
#: assets/models/asset.py:159 assets/models/domain.py:49
#: assets/serializers/asset_user.py:28
#: assets/templates/assets/_asset_list_modal.html:46
#: assets/templates/assets/_asset_user_list.html:15
#: assets/templates/assets/asset_detail.html:64
#: assets/templates/assets/asset_list.html:97
#: assets/templates/assets/domain_gateway_list.html:68
#: assets/templates/assets/user_asset_list.html:45
#: assets/templates/assets/user_asset_list.html:167
#: assets/templates/assets/user_asset_list.html:49
#: audits/templates/audits/login_log_list.html:54
#: perms/templates/perms/asset_permission_asset.html:55 settings/forms.py:140
#: users/templates/users/user_granted_asset.html:45
#: users/templates/users/user_group_granted_asset.html:45
#: perms/templates/perms/asset_permission_asset.html:58 settings/forms.py:140
#: users/templates/users/_granted_assets.html:25
#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_asset_list.html:51
msgid "IP"
msgstr "IP"
#: assets/models/asset.py:183 assets/serializers/asset_user.py:27
#: assets/models/asset.py:160 assets/serializers/asset_user.py:27
#: assets/templates/assets/_asset_list_modal.html:45
#: assets/templates/assets/_asset_user_auth_update_modal.html:9
#: assets/templates/assets/_asset_user_auth_view_modal.html:15
#: assets/templates/assets/_asset_user_list.html:14
#: assets/templates/assets/asset_detail.html:60
#: assets/templates/assets/asset_list.html:96
#: assets/templates/assets/user_asset_list.html:44
#: assets/templates/assets/user_asset_list.html:166
#: perms/templates/perms/asset_permission_asset.html:54
#: assets/templates/assets/user_asset_list.html:48
#: perms/templates/perms/asset_permission_asset.html:57
#: perms/templates/perms/asset_permission_list.html:69 settings/forms.py:139
#: users/templates/users/user_granted_asset.html:44
#: users/templates/users/user_group_granted_asset.html:44
#: users/templates/users/_granted_assets.html:24
#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_asset_list.html:50
msgid "Hostname"
msgstr "主机名"
#: assets/models/asset.py:186 assets/models/domain.py:51
#: assets/models/asset.py:163 assets/models/domain.py:51
#: assets/models/user.py:110 assets/templates/assets/asset_detail.html:72
#: assets/templates/assets/domain_gateway_list.html:70
#: assets/templates/assets/system_user_detail.html:70
#: assets/templates/assets/system_user_list.html:53
#: assets/templates/assets/user_asset_list.html:169
#: terminal/templates/terminal/session_list.html:31
msgid "Protocol"
msgstr "协议"
#: assets/models/asset.py:189 assets/serializers/asset.py:63
#: assets/models/asset.py:166 assets/serializers/asset.py:63
#: assets/templates/assets/asset_create.html:24
#: assets/templates/assets/user_asset_list.html:50
#: perms/serializers/user_permission.py:38
msgid "Protocols"
msgstr "协议组"
#: assets/models/asset.py:190 assets/templates/assets/asset_detail.html:104
#: assets/templates/assets/user_asset_list.html:170
#: assets/models/asset.py:167 assets/templates/assets/asset_detail.html:104
#: assets/templates/assets/user_asset_list.html:51
msgid "Platform"
msgstr "系统平台"
#: assets/models/asset.py:193 assets/models/cmd_filter.py:21
#: assets/models/asset.py:170 assets/models/cmd_filter.py:21
#: assets/models/domain.py:54 assets/models/label.py:22
#: assets/templates/assets/asset_detail.html:112
#: assets/templates/assets/user_asset_list.html:174
msgid "Is active"
msgstr "激活"
#: assets/models/asset.py:199 assets/templates/assets/asset_detail.html:68
#: assets/models/asset.py:176 assets/templates/assets/asset_detail.html:68
msgid "Public IP"
msgstr "公网IP"
#: assets/models/asset.py:200 assets/templates/assets/asset_detail.html:120
#: assets/models/asset.py:177 assets/templates/assets/asset_detail.html:120
msgid "Asset number"
msgstr "资产编号"
#: assets/models/asset.py:203 assets/templates/assets/asset_detail.html:84
#: assets/models/asset.py:180 assets/templates/assets/asset_detail.html:84
msgid "Vendor"
msgstr "制造商"
#: assets/models/asset.py:204 assets/templates/assets/asset_detail.html:88
#: assets/models/asset.py:181 assets/templates/assets/asset_detail.html:88
msgid "Model"
msgstr "型号"
#: assets/models/asset.py:205 assets/templates/assets/asset_detail.html:116
#: assets/models/asset.py:182 assets/templates/assets/asset_detail.html:116
msgid "Serial number"
msgstr "序列号"
#: assets/models/asset.py:207
#: assets/models/asset.py:184
msgid "CPU model"
msgstr "CPU型号"
#: assets/models/asset.py:208
#: assets/models/asset.py:185
#: xpack/plugins/license/templates/license/license_detail.html:80
msgid "CPU count"
msgstr "CPU数量"
#: assets/models/asset.py:209
#: assets/models/asset.py:186
msgid "CPU cores"
msgstr "CPU核数"
#: assets/models/asset.py:210
#: assets/models/asset.py:187
msgid "CPU vcpus"
msgstr "CPU总数"
#: assets/models/asset.py:211 assets/templates/assets/asset_detail.html:96
#: assets/models/asset.py:188 assets/templates/assets/asset_detail.html:96
msgid "Memory"
msgstr "内存"
#: assets/models/asset.py:212
#: assets/models/asset.py:189
msgid "Disk total"
msgstr "硬盘大小"
#: assets/models/asset.py:213
#: assets/models/asset.py:190
msgid "Disk info"
msgstr "硬盘信息"
#: assets/models/asset.py:215 assets/templates/assets/asset_detail.html:108
#: assets/templates/assets/user_asset_list.html:171
#: assets/models/asset.py:192 assets/templates/assets/asset_detail.html:108
msgid "OS"
msgstr "操作系统"
#: assets/models/asset.py:216
#: assets/models/asset.py:193
msgid "OS version"
msgstr "系统版本"
#: assets/models/asset.py:217
#: assets/models/asset.py:194
msgid "OS arch"
msgstr "系统架构"
#: assets/models/asset.py:218
#: assets/models/asset.py:195
msgid "Hostname raw"
msgstr "主机名原始"
#: assets/models/asset.py:220 assets/templates/assets/asset_create.html:46
#: assets/models/asset.py:197 assets/templates/assets/asset_create.html:46
#: assets/templates/assets/asset_detail.html:227 templates/_nav.html:26
msgid "Labels"
msgstr "标签管理"
......@@ -976,7 +969,7 @@ msgstr "带宽"
msgid "Contact"
msgstr "联系人"
#: assets/models/cluster.py:22 users/models/user.py:83
#: assets/models/cluster.py:22 users/models/user.py:343
#: users/templates/users/user_detail.html:76
msgid "Phone"
msgstr "手机"
......@@ -1002,7 +995,7 @@ msgid "Default"
msgstr "默认"
#: assets/models/cluster.py:36 assets/models/label.py:14
#: users/models/user.py:453
#: users/models/user.py:451
msgid "System"
msgstr "系统"
......@@ -1109,7 +1102,7 @@ msgstr "默认资产组"
#: audits/templates/audits/password_change_log_list.html:50
#: ops/templates/ops/command_execution_list.html:35
#: ops/templates/ops/command_execution_list.html:60
#: perms/forms/asset_permission.py:62 perms/forms/remote_app_permission.py:31
#: perms/forms/asset_permission.py:63 perms/forms/remote_app_permission.py:31
#: perms/models/base.py:36
#: perms/templates/perms/asset_permission_create_update.html:41
#: perms/templates/perms/asset_permission_list.html:46
......@@ -1121,8 +1114,8 @@ msgstr "默认资产组"
#: terminal/templates/terminal/command_list.html:65
#: terminal/templates/terminal/session_list.html:27
#: terminal/templates/terminal/session_list.html:71 users/forms.py:316
#: users/models/user.py:38 users/models/user.py:441 users/serializers/v1.py:105
#: users/templates/users/user_group_detail.html:78
#: users/models/user.py:121 users/models/user.py:439
#: users/serializers/v1.py:109 users/templates/users/user_group_detail.html:78
#: users/templates/users/user_group_list.html:36 users/views/user.py:251
#: xpack/plugins/orgs/forms.py:26
#: xpack/plugins/orgs/templates/orgs/org_detail.html:113
......@@ -1130,7 +1123,7 @@ msgstr "默认资产组"
msgid "User"
msgstr "用户"
#: assets/models/label.py:19 assets/models/node.py:245
#: assets/models/label.py:19 assets/models/node.py:244
#: assets/templates/assets/label_list.html:15 settings/models.py:30
msgid "Value"
msgstr "值"
......@@ -1139,11 +1132,11 @@ msgstr "值"
msgid "Category"
msgstr "分类"
#: assets/models/node.py:244
#: assets/models/node.py:243
msgid "Key"
msgstr "键"
#: assets/models/node.py:302
#: assets/models/node.py:301
msgid "New node"
msgstr "新节点"
......@@ -1165,13 +1158,13 @@ msgstr "手动登录"
#: assets/views/asset.py:57 assets/views/asset.py:106 assets/views/asset.py:133
#: assets/views/asset.py:173 assets/views/asset.py:203
#: assets/views/cmd_filter.py:31 assets/views/cmd_filter.py:48
#: assets/views/cmd_filter.py:65 assets/views/cmd_filter.py:82
#: assets/views/cmd_filter.py:102 assets/views/cmd_filter.py:136
#: assets/views/cmd_filter.py:170 assets/views/domain.py:30
#: assets/views/domain.py:47 assets/views/domain.py:64
#: assets/views/domain.py:78 assets/views/domain.py:104
#: assets/views/domain.py:133 assets/views/domain.py:153
#: assets/views/label.py:27 assets/views/label.py:45 assets/views/label.py:72
#: assets/views/cmd_filter.py:66 assets/views/cmd_filter.py:84
#: assets/views/cmd_filter.py:104 assets/views/cmd_filter.py:138
#: assets/views/cmd_filter.py:173 assets/views/domain.py:30
#: assets/views/domain.py:47 assets/views/domain.py:65
#: assets/views/domain.py:80 assets/views/domain.py:106
#: assets/views/domain.py:135 assets/views/domain.py:156
#: assets/views/label.py:27 assets/views/label.py:45 assets/views/label.py:73
#: assets/views/system_user.py:29 assets/views/system_user.py:46
#: assets/views/system_user.py:63 assets/views/system_user.py:79
#: templates/_nav.html:19 xpack/plugins/change_auth_plan/models.py:68
......@@ -1228,7 +1221,7 @@ msgid "Backend"
msgstr "后端"
#: assets/serializers/asset_user.py:66 users/forms.py:263
#: users/models/user.py:94 users/templates/users/first_login.html:42
#: users/models/user.py:354 users/templates/users/first_login.html:42
#: users/templates/users/user_password_update.html:46
#: users/templates/users/user_profile.html:68
#: users/templates/users/user_profile_update.html:43
......@@ -1363,8 +1356,6 @@ msgstr "选择资产"
#: assets/templates/assets/_asset_group_bulk_update_modal.html:21
#: assets/templates/assets/cmd_filter_detail.html:89
#: assets/templates/assets/cmd_filter_list.html:26
#: assets/templates/assets/user_asset_list.html:47
#: users/templates/users/user_granted_asset.html:47
msgid "System users"
msgstr "系统用户"
......@@ -1574,7 +1565,7 @@ msgid "Replace node assets admin user with this"
msgstr "替换资产的管理员"
#: assets/templates/assets/admin_user_detail.html:91
#: perms/templates/perms/asset_permission_asset.html:116
#: perms/templates/perms/asset_permission_asset.html:103
#: xpack/plugins/change_auth_plan/forms.py:110
#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_asset_list.html:112
msgid "Select nodes"
......@@ -1705,8 +1696,7 @@ msgid "Date joined"
msgstr "创建日期"
#: assets/templates/assets/asset_detail.html:150
#: assets/templates/assets/user_asset_list.html:46
#: perms/models/asset_permission.py:104 perms/models/base.py:38
#: perms/models/asset_permission.py:115 perms/models/base.py:38
#: perms/templates/perms/asset_permission_create_update.html:55
#: perms/templates/perms/asset_permission_detail.html:120
#: perms/templates/perms/remote_app_permission_create_update.html:54
......@@ -1714,8 +1704,6 @@ msgstr "创建日期"
#: terminal/templates/terminal/terminal_list.html:34
#: users/templates/users/_select_user_modal.html:18
#: users/templates/users/user_detail.html:144
#: users/templates/users/user_granted_asset.html:46
#: users/templates/users/user_group_granted_asset.html:46
#: users/templates/users/user_profile.html:63
msgid "Active"
msgstr "激活中"
......@@ -1881,7 +1869,7 @@ msgid "Create command filter"
msgstr "创建命令过滤器"
#: assets/templates/assets/cmd_filter_rule_list.html:33
#: assets/views/cmd_filter.py:103
#: assets/views/cmd_filter.py:105
msgid "Command filter rule list"
msgstr "命令过滤器规则列表"
......@@ -1908,7 +1896,7 @@ msgid "Gateway list"
msgstr "网关列表"
#: assets/templates/assets/domain_gateway_list.html:56
#: assets/views/domain.py:134
#: assets/views/domain.py:136
msgid "Create gateway"
msgstr "创建网关"
......@@ -2056,19 +2044,19 @@ msgstr "批量更新资产"
msgid "Command filter list"
msgstr "命令过滤器列表"
#: assets/views/cmd_filter.py:66
#: assets/views/cmd_filter.py:67
msgid "Update command filter"
msgstr "更新命令过滤器"
#: assets/views/cmd_filter.py:83
#: assets/views/cmd_filter.py:85
msgid "Command filter detail"
msgstr "命令过滤器详情"
#: assets/views/cmd_filter.py:137
#: assets/views/cmd_filter.py:139
msgid "Create command filter rule"
msgstr "创建命令过滤器规则"
#: assets/views/cmd_filter.py:171
#: assets/views/cmd_filter.py:174
msgid "Update command filter rule"
msgstr "更新命令过滤器规则"
......@@ -2076,19 +2064,19 @@ msgstr "更新命令过滤器规则"
msgid "Domain list"
msgstr "网域列表"
#: assets/views/domain.py:65
#: assets/views/domain.py:66
msgid "Update domain"
msgstr "更新网域"
#: assets/views/domain.py:79
#: assets/views/domain.py:81
msgid "Domain detail"
msgstr "网域详情"
#: assets/views/domain.py:105
#: assets/views/domain.py:107
msgid "Domain gateway list"
msgstr "域网关列表"
#: assets/views/domain.py:154
#: assets/views/domain.py:157
msgid "Update gateway"
msgstr "创建网关"
......@@ -2096,11 +2084,11 @@ msgstr "创建网关"
msgid "Label list"
msgstr "标签列表"
#: assets/views/label.py:55
#: assets/views/label.py:56
msgid "Tips: Avoid using label names reserved internally: {}"
msgstr "提示: 请避免使用内部预留标签名: {}"
#: assets/views/label.py:73
#: assets/views/label.py:74
msgid "Update label"
msgstr "更新标签"
......@@ -2218,7 +2206,7 @@ msgstr "Agent"
#: audits/models.py:99 audits/templates/audits/login_log_list.html:56
#: authentication/templates/authentication/_mfa_confirm_modal.html:14
#: users/forms.py:175 users/models/user.py:86
#: users/forms.py:175 users/models/user.py:346
#: users/templates/users/first_login.html:45
msgid "MFA"
msgstr "MFA"
......@@ -2431,7 +2419,7 @@ msgstr "代码错误"
#: authentication/templates/authentication/login.html:27
#: authentication/templates/authentication/login_otp.html:27
#: users/templates/users/reset_password.html:25
#: xpack/plugins/interface/models.py:39
#: xpack/plugins/interface/models.py:36
msgid "Welcome to the Jumpserver open source fortress"
msgstr "欢迎使用Jumpserver开源堡垒机"
......@@ -2996,71 +2984,71 @@ msgstr "命令执行"
msgid "Organization"
msgstr "组织"
#: perms/api/user_permission.py:206
#: perms/api/mixin.py:128
msgid "ungrouped"
msgstr "未分组"
#: perms/api/user_permission.py:211
#: perms/api/mixin.py:133
msgid "empty"
msgstr "空"
#: perms/forms/asset_permission.py:65 perms/forms/remote_app_permission.py:34
#: perms/models/asset_permission.py:102 perms/models/base.py:37
#: perms/forms/asset_permission.py:66 perms/forms/remote_app_permission.py:34
#: perms/models/asset_permission.py:113 perms/models/base.py:37
#: perms/templates/perms/asset_permission_list.html:47
#: perms/templates/perms/asset_permission_list.html:67
#: perms/templates/perms/asset_permission_list.html:114
#: perms/templates/perms/remote_app_permission_list.html:16
#: templates/_nav.html:14 users/forms.py:286 users/models/group.py:26
#: users/models/user.py:70 users/templates/users/_select_user_modal.html:16
#: users/models/user.py:330 users/templates/users/_select_user_modal.html:16
#: users/templates/users/user_detail.html:213
#: users/templates/users/user_list.html:38
#: xpack/plugins/orgs/templates/orgs/org_list.html:15
msgid "User group"
msgstr "用户组"
#: perms/forms/asset_permission.py:81
#: perms/forms/asset_permission.py:82
msgid ""
"Tips: The RDP protocol does not support separate controls for uploading or "
"downloading files"
msgstr "提示:RDP 协议不支持单独控制上传或下载文件"
#: perms/forms/asset_permission.py:91 perms/forms/remote_app_permission.py:47
#: perms/forms/asset_permission.py:92 perms/forms/remote_app_permission.py:47
msgid "User or group at least one required"
msgstr "用户和用户组至少选一个"
#: perms/forms/asset_permission.py:100
#: perms/forms/asset_permission.py:101
msgid "Asset or group at least one required"
msgstr "资产和节点至少选一个"
#: perms/models/asset_permission.py:27 settings/forms.py:143
#: perms/models/asset_permission.py:29 settings/forms.py:143
msgid "All"
msgstr "全部"
#: perms/models/asset_permission.py:29
#: perms/models/asset_permission.py:31
msgid "Upload file"
msgstr "上传文件"
#: perms/models/asset_permission.py:30
#: perms/models/asset_permission.py:32
msgid "Download file"
msgstr "下载文件"
#: perms/models/asset_permission.py:31
#: perms/models/asset_permission.py:33
msgid "Upload download"
msgstr "上传下载"
#: perms/models/asset_permission.py:80
#: perms/models/asset_permission.py:82
msgid "Actions"
msgstr "动作"
#: perms/models/asset_permission.py:84 perms/models/asset_permission.py:114
#: perms/models/asset_permission.py:86 perms/models/asset_permission.py:125
#: templates/_nav.html:44
msgid "Asset permission"
msgstr "资产授权"
#: perms/models/asset_permission.py:105 perms/models/base.py:40
#: perms/models/asset_permission.py:116 perms/models/base.py:40
#: perms/templates/perms/asset_permission_detail.html:90
#: perms/templates/perms/remote_app_permission_detail.html:82
#: users/models/user.py:102 users/templates/users/user_detail.html:107
#: users/models/user.py:362 users/templates/users/user_detail.html:107
#: users/templates/users/user_profile.html:116
msgid "Date expired"
msgstr "失效日期"
......@@ -3087,11 +3075,11 @@ msgstr "用户或用户组"
msgid "Assets and node"
msgstr "资产或节点"
#: perms/templates/perms/asset_permission_asset.html:80
#: perms/templates/perms/asset_permission_asset.html:70
msgid "Add asset to this permission"
msgstr "添加资产"
#: perms/templates/perms/asset_permission_asset.html:97
#: perms/templates/perms/asset_permission_asset.html:84
#: perms/templates/perms/asset_permission_detail.html:157
#: perms/templates/perms/asset_permission_user.html:97
#: perms/templates/perms/asset_permission_user.html:125
......@@ -3107,11 +3095,11 @@ msgstr "添加资产"
msgid "Add"
msgstr "添加"
#: perms/templates/perms/asset_permission_asset.html:108
#: perms/templates/perms/asset_permission_asset.html:95
msgid "Add node to this permission"
msgstr "添加节点"
#: perms/templates/perms/asset_permission_asset.html:125
#: perms/templates/perms/asset_permission_asset.html:112
#: users/templates/users/user_detail.html:230
#: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_asset_list.html:121
msgid "Join"
......@@ -3208,13 +3196,13 @@ msgstr "添加用户组"
#: perms/views/asset_permission.py:33 perms/views/asset_permission.py:64
#: perms/views/asset_permission.py:81 perms/views/asset_permission.py:98
#: perms/views/asset_permission.py:135 perms/views/asset_permission.py:168
#: perms/views/asset_permission.py:135 perms/views/asset_permission.py:169
#: perms/views/remote_app_permission.py:33
#: perms/views/remote_app_permission.py:49
#: perms/views/remote_app_permission.py:65
#: perms/views/remote_app_permission.py:79
#: perms/views/remote_app_permission.py:106
#: perms/views/remote_app_permission.py:143 templates/_nav.html:41
#: perms/views/remote_app_permission.py:66
#: perms/views/remote_app_permission.py:81
#: perms/views/remote_app_permission.py:108
#: perms/views/remote_app_permission.py:145 templates/_nav.html:41
#: xpack/plugins/orgs/templates/orgs/org_list.html:21
msgid "Perms"
msgstr "权限管理"
......@@ -3239,7 +3227,7 @@ msgstr "资产授权详情"
msgid "Asset permission user list"
msgstr "资产授权用户列表"
#: perms/views/asset_permission.py:169
#: perms/views/asset_permission.py:170
msgid "Asset permission asset list"
msgstr "资产授权资产列表"
......@@ -3251,19 +3239,19 @@ msgstr "远程应用授权列表"
msgid "Create RemoteApp permission"
msgstr "创建远程应用授权规则"
#: perms/views/remote_app_permission.py:66
#: perms/views/remote_app_permission.py:67
msgid "Update RemoteApp permission"
msgstr "更新远程应用授权规则"
#: perms/views/remote_app_permission.py:80
#: perms/views/remote_app_permission.py:82
msgid "RemoteApp permission detail"
msgstr "远程应用授权详情"
#: perms/views/remote_app_permission.py:107
#: perms/views/remote_app_permission.py:109
msgid "RemoteApp permission user list"
msgstr "远程应用授权用户列表"
#: perms/views/remote_app_permission.py:144
#: perms/views/remote_app_permission.py:146
msgid "RemoteApp permission RemoteApp list"
msgstr "远程应用授权远程应用列表"
......@@ -3466,35 +3454,45 @@ msgstr "批量命令"
msgid "Allow user batch execute commands"
msgstr "允许用户批量执行命令"
#: settings/forms.py:198
#: settings/forms.py:196
msgid "Service account registration"
msgstr "终端注册"
#: settings/forms.py:197
msgid ""
"Allow using bootstrap token register service account, when terminal setup, "
"can disable it"
msgstr "允许使用bootstrap token注册终端, 当终端注册成功后可以禁止"
#: settings/forms.py:203
msgid "Limit the number of login failures"
msgstr "限制登录失败次数"
#: settings/forms.py:202
#: settings/forms.py:207
msgid "No logon interval"
msgstr "禁止登录时间间隔"
#: settings/forms.py:204
#: settings/forms.py:209
msgid ""
"Tip: (unit/minute) if the user has failed to log in for a limited number of "
"times, no login is allowed during this time interval."
msgstr ""
"提示:(单位:分)当用户登录失败次数达到限制后,那么在此时间间隔内禁止登录"
#: settings/forms.py:211
#: settings/forms.py:216
msgid "Connection max idle time"
msgstr "SSH最大空闲时间"
#: settings/forms.py:213
#: settings/forms.py:218
msgid ""
"If idle time more than it, disconnect connection(only ssh now) Unit: minute"
msgstr "提示:(单位:分)如果超过该配置没有操作,连接会被断开(仅ssh)"
#: settings/forms.py:219
#: settings/forms.py:224
msgid "Password expiration time"
msgstr "密码过期时间"
#: settings/forms.py:221
#: settings/forms.py:226
msgid ""
"Tip: (unit: day) If the user does not update the password during the time, "
"the user password will expire failure;The password expiration reminder mail "
......@@ -3504,81 +3502,81 @@ msgstr ""
"提示:(单位:天)如果用户在此期间没有更新密码,用户密码将过期失效; 密码过期"
"提醒邮件将在密码过期前5天内由系统(每天)自动发送给用户"
#: settings/forms.py:230
#: settings/forms.py:235
msgid "Password minimum length"
msgstr "密码最小长度 "
#: settings/forms.py:234
#: settings/forms.py:239
msgid "Must contain capital letters"
msgstr "必须包含大写字母"
#: settings/forms.py:236
#: settings/forms.py:241
msgid ""
"After opening, the user password changes and resets must contain uppercase "
"letters"
msgstr "开启后,用户密码修改、重置必须包含大写字母"
#: settings/forms.py:241
#: settings/forms.py:246
msgid "Must contain lowercase letters"
msgstr "必须包含小写字母"
#: settings/forms.py:242
#: settings/forms.py:247
msgid ""
"After opening, the user password changes and resets must contain lowercase "
"letters"
msgstr "开启后,用户密码修改、重置必须包含小写字母"
#: settings/forms.py:247
#: settings/forms.py:252
msgid "Must contain numeric characters"
msgstr "必须包含数字字符"
#: settings/forms.py:248
#: settings/forms.py:253
msgid ""
"After opening, the user password changes and resets must contain numeric "
"characters"
msgstr "开启后,用户密码修改、重置必须包含数字字符"
#: settings/forms.py:253
#: settings/forms.py:258
msgid "Must contain special characters"
msgstr "必须包含特殊字符"
#: settings/forms.py:254
#: settings/forms.py:259
msgid ""
"After opening, the user password changes and resets must contain special "
"characters"
msgstr "开启后,用户密码修改、重置必须包含特殊字符"
#: settings/forms.py:261
#: settings/forms.py:266
msgid "Create user email subject"
msgstr "创建用户邮件的主题"
#: settings/forms.py:262
#: settings/forms.py:267
msgid ""
"Tips: When creating a user, send the subject of the email (eg:Create account "
"successfully)"
msgstr "提示: 创建用户时,发送设置密码邮件的主题 (例如: 创建用户成功)"
#: settings/forms.py:266
#: settings/forms.py:271
msgid "Create user honorific"
msgstr "创建用户邮件的敬语"
#: settings/forms.py:267
#: settings/forms.py:272
msgid "Tips: When creating a user, send the honorific of the email (eg:Hello)"
msgstr "提示: 创建用户时,发送设置密码邮件的敬语 (例如: 您好)"
#: settings/forms.py:272
#: settings/forms.py:277
msgid "Create user email content"
msgstr "创建用户邮件的内容"
#: settings/forms.py:273
#: settings/forms.py:278
msgid "Tips:When creating a user, send the content of the email"
msgstr "提示: 创建用户时,发送设置密码邮件的内容"
#: settings/forms.py:276
#: settings/forms.py:281
msgid "Signature"
msgstr "署名"
#: settings/forms.py:277
#: settings/forms.py:282
msgid "Tips: Email signature (eg:jumpserver)"
msgstr "提示: 邮件的署名 (例如: jumpserver)"
......@@ -3596,7 +3594,7 @@ msgid "Please submit the LDAP configuration before import"
msgstr "请先提交LDAP配置再进行导入"
#: settings/templates/settings/_ldap_list_users_modal.html:39
#: users/models/user.py:66 users/templates/users/user_detail.html:71
#: users/models/user.py:326 users/templates/users/user_detail.html:71
#: users/templates/users/user_profile.html:59
msgid "Email"
msgstr "邮件"
......@@ -3930,7 +3928,7 @@ msgstr ""
" "
#: templates/_nav.html:10 users/views/group.py:28 users/views/group.py:45
#: users/views/group.py:62 users/views/group.py:79 users/views/group.py:96
#: users/views/group.py:63 users/views/group.py:81 users/views/group.py:98
#: users/views/login.py:154 users/views/user.py:68 users/views/user.py:85
#: users/views/user.py:129 users/views/user.py:196 users/views/user.py:218
#: users/views/user.py:270 users/views/user.py:311
......@@ -4384,7 +4382,7 @@ msgstr "你没有权限"
msgid "Could not reset self otp, use profile reset instead"
msgstr "不能再该页面重置MFA, 请去个人信息页面重置"
#: users/forms.py:33 users/models/user.py:74
#: users/forms.py:33 users/models/user.py:334
#: users/templates/users/_select_user_modal.html:15
#: users/templates/users/user_detail.html:87
#: users/templates/users/user_list.html:37
......@@ -4412,7 +4410,7 @@ msgstr "添加到用户组"
msgid "Public key should not be the same as your old one."
msgstr "不能和原来的密钥相同"
#: users/forms.py:91 users/forms.py:252 users/serializers/v1.py:91
#: users/forms.py:91 users/forms.py:252 users/serializers/v1.py:95
msgid "Not a valid ssh public key"
msgstr "ssh密钥不合法"
......@@ -4497,57 +4495,57 @@ msgstr "复制你的公钥到这里"
msgid "Select users"
msgstr "选择用户"
#: users/models/user.py:37 users/models/user.py:449
#: users/models/user.py:50 users/templates/users/user_update.html:22
#: users/views/login.py:46 users/views/login.py:107 users/views/user.py:283
msgid "User auth from {}, go there change password"
msgstr "用户认证源来自 {}, 请去相应系统修改密码"
#: users/models/user.py:120 users/models/user.py:447
msgid "Administrator"
msgstr "管理员"
#: users/models/user.py:39
#: users/models/user.py:122
msgid "Application"
msgstr "应用程序"
#: users/models/user.py:40
#: users/models/user.py:123
msgid "Auditor"
msgstr "审计员"
#: users/models/user.py:43 users/templates/users/user_profile.html:92
#: users/models/user.py:281 users/templates/users/user_profile.html:92
#: users/templates/users/user_profile.html:159
#: users/templates/users/user_profile.html:162
msgid "Disable"
msgstr "禁用"
#: users/models/user.py:44 users/templates/users/user_profile.html:90
#: users/models/user.py:282 users/templates/users/user_profile.html:90
#: users/templates/users/user_profile.html:166
msgid "Enable"
msgstr "启用"
#: users/models/user.py:45 users/templates/users/user_profile.html:88
#: users/models/user.py:283 users/templates/users/user_profile.html:88
msgid "Force enable"
msgstr "强制启用"
#: users/models/user.py:77
#: users/models/user.py:337
msgid "Avatar"
msgstr "头像"
#: users/models/user.py:80 users/templates/users/user_detail.html:82
#: users/models/user.py:340 users/templates/users/user_detail.html:82
msgid "Wechat"
msgstr "微信"
#: users/models/user.py:109 users/templates/users/user_detail.html:103
#: users/models/user.py:369 users/templates/users/user_detail.html:103
#: users/templates/users/user_list.html:39
#: users/templates/users/user_profile.html:100
msgid "Source"
msgstr "用户来源"
#: users/models/user.py:113
#: users/models/user.py:373
msgid "Date password last updated"
msgstr "最后更新密码日期"
#: users/models/user.py:139 users/templates/users/user_update.html:22
#: users/views/login.py:46 users/views/login.py:107 users/views/user.py:283
msgid "User auth from {}, go there change password"
msgstr "用户认证源来自 {}, 请去相应系统修改密码"
#: users/models/user.py:452
#: users/models/user.py:450
msgid "Administrator is the super user of system"
msgstr "Administrator是初始的超级管理员"
......@@ -4583,7 +4581,7 @@ msgstr "头像路径"
msgid "Role limit to {}"
msgstr "角色只能为 {}"
#: users/serializers/v1.py:63
#: users/serializers/v1.py:67
msgid "Password does not match security rules"
msgstr "密码不满足安全规则"
......@@ -4628,7 +4626,7 @@ msgid "Import user groups"
msgstr "导入用户组"
#: users/templates/users/_user_groups_update_modal.html:4
#: users/views/group.py:63
#: users/views/group.py:64
msgid "Update user group"
msgstr "更新用户组"
......@@ -4715,14 +4713,14 @@ msgid "Reset password"
msgstr "重置密码"
#: users/templates/users/reset_password.html:59
#: users/templates/users/user_create.html:15
#: users/templates/users/user_create.html:13
#: users/templates/users/user_password_update.html:61
#: users/templates/users/user_update.html:13
msgid "Your password must satisfy"
msgstr "您的密码必须满足:"
#: users/templates/users/reset_password.html:60
#: users/templates/users/user_create.html:16
#: users/templates/users/user_create.html:14
#: users/templates/users/user_password_update.html:62
#: users/templates/users/user_update.html:14
msgid "Password strength"
......@@ -4733,42 +4731,42 @@ msgid "Password again"
msgstr "再次输入密码"
#: users/templates/users/reset_password.html:105
#: users/templates/users/user_create.html:35
#: users/templates/users/user_create.html:33
#: users/templates/users/user_password_update.html:99
#: users/templates/users/user_update.html:46
msgid "Very weak"
msgstr "很弱"
#: users/templates/users/reset_password.html:106
#: users/templates/users/user_create.html:36
#: users/templates/users/user_create.html:34
#: users/templates/users/user_password_update.html:100
#: users/templates/users/user_update.html:47
msgid "Weak"
msgstr "弱"
#: users/templates/users/reset_password.html:107
#: users/templates/users/user_create.html:37
#: users/templates/users/user_create.html:35
#: users/templates/users/user_password_update.html:101
#: users/templates/users/user_update.html:48
msgid "Normal"
msgstr "正常"
#: users/templates/users/reset_password.html:108
#: users/templates/users/user_create.html:38
#: users/templates/users/user_create.html:36
#: users/templates/users/user_password_update.html:102
#: users/templates/users/user_update.html:49
msgid "Medium"
msgstr "一般"
#: users/templates/users/reset_password.html:109
#: users/templates/users/user_create.html:39
#: users/templates/users/user_create.html:37
#: users/templates/users/user_password_update.html:103
#: users/templates/users/user_update.html:50
msgid "Strong"
msgstr "强"
#: users/templates/users/reset_password.html:110
#: users/templates/users/user_create.html:40
#: users/templates/users/user_create.html:38
#: users/templates/users/user_password_update.html:104
#: users/templates/users/user_update.html:51
msgid "Very strong"
......@@ -4880,7 +4878,7 @@ msgstr "重置用户MFA成功"
#: users/templates/users/user_group_detail.html:22
#: users/templates/users/user_group_granted_asset.html:18
#: users/views/group.py:80
#: users/views/group.py:82
msgid "User group detail"
msgstr "用户组详情"
......@@ -5222,7 +5220,7 @@ msgstr "密码或密钥不合法"
msgid "User group list"
msgstr "用户组列表"
#: users/views/group.py:97
#: users/views/group.py:99
msgid "User group granted asset"
msgstr "用户组授权资产"
......
......@@ -344,6 +344,12 @@ class GetUserAssetPermissionActionsApi(UserPermissionCacheMixin, RetrieveAPIView
user_id = self.request.query_params.get('user_id', '')
asset_id = self.request.query_params.get('asset_id', '')
system_id = self.request.query_params.get('system_user_id', '')
try:
user_id = uuid.UUID(user_id)
asset_id = uuid.UUID(asset_id)
system_id = uuid.UUID(system_id)
except ValueError:
return Response({'msg': False}, status=403)
user = get_object_or_404(User, id=user_id)
......
......@@ -192,6 +192,11 @@ class SecuritySettingForm(BaseForm):
required=False, label=_("Batch execute commands"),
help_text=_("Allow user batch execute commands")
)
SECURITY_SERVICE_ACCOUNT_REGISTRATION = forms.BooleanField(
required=False, label=_("Service account registration"),
help_text=_("Allow using bootstrap token register service account, "
"when terminal setup, can disable it")
)
# limit login count
SECURITY_LOGIN_LIMIT_COUNT = forms.IntegerField(
min_value=3, max_value=99999,
......
# -*- coding: utf-8 -*-
#
from django.conf import settings
from rest_framework import serializers
from common.utils import get_request_ip
......@@ -27,6 +28,9 @@ class TerminalSerializer(serializers.ModelSerializer):
valid = super().is_valid(raise_exception=raise_exception)
if not valid:
return valid
if not settings.SECURITY_SERVICE_ACCOUNT_REGISTRATION:
error = {"error": "service account registration disabled"}
raise serializers.ValidationError(error)
data = {'name': self.validated_data.get('name')}
kwargs = {'data': data}
if self.instance and self.instance.user:
......
......@@ -42,8 +42,7 @@
</div>
<div >
<div class="verify">{% trans 'Security token validation' %}&nbsp;&nbsp;{% trans 'Account' %}&nbsp;<span>{{ user.username }}</span>&nbsp;&nbsp;{% trans 'Follow these steps to complete the binding operation' %}</div>
<div class="line"></div>
<hr style="width: 500px; margin: auto; margin-top: 10px;">
{% block content %}
{% endblock %}
</div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment