mirror of https://github.com/jumpserver/jumpserver
Merge branch 'dev' of github.com:jumpserver/jumpserver into dev
commit
2065692199
|
@ -3,7 +3,7 @@
|
||||||
{% block help_message %}
|
{% block help_message %}
|
||||||
<div class="alert alert-info help-message">
|
<div class="alert alert-info help-message">
|
||||||
{% trans 'Before using this feature, make sure that the application loader has been uploaded to the application server and successfully published as a RemoteApp application' %}
|
{% trans 'Before using this feature, make sure that the application loader has been uploaded to the application server and successfully published as a RemoteApp application' %}
|
||||||
<b><a href="#">{% trans 'Download application loader' %}</a></b>
|
<b><a href="https://github.com/jumpserver/Jmservisor/releases" target="view_window" >{% trans 'Download application loader' %}</a></b>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% block table_search %}{% endblock %}
|
{% block table_search %}{% endblock %}
|
||||||
|
|
|
@ -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: 2019-05-24 19:17+0800\n"
|
"POT-Creation-Date: 2019-05-27 15:38+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"
|
||||||
|
@ -3407,35 +3407,35 @@ msgid ""
|
||||||
"for all users, including administrators)"
|
"for all users, including administrators)"
|
||||||
msgstr "开启后,用户登录必须使用MFA二次认证(对所有用户有效,包括管理员)"
|
msgstr "开启后,用户登录必须使用MFA二次认证(对所有用户有效,包括管理员)"
|
||||||
|
|
||||||
#: settings/forms.py:185
|
#: settings/forms.py:186
|
||||||
msgid "Limit the number of login failures"
|
msgid "Limit the number of login failures"
|
||||||
msgstr "限制登录失败次数"
|
msgstr "限制登录失败次数"
|
||||||
|
|
||||||
#: settings/forms.py:189
|
#: settings/forms.py:190
|
||||||
msgid "No logon interval"
|
msgid "No logon interval"
|
||||||
msgstr "禁止登录时间间隔"
|
msgstr "禁止登录时间间隔"
|
||||||
|
|
||||||
#: settings/forms.py:191
|
#: settings/forms.py:192
|
||||||
msgid ""
|
msgid ""
|
||||||
"Tip: (unit/minute) if the user has failed to log in for a limited number of "
|
"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."
|
"times, no login is allowed during this time interval."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"提示:(单位:分)当用户登录失败次数达到限制后,那么在此时间间隔内禁止登录"
|
"提示:(单位:分)当用户登录失败次数达到限制后,那么在此时间间隔内禁止登录"
|
||||||
|
|
||||||
#: settings/forms.py:197
|
#: settings/forms.py:199
|
||||||
msgid "Connection max idle time"
|
msgid "Connection max idle time"
|
||||||
msgstr "SSH最大空闲时间"
|
msgstr "SSH最大空闲时间"
|
||||||
|
|
||||||
#: settings/forms.py:199
|
#: settings/forms.py:201
|
||||||
msgid ""
|
msgid ""
|
||||||
"If idle time more than it, disconnect connection(only ssh now) Unit: minute"
|
"If idle time more than it, disconnect connection(only ssh now) Unit: minute"
|
||||||
msgstr "提示:(单位:分)如果超过该配置没有操作,连接会被断开(仅ssh)"
|
msgstr "提示:(单位:分)如果超过该配置没有操作,连接会被断开(仅ssh)"
|
||||||
|
|
||||||
#: settings/forms.py:205
|
#: settings/forms.py:207
|
||||||
msgid "Password expiration time"
|
msgid "Password expiration time"
|
||||||
msgstr "密码过期时间"
|
msgstr "密码过期时间"
|
||||||
|
|
||||||
#: settings/forms.py:208
|
#: settings/forms.py:209
|
||||||
msgid ""
|
msgid ""
|
||||||
"Tip: (unit: day) If the user does not update the password during the time, "
|
"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 "
|
"the user password will expire failure;The password expiration reminder mail "
|
||||||
|
@ -3445,81 +3445,81 @@ msgstr ""
|
||||||
"提示:(单位:天)如果用户在此期间没有更新密码,用户密码将过期失效; 密码过期"
|
"提示:(单位:天)如果用户在此期间没有更新密码,用户密码将过期失效; 密码过期"
|
||||||
"提醒邮件将在密码过期前5天内由系统(每天)自动发送给用户"
|
"提醒邮件将在密码过期前5天内由系统(每天)自动发送给用户"
|
||||||
|
|
||||||
#: settings/forms.py:217
|
#: settings/forms.py:218
|
||||||
msgid "Password minimum length"
|
msgid "Password minimum length"
|
||||||
msgstr "密码最小长度 "
|
msgstr "密码最小长度 "
|
||||||
|
|
||||||
#: settings/forms.py:221
|
#: settings/forms.py:222
|
||||||
msgid "Must contain capital letters"
|
msgid "Must contain capital letters"
|
||||||
msgstr "必须包含大写字母"
|
msgstr "必须包含大写字母"
|
||||||
|
|
||||||
#: settings/forms.py:223
|
#: settings/forms.py:224
|
||||||
msgid ""
|
msgid ""
|
||||||
"After opening, the user password changes and resets must contain uppercase "
|
"After opening, the user password changes and resets must contain uppercase "
|
||||||
"letters"
|
"letters"
|
||||||
msgstr "开启后,用户密码修改、重置必须包含大写字母"
|
msgstr "开启后,用户密码修改、重置必须包含大写字母"
|
||||||
|
|
||||||
#: settings/forms.py:228
|
#: settings/forms.py:229
|
||||||
msgid "Must contain lowercase letters"
|
msgid "Must contain lowercase letters"
|
||||||
msgstr "必须包含小写字母"
|
msgstr "必须包含小写字母"
|
||||||
|
|
||||||
#: settings/forms.py:229
|
#: settings/forms.py:230
|
||||||
msgid ""
|
msgid ""
|
||||||
"After opening, the user password changes and resets must contain lowercase "
|
"After opening, the user password changes and resets must contain lowercase "
|
||||||
"letters"
|
"letters"
|
||||||
msgstr "开启后,用户密码修改、重置必须包含小写字母"
|
msgstr "开启后,用户密码修改、重置必须包含小写字母"
|
||||||
|
|
||||||
#: settings/forms.py:234
|
#: settings/forms.py:235
|
||||||
msgid "Must contain numeric characters"
|
msgid "Must contain numeric characters"
|
||||||
msgstr "必须包含数字字符"
|
msgstr "必须包含数字字符"
|
||||||
|
|
||||||
#: settings/forms.py:235
|
#: settings/forms.py:236
|
||||||
msgid ""
|
msgid ""
|
||||||
"After opening, the user password changes and resets must contain numeric "
|
"After opening, the user password changes and resets must contain numeric "
|
||||||
"characters"
|
"characters"
|
||||||
msgstr "开启后,用户密码修改、重置必须包含数字字符"
|
msgstr "开启后,用户密码修改、重置必须包含数字字符"
|
||||||
|
|
||||||
#: settings/forms.py:240
|
#: settings/forms.py:241
|
||||||
msgid "Must contain special characters"
|
msgid "Must contain special characters"
|
||||||
msgstr "必须包含特殊字符"
|
msgstr "必须包含特殊字符"
|
||||||
|
|
||||||
#: settings/forms.py:241
|
#: settings/forms.py:242
|
||||||
msgid ""
|
msgid ""
|
||||||
"After opening, the user password changes and resets must contain special "
|
"After opening, the user password changes and resets must contain special "
|
||||||
"characters"
|
"characters"
|
||||||
msgstr "开启后,用户密码修改、重置必须包含特殊字符"
|
msgstr "开启后,用户密码修改、重置必须包含特殊字符"
|
||||||
|
|
||||||
#: settings/forms.py:248
|
#: settings/forms.py:249
|
||||||
msgid "Create user email subject"
|
msgid "Create user email subject"
|
||||||
msgstr "创建用户邮件的主题"
|
msgstr "创建用户邮件的主题"
|
||||||
|
|
||||||
#: settings/forms.py:249
|
#: settings/forms.py:250
|
||||||
msgid ""
|
msgid ""
|
||||||
"Tips: When creating a user, send the subject of the email (eg:Create account "
|
"Tips: When creating a user, send the subject of the email (eg:Create account "
|
||||||
"successfully)"
|
"successfully)"
|
||||||
msgstr "提示: 创建用户时,发送设置密码邮件的主题 (例如: 创建用户成功)"
|
msgstr "提示: 创建用户时,发送设置密码邮件的主题 (例如: 创建用户成功)"
|
||||||
|
|
||||||
#: settings/forms.py:253
|
#: settings/forms.py:254
|
||||||
msgid "Create user honorific"
|
msgid "Create user honorific"
|
||||||
msgstr "创建用户邮件的敬语"
|
msgstr "创建用户邮件的敬语"
|
||||||
|
|
||||||
#: settings/forms.py:254
|
#: settings/forms.py:255
|
||||||
msgid "Tips: When creating a user, send the honorific of the email (eg:Hello)"
|
msgid "Tips: When creating a user, send the honorific of the email (eg:Hello)"
|
||||||
msgstr "提示: 创建用户时,发送设置密码邮件的敬语 (例如: 您好)"
|
msgstr "提示: 创建用户时,发送设置密码邮件的敬语 (例如: 您好)"
|
||||||
|
|
||||||
#: settings/forms.py:259
|
#: settings/forms.py:260
|
||||||
msgid "Create user email content"
|
msgid "Create user email content"
|
||||||
msgstr "创建用户邮件的内容"
|
msgstr "创建用户邮件的内容"
|
||||||
|
|
||||||
#: settings/forms.py:260
|
#: settings/forms.py:261
|
||||||
msgid "Tips:When creating a user, send the content of the email"
|
msgid "Tips:When creating a user, send the content of the email"
|
||||||
msgstr "提示: 创建用户时,发送设置密码邮件的内容"
|
msgstr "提示: 创建用户时,发送设置密码邮件的内容"
|
||||||
|
|
||||||
#: settings/forms.py:263
|
#: settings/forms.py:264
|
||||||
msgid "Signature"
|
msgid "Signature"
|
||||||
msgstr "署名"
|
msgstr "署名"
|
||||||
|
|
||||||
#: settings/forms.py:264
|
#: settings/forms.py:265
|
||||||
msgid "Tips: Email signature (eg:jumpserver)"
|
msgid "Tips: Email signature (eg:jumpserver)"
|
||||||
msgstr "提示: 邮件的署名 (例如: jumpserver)"
|
msgstr "提示: 邮件的署名 (例如: jumpserver)"
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-11-21 19:14+0800\n"
|
"POT-Creation-Date: 2019-05-27 15:53+0800\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -17,58 +17,58 @@ msgstr ""
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
#: static/js/jumpserver.js:168
|
#: static/js/jumpserver.js:249
|
||||||
msgid "Update is successful!"
|
msgid "Update is successful!"
|
||||||
msgstr "更新成功"
|
msgstr "更新成功"
|
||||||
|
|
||||||
#: static/js/jumpserver.js:170
|
#: static/js/jumpserver.js:251
|
||||||
msgid "An unknown error occurred while updating.."
|
msgid "An unknown error occurred while updating.."
|
||||||
msgstr "更新时发生未知错误"
|
msgstr "更新时发生未知错误"
|
||||||
|
|
||||||
#: static/js/jumpserver.js:236 static/js/jumpserver.js:273
|
#: static/js/jumpserver.js:315 static/js/jumpserver.js:352
|
||||||
#: static/js/jumpserver.js:276
|
#: static/js/jumpserver.js:355
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "错误"
|
msgstr "错误"
|
||||||
|
|
||||||
#: static/js/jumpserver.js:236
|
#: static/js/jumpserver.js:315
|
||||||
msgid "Being used by the asset, please unbind the asset first."
|
msgid "Being used by the asset, please unbind the asset first."
|
||||||
msgstr "正在被资产使用中,请先解除资产绑定"
|
msgstr "正在被资产使用中,请先解除资产绑定"
|
||||||
|
|
||||||
#: static/js/jumpserver.js:242 static/js/jumpserver.js:283
|
#: static/js/jumpserver.js:321 static/js/jumpserver.js:362
|
||||||
msgid "Delete the success"
|
msgid "Delete the success"
|
||||||
msgstr "删除成功"
|
msgstr "删除成功"
|
||||||
|
|
||||||
#: static/js/jumpserver.js:248
|
#: static/js/jumpserver.js:327
|
||||||
msgid "Are you sure about deleting it?"
|
msgid "Are you sure about deleting it?"
|
||||||
msgstr "你确定删除吗 ?"
|
msgstr "你确定删除吗 ?"
|
||||||
|
|
||||||
#: static/js/jumpserver.js:252 static/js/jumpserver.js:293
|
#: static/js/jumpserver.js:331 static/js/jumpserver.js:372
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "取消"
|
msgstr "取消"
|
||||||
|
|
||||||
#: static/js/jumpserver.js:254 static/js/jumpserver.js:295
|
#: static/js/jumpserver.js:333 static/js/jumpserver.js:374
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "确认"
|
msgstr "确认"
|
||||||
|
|
||||||
#: static/js/jumpserver.js:273
|
#: static/js/jumpserver.js:352
|
||||||
msgid ""
|
msgid ""
|
||||||
"The organization contains undeleted information. Please try again after "
|
"The organization contains undeleted information. Please try again after "
|
||||||
"deleting"
|
"deleting"
|
||||||
msgstr "组织中包含未删除信息,请删除后重试"
|
msgstr "组织中包含未删除信息,请删除后重试"
|
||||||
|
|
||||||
#: static/js/jumpserver.js:276
|
#: static/js/jumpserver.js:355
|
||||||
msgid ""
|
msgid ""
|
||||||
"Do not perform this operation under this organization. Try again after "
|
"Do not perform this operation under this organization. Try again after "
|
||||||
"switching to another organization"
|
"switching to another organization"
|
||||||
msgstr "请勿在此组织下执行此操作,切换到其他组织后重试"
|
msgstr "请勿在此组织下执行此操作,切换到其他组织后重试"
|
||||||
|
|
||||||
#: static/js/jumpserver.js:289
|
#: static/js/jumpserver.js:368
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please ensure that the following information in the organization has been "
|
"Please ensure that the following information in the organization has been "
|
||||||
"deleted"
|
"deleted"
|
||||||
msgstr "请确保组织内的以下信息已删除"
|
msgstr "请确保组织内的以下信息已删除"
|
||||||
|
|
||||||
#: static/js/jumpserver.js:290
|
#: static/js/jumpserver.js:369
|
||||||
msgid ""
|
msgid ""
|
||||||
"User list、User group、Asset list、Domain list、Admin user、System user、"
|
"User list、User group、Asset list、Domain list、Admin user、System user、"
|
||||||
"Labels、Asset permission"
|
"Labels、Asset permission"
|
||||||
|
@ -76,52 +76,76 @@ msgstr ""
|
||||||
"用户列表、用户组、资产列表、网域列表、管理用户、系统用户、标签管理、资产授权"
|
"用户列表、用户组、资产列表、网域列表、管理用户、系统用户、标签管理、资产授权"
|
||||||
"规则"
|
"规则"
|
||||||
|
|
||||||
#: static/js/jumpserver.js:329
|
#: static/js/jumpserver.js:408
|
||||||
msgid "Loading ..."
|
msgid "Loading ..."
|
||||||
msgstr "加载中 ..."
|
msgstr "加载中 ..."
|
||||||
|
|
||||||
#: static/js/jumpserver.js:330
|
#: static/js/jumpserver.js:409
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "搜索"
|
msgstr "搜索"
|
||||||
|
|
||||||
#: static/js/jumpserver.js:333
|
#: static/js/jumpserver.js:412
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Selected item %d"
|
msgid "Selected item %d"
|
||||||
msgstr "选中 %d 项"
|
msgstr "选中 %d 项"
|
||||||
|
|
||||||
#: static/js/jumpserver.js:337
|
#: static/js/jumpserver.js:416
|
||||||
msgid "Per page _MENU_"
|
msgid "Per page _MENU_"
|
||||||
msgstr "每页 _MENU_"
|
msgstr "每页 _MENU_"
|
||||||
|
|
||||||
#: static/js/jumpserver.js:338
|
#: static/js/jumpserver.js:417
|
||||||
msgid ""
|
msgid ""
|
||||||
"Displays the results of items _START_ to _END_; A total of _TOTAL_ entries"
|
"Displays the results of items _START_ to _END_; A total of _TOTAL_ entries"
|
||||||
msgstr "显示第 _START_ 至 _END_ 项结果; 总共 _TOTAL_ 项"
|
msgstr "显示第 _START_ 至 _END_ 项结果; 总共 _TOTAL_ 项"
|
||||||
|
|
||||||
#: static/js/jumpserver.js:341
|
#: static/js/jumpserver.js:420
|
||||||
msgid "No match"
|
msgid "No match"
|
||||||
msgstr "没有匹配项"
|
msgstr "没有匹配项"
|
||||||
|
|
||||||
#: static/js/jumpserver.js:342
|
#: static/js/jumpserver.js:421
|
||||||
msgid "No record"
|
msgid "No record"
|
||||||
msgstr "没有记录"
|
msgstr "没有记录"
|
||||||
|
|
||||||
#: static/js/jumpserver.js:701
|
#: static/js/jumpserver.js:563
|
||||||
|
msgid "Unknown error occur"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: static/js/jumpserver.js:800
|
||||||
msgid "Password minimum length {N} bits"
|
msgid "Password minimum length {N} bits"
|
||||||
msgstr "密码最小长度 {N} 位"
|
msgstr "密码最小长度 {N} 位"
|
||||||
|
|
||||||
#: static/js/jumpserver.js:702
|
#: static/js/jumpserver.js:801
|
||||||
msgid "Must contain capital letters"
|
msgid "Must contain capital letters"
|
||||||
msgstr "必须包含大写字母"
|
msgstr "必须包含大写字母"
|
||||||
|
|
||||||
#: static/js/jumpserver.js:703
|
#: static/js/jumpserver.js:802
|
||||||
msgid "Must contain lowercase letters"
|
msgid "Must contain lowercase letters"
|
||||||
msgstr "必须包含小写字母"
|
msgstr "必须包含小写字母"
|
||||||
|
|
||||||
#: static/js/jumpserver.js:704
|
#: static/js/jumpserver.js:803
|
||||||
msgid "Must contain numeric characters"
|
msgid "Must contain numeric characters"
|
||||||
msgstr "必须包含数字字符"
|
msgstr "必须包含数字字符"
|
||||||
|
|
||||||
#: static/js/jumpserver.js:705
|
#: static/js/jumpserver.js:804
|
||||||
msgid "Must contain special characters"
|
msgid "Must contain special characters"
|
||||||
msgstr "必须包含特殊字符"
|
msgstr "必须包含特殊字符"
|
||||||
|
|
||||||
|
#: static/js/jumpserver.js:976
|
||||||
|
msgid "Export failed"
|
||||||
|
msgstr "导出失败"
|
||||||
|
|
||||||
|
#: static/js/jumpserver.js:993
|
||||||
|
msgid "Import Success"
|
||||||
|
msgstr "导入成功"
|
||||||
|
|
||||||
|
#: static/js/jumpserver.js:998
|
||||||
|
msgid "Update Success"
|
||||||
|
msgstr "更新成功"
|
||||||
|
|
||||||
|
#: static/js/jumpserver.js:1028
|
||||||
|
msgid "Import failed"
|
||||||
|
msgstr "导入失败"
|
||||||
|
|
||||||
|
#: static/js/jumpserver.js:1033
|
||||||
|
msgid "Update failed"
|
||||||
|
msgstr "更新失败"
|
||||||
|
|
|
@ -147,7 +147,7 @@ class TerminalSettingForm(BaseForm):
|
||||||
required=False, label=_("Public key auth")
|
required=False, label=_("Public key auth")
|
||||||
)
|
)
|
||||||
TERMINAL_HEARTBEAT_INTERVAL = forms.IntegerField(
|
TERMINAL_HEARTBEAT_INTERVAL = forms.IntegerField(
|
||||||
min_value=5, label=_("Heartbeat interval"),
|
min_value=5, max_value=99999, label=_("Heartbeat interval"),
|
||||||
help_text=_("Units: seconds")
|
help_text=_("Units: seconds")
|
||||||
)
|
)
|
||||||
TERMINAL_ASSET_LIST_SORT_BY = forms.ChoiceField(
|
TERMINAL_ASSET_LIST_SORT_BY = forms.ChoiceField(
|
||||||
|
@ -157,7 +157,7 @@ class TerminalSettingForm(BaseForm):
|
||||||
choices=PAGE_SIZE_CHOICES, label=_("List page size"),
|
choices=PAGE_SIZE_CHOICES, label=_("List page size"),
|
||||||
)
|
)
|
||||||
TERMINAL_SESSION_KEEP_DURATION = forms.IntegerField(
|
TERMINAL_SESSION_KEEP_DURATION = forms.IntegerField(
|
||||||
min_value=1, label=_("Session keep duration"),
|
min_value=1, max_value=99999, label=_("Session keep duration"),
|
||||||
help_text=_("Units: days, Session, record, command will be delete "
|
help_text=_("Units: days, Session, record, command will be delete "
|
||||||
"if more than duration, only in database")
|
"if more than duration, only in database")
|
||||||
)
|
)
|
||||||
|
@ -182,11 +182,12 @@ class SecuritySettingForm(BaseForm):
|
||||||
)
|
)
|
||||||
# limit login count
|
# limit login count
|
||||||
SECURITY_LOGIN_LIMIT_COUNT = forms.IntegerField(
|
SECURITY_LOGIN_LIMIT_COUNT = forms.IntegerField(
|
||||||
min_value=3, label=_("Limit the number of login failures")
|
min_value=3, max_value=99999,
|
||||||
|
label=_("Limit the number of login failures")
|
||||||
)
|
)
|
||||||
# limit login time
|
# limit login time
|
||||||
SECURITY_LOGIN_LIMIT_TIME = forms.IntegerField(
|
SECURITY_LOGIN_LIMIT_TIME = forms.IntegerField(
|
||||||
min_value=5, label=_("No logon interval"),
|
min_value=5, max_value=99999, label=_("No logon interval"),
|
||||||
help_text=_(
|
help_text=_(
|
||||||
"Tip: (unit/minute) if the user has failed to log in for a limited "
|
"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."
|
"number of times, no login is allowed during this time interval."
|
||||||
|
@ -194,7 +195,8 @@ class SecuritySettingForm(BaseForm):
|
||||||
)
|
)
|
||||||
# ssh max idle time
|
# ssh max idle time
|
||||||
SECURITY_MAX_IDLE_TIME = forms.IntegerField(
|
SECURITY_MAX_IDLE_TIME = forms.IntegerField(
|
||||||
required=False, label=_("Connection max idle time"),
|
min_value=1, max_value=99999, required=False,
|
||||||
|
label=_("Connection max idle time"),
|
||||||
help_text=_(
|
help_text=_(
|
||||||
'If idle time more than it, disconnect connection(only ssh now) '
|
'If idle time more than it, disconnect connection(only ssh now) '
|
||||||
'Unit: minute'
|
'Unit: minute'
|
||||||
|
@ -202,8 +204,7 @@ class SecuritySettingForm(BaseForm):
|
||||||
)
|
)
|
||||||
# password expiration time
|
# password expiration time
|
||||||
SECURITY_PASSWORD_EXPIRATION_TIME = forms.IntegerField(
|
SECURITY_PASSWORD_EXPIRATION_TIME = forms.IntegerField(
|
||||||
label=_("Password expiration time"),
|
min_value=1, max_value=99999, label=_("Password expiration time"),
|
||||||
min_value=1, max_value=99999,
|
|
||||||
help_text=_(
|
help_text=_(
|
||||||
"Tip: (unit: day) "
|
"Tip: (unit: day) "
|
||||||
"If the user does not update the password during the time, "
|
"If the user does not update the password during the time, "
|
||||||
|
@ -214,7 +215,7 @@ class SecuritySettingForm(BaseForm):
|
||||||
)
|
)
|
||||||
# min length
|
# min length
|
||||||
SECURITY_PASSWORD_MIN_LENGTH = forms.IntegerField(
|
SECURITY_PASSWORD_MIN_LENGTH = forms.IntegerField(
|
||||||
min_value=6, label=_("Password minimum length"),
|
min_value=6, max_value=30, label=_("Password minimum length"),
|
||||||
)
|
)
|
||||||
# upper case
|
# upper case
|
||||||
SECURITY_PASSWORD_UPPER_CASE = forms.BooleanField(
|
SECURITY_PASSWORD_UPPER_CASE = forms.BooleanField(
|
||||||
|
|
|
@ -973,7 +973,7 @@ function APIExportData(props) {
|
||||||
window.open(export_url);
|
window.open(export_url);
|
||||||
},
|
},
|
||||||
error: function () {
|
error: function () {
|
||||||
toastr.error('Export failed');
|
toastr.error(gettext('Export failed'));
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -990,12 +990,12 @@ function APIImportData(props){
|
||||||
if(props.method === 'POST'){
|
if(props.method === 'POST'){
|
||||||
$('#created_failed').html('');
|
$('#created_failed').html('');
|
||||||
$('#created_failed_detail').html('');
|
$('#created_failed_detail').html('');
|
||||||
$('#success_created').html("Import Success");
|
$('#success_created').html(gettext("Import Success"));
|
||||||
$('#success_created_detail').html("Count" + ": " + data.length);
|
$('#success_created_detail').html("Count" + ": " + data.length);
|
||||||
}else{
|
}else{
|
||||||
$('#updated_failed').html('');
|
$('#updated_failed').html('');
|
||||||
$('#updated_failed_detail').html('');
|
$('#updated_failed_detail').html('');
|
||||||
$('#success_updated').html("Update Success");
|
$('#success_updated').html(gettext("Update Success"));
|
||||||
$('#success_updated_detail').html("Count" + ": " + data.length);
|
$('#success_updated_detail').html("Count" + ": " + data.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1025,12 +1025,12 @@ function APIImportData(props){
|
||||||
if(props.method === 'POST'){
|
if(props.method === 'POST'){
|
||||||
$('#success_created').html('');
|
$('#success_created').html('');
|
||||||
$('#success_created_detail').html('');
|
$('#success_created_detail').html('');
|
||||||
$('#created_failed').html("Import failed");
|
$('#created_failed').html(gettext("Import failed"));
|
||||||
$('#created_failed_detail').html(html);
|
$('#created_failed_detail').html(html);
|
||||||
}else{
|
}else{
|
||||||
$('#success_updated').html('');
|
$('#success_updated').html('');
|
||||||
$('#success_updated_detail').html('');
|
$('#success_updated_detail').html('');
|
||||||
$('#updated_failed').html("Update failed");
|
$('#updated_failed').html(gettext("Update failed"));
|
||||||
$('#updated_failed_detail').html(html);
|
$('#updated_failed_detail').html(html);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue