From c68da5898ad7650651d6e57f493f8c7c01922647 Mon Sep 17 00:00:00 2001 From: ibuler Date: Mon, 26 Feb 2018 12:31:33 +0800 Subject: [PATCH 1/3] =?UTF-8?q?[Update]=20=E4=BF=AE=E6=94=B9=E5=88=9D?= =?UTF-8?q?=E5=A7=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/users/migrations/0001_initial.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/users/migrations/0001_initial.py b/apps/users/migrations/0001_initial.py index 521f2efe2..01edf24b6 100644 --- a/apps/users/migrations/0001_initial.py +++ b/apps/users/migrations/0001_initial.py @@ -28,6 +28,9 @@ def add_default_admin(apps, schema_editor): email="admin@mycomany.com", role="Admin", password=make_password("admin"), ) + group_model = apps.get_model("users", "UserGroup") + default_group = group_model.objects.using(db_alias).get(name="Default") + admin.groups.add(default_group) class Migration(migrations.Migration): From 459d0668a8bef290c49a81c6eb07223b1278102e Mon Sep 17 00:00:00 2001 From: liuzheng Date: Mon, 26 Feb 2018 15:06:00 +0800 Subject: [PATCH 2/3] feat: replay setting page and api --- apps/common/api.py | 3 +- apps/common/forms.py | 10 +- .../templates/common/terminal_setting.html | 128 +++++++++++------- apps/common/views.py | 3 + apps/jumpserver/settings.py | 18 ++- 5 files changed, 98 insertions(+), 64 deletions(-) diff --git a/apps/common/api.py b/apps/common/api.py index eb108e94e..e93844988 100644 --- a/apps/common/api.py +++ b/apps/common/api.py @@ -9,7 +9,7 @@ from django.core.mail import get_connection, send_mail from django.utils.translation import ugettext_lazy as _ from django.conf import settings -from .permissions import IsSuperUser +from .permissions import IsSuperUser, IsAppUser from .serializers import MailTestSerializer, LDAPTestSerializer @@ -102,4 +102,3 @@ class DjangoSettingsAPI(APIView): if i.isupper(): configs[i] = str(getattr(settings, i)) return Response(configs) - diff --git a/apps/common/forms.py b/apps/common/forms.py index 882a7ab7a..0d0f057cf 100644 --- a/apps/common/forms.py +++ b/apps/common/forms.py @@ -127,7 +127,8 @@ class LDAPSettingForm(BaseForm): "name": "sn", "email": "mail" }), - help_text=_("User attr map present how to map LDAP user attr to jumpserver, username,name,email is jumpserver attr") + help_text=_( + "User attr map present how to map LDAP user attr to jumpserver, username,name,email is jumpserver attr") ) # AUTH_LDAP_GROUP_SEARCH_OU = CONFIG.AUTH_LDAP_GROUP_SEARCH_OU # AUTH_LDAP_GROUP_SEARCH_FILTER = CONFIG.AUTH_LDAP_GROUP_SEARCH_FILTER @@ -160,3 +161,10 @@ class TerminalSettingForm(BaseForm): "You can set other storage and some terminal using" ) ) + TERMINAL_REPLAY_STORAGE = DictField( + label=_("Replay storage"), help_text=_( + "Set replay storage setting, `default` is the using as default," + "You can set other storage and some terminal using" + ) + ) + diff --git a/apps/common/templates/common/terminal_setting.html b/apps/common/templates/common/terminal_setting.html index c15ff4bc7..881dd6343 100644 --- a/apps/common/templates/common/terminal_setting.html +++ b/apps/common/templates/common/terminal_setting.html @@ -12,27 +12,31 @@
-
-
+
+ {% if form.non_field_errors %} -
- {{ form.non_field_errors }} -
+
+ {{ form.non_field_errors }} +
{% endif %} {% csrf_token %}

{% trans "Basic setting" %}

@@ -41,13 +45,14 @@ {% bootstrap_field field layout="horizontal" %} {% else %}
- +
{{ field }}
- {{ field.help_text }} + {{ field.help_text }}
@@ -56,12 +61,12 @@

{% trans "Command storage" %}

- +
- - - - + + + + {% for name, setting in command_storage.items %} @@ -72,19 +77,38 @@ {% endfor %}
{% trans 'Name' %}{% trans 'Type' %}
{% trans 'Name' %}{% trans 'Type' %}
-{# #} -{#
#} -{#

{% trans "Replay storage" %}

#} - + {# #} + {#
#} + {#

{% trans "Replay storage" %}

#} +
+

{% trans "Replay storage" %}

+ + + + + + + + + + {% for name, setting in replay_storage.items %} + + + + + + {% endfor %} + +
{% trans 'Name' %}{% trans 'Type' %}{% trans 'Setting' %}
{{ name }}{{ setting.TYPE }}{{ setting }}
- +
- -
+
@@ -92,38 +116,40 @@ + {% endblock %} {% block custom_foot_js %} - + APIUpdateAttr({ + url: the_url, + body: JSON.stringify(data), + method: "POST", + flash_message: false, + success: success, + error: error + }); + }) + .on('click', '', function () { + + }) + {% endblock %} diff --git a/apps/common/views.py b/apps/common/views.py index dc0d74f92..99b924423 100644 --- a/apps/common/views.py +++ b/apps/common/views.py @@ -97,10 +97,12 @@ class TerminalSettingView(AdminUserRequiredMixin, TemplateView): def get_context_data(self, **kwargs): command_storage = settings.TERMINAL_COMMAND_STORAGE + replay_storage = settings.TERMINAL_REPLAY_STORAGE context = { 'app': _('Settings'), 'action': _('Terminal setting'), 'form': self.form_class(), + 'replay_storage': replay_storage, 'command_storage': command_storage, } kwargs.update(context) @@ -117,3 +119,4 @@ class TerminalSettingView(AdminUserRequiredMixin, TemplateView): context = self.get_context_data() context.update({"form": form}) return render(request, self.template_name, context) + diff --git a/apps/jumpserver/settings.py b/apps/jumpserver/settings.py index 77dd8e114..8151147d2 100644 --- a/apps/jumpserver/settings.py +++ b/apps/jumpserver/settings.py @@ -17,7 +17,6 @@ import ldap from django_auth_ldap.config import LDAPSearch from django.urls import reverse_lazy - # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) PROJECT_DIR = os.path.dirname(BASE_DIR) @@ -39,11 +38,9 @@ SECRET_KEY = CONFIG.SECRET_KEY # SECURITY WARNING: don't run with debug turned on in production! DEBUG = CONFIG.DEBUG or False - # Absolute url for some case, for example email link SITE_URL = CONFIG.SITE_URL or 'http://localhost' - # LOG LEVEL LOG_LEVEL = 'DEBUG' if DEBUG else CONFIG.LOG_LEVEL or 'WARNING' @@ -114,7 +111,7 @@ LOGIN_URL = reverse_lazy('users:login') SESSION_COOKIE_DOMAIN = CONFIG.SESSION_COOKIE_DOMAIN or None CSRF_COOKIE_DOMAIN = CONFIG.CSRF_COOKIE_DOMAIN or None -SESSION_COOKIE_AGE = CONFIG.SESSION_COOKIE_AGE or 3600*24 +SESSION_COOKIE_AGE = CONFIG.SESSION_COOKIE_AGE or 3600 * 24 MESSAGE_STORAGE = 'django.contrib.messages.storage.cookie.CookieStorage' # Database @@ -250,7 +247,6 @@ STATIC_URL = '/static/' STATIC_ROOT = os.path.join(PROJECT_DIR, "data", "static") STATIC_DIR = os.path.join(BASE_DIR, "static") - STATICFILES_DIRS = ( os.path.join(BASE_DIR, "static"), ) @@ -265,7 +261,7 @@ MEDIA_ROOT = os.path.join(PROJECT_DIR, 'data', 'media').replace('\\', '/') + '/' # BOOTSTRAP_COLUMN_COUNT = 11 # Init data or generate fake data source for development -FIXTURE_DIRS = [os.path.join(BASE_DIR, 'fixtures'),] +FIXTURE_DIRS = [os.path.join(BASE_DIR, 'fixtures'), ] # Email config EMAIL_HOST = CONFIG.EMAIL_HOST @@ -308,7 +304,6 @@ AUTHENTICATION_BACKENDS = [ # Custom User Auth model AUTH_USER_MODEL = 'users.User' - # Auth LDAP settings AUTH_LDAP = CONFIG.AUTH_LDAP AUTH_LDAP_SERVER_URI = CONFIG.AUTH_LDAP_SERVER_URI @@ -319,7 +314,7 @@ AUTH_LDAP_SEARCH_FILTER = CONFIG.AUTH_LDAP_SEARCH_FILTER AUTH_LDAP_START_TLS = CONFIG.AUTH_LDAP_START_TLS AUTH_LDAP_USER_ATTR_MAP = CONFIG.AUTH_LDAP_USER_ATTR_MAP AUTH_LDAP_USER_SEARCH = LDAPSearch( - AUTH_LDAP_SEARCH_OU, ldap.SCOPE_SUBTREE, AUTH_LDAP_SEARCH_FILTER, + AUTH_LDAP_SEARCH_OU, ldap.SCOPE_SUBTREE, AUTH_LDAP_SEARCH_FILTER, ) AUTH_LDAP_GROUP_SEARCH_OU = CONFIG.AUTH_LDAP_GROUP_SEARCH_OU AUTH_LDAP_GROUP_SEARCH_FILTER = CONFIG.AUTH_LDAP_GROUP_SEARCH_FILTER @@ -332,7 +327,6 @@ AUTH_LDAP_BACKEND = 'django_auth_ldap.backend.LDAPBackend' if AUTH_LDAP: AUTHENTICATION_BACKENDS.insert(0, AUTH_LDAP_BACKEND) - # Celery using redis as broker CELERY_BROKER_URL = 'redis://:%(password)s@%(host)s:%(port)s/3' % { 'password': CONFIG.REDIS_PASSWORD if CONFIG.REDIS_PASSWORD else '', @@ -354,7 +348,6 @@ CELERY_REDIRECT_STDOUTS = True CELERY_REDIRECT_STDOUTS_LEVEL = "INFO" CELERY_WORKER_HIJACK_ROOT_LOGGER = False - # Cache use redis CACHES = { 'default': { @@ -387,6 +380,11 @@ TERMINAL_COMMAND_STORAGE = { # }, } +TERMINAL_REPLAY_STORAGE = { + "default": { + "TYPE": "server", + }, +} # Django bootstrap3 setting, more see http://django-bootstrap3.readthedocs.io/en/latest/settings.html BOOTSTRAP3 = { From e2cb12879451cbb3a31814e8e0df12080526ed7e Mon Sep 17 00:00:00 2001 From: ibuler Date: Mon, 26 Feb 2018 16:57:34 +0800 Subject: [PATCH 3/3] =?UTF-8?q?[Update]=20=E4=BF=AE=E6=94=B9=E7=BF=BB?= =?UTF-8?q?=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/forms/asset.py | 4 +- .../templates/assets/admin_user_detail.html | 4 +- apps/assets/templates/assets/asset_list.html | 6 +- apps/i18n/zh/LC_MESSAGES/django.mo | Bin 29358 -> 29563 bytes apps/i18n/zh/LC_MESSAGES/django.po | 295 +++++++++--------- .../perms/asset_permission_list.html | 6 +- apps/templates/base.html | 2 +- 7 files changed, 165 insertions(+), 152 deletions(-) diff --git a/apps/assets/forms/asset.py b/apps/assets/forms/asset.py index 18f74857a..763608daf 100644 --- a/apps/assets/forms/asset.py +++ b/apps/assets/forms/asset.py @@ -103,10 +103,10 @@ class AssetBulkUpdateForm(forms.ModelForm): ] widgets = { 'labels': forms.SelectMultiple( - attrs={'class': 'select2', 'data-placeholder': _('Labels')} + attrs={'class': 'select2', 'data-placeholder': _('Select labels')} ), 'nodes': forms.SelectMultiple( - attrs={'class': 'select2', 'data-placeholder': _('Nodes')} + attrs={'class': 'select2', 'data-placeholder': _('Select nodes')} ), } diff --git a/apps/assets/templates/assets/admin_user_detail.html b/apps/assets/templates/assets/admin_user_detail.html index 899b69f26..072eb556c 100644 --- a/apps/assets/templates/assets/admin_user_detail.html +++ b/apps/assets/templates/assets/admin_user_detail.html @@ -80,7 +80,7 @@
- {% trans 'Replace assets admin user with this' %} + {% trans 'Replace node assets admin user with this' %}
@@ -88,7 +88,7 @@
- {% for node in nodes %} {% endfor %} diff --git a/apps/assets/templates/assets/asset_list.html b/apps/assets/templates/assets/asset_list.html index 03211aba9..8a56f2c0f 100644 --- a/apps/assets/templates/assets/asset_list.html +++ b/apps/assets/templates/assets/asset_list.html @@ -50,7 +50,7 @@
- +
@@ -348,12 +348,12 @@ function toggle() { if (show === 0) { $("#split-left").hide(500, function () { $("#split-right").attr("class", "col-lg-12"); - $("#toggle-icon").attr("class", "fa fa-angle-right fa-2x"); + $("#toggle-icon").attr("class", "fa fa-angle-right fa-x"); show = 1; }); } else { $("#split-right").attr("class", "col-lg-9"); - $("#toggle-icon").attr("class", "fa fa-angle-left fa-2x"); + $("#toggle-icon").attr("class", "fa fa-angle-left fa-x"); $("#split-left").show(500); show = 0; } diff --git a/apps/i18n/zh/LC_MESSAGES/django.mo b/apps/i18n/zh/LC_MESSAGES/django.mo index 1697912f1e7b75418a82103cb81bf54ebb9e25cf..33e1b6fd07ed0db5608bec933d16f07e07cfc944 100644 GIT binary patch delta 10133 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 diff --git a/apps/i18n/zh/LC_MESSAGES/django.po b/apps/i18n/zh/LC_MESSAGES/django.po index 2a2b293eb..0a6e8215a 100644 --- a/apps/i18n/zh/LC_MESSAGES/django.po +++ b/apps/i18n/zh/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Jumpserver 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-02-09 15:27+0800\n" +"POT-Creation-Date: 2018-02-26 16:54+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: ibuler \n" "Language-Team: Jumpserver team\n" @@ -21,24 +21,23 @@ msgstr "" msgid "New node {}" msgstr "新节点 {}" -#: assets/forms/asset.py:23 assets/forms/asset.py:52 assets/forms/asset.py:102 -#: assets/forms/user.py:125 assets/models/asset.py:45 assets/models/user.py:221 -#: assets/templates/assets/admin_user_detail.html:91 +#: assets/forms/asset.py:23 assets/forms/asset.py:52 assets/forms/user.py:125 +#: assets/models/asset.py:45 assets/models/user.py:221 #: assets/templates/assets/asset_detail.html:181 #: assets/templates/assets/asset_detail.html:189 #: assets/templates/assets/system_user_detail.html:164 msgid "Nodes" msgstr "节点管理" -#: assets/forms/asset.py:26 assets/forms/asset.py:55 assets/forms/asset.py:96 -#: assets/models/asset.py:49 assets/models/cluster.py:19 -#: assets/models/user.py:190 assets/templates/assets/asset_detail.html:73 -#: templates/_nav.html:23 +#: assets/forms/asset.py:26 assets/forms/asset.py:55 assets/forms/asset.py:90 +#: assets/forms/asset.py:94 assets/models/asset.py:49 +#: assets/models/cluster.py:19 assets/models/user.py:190 +#: assets/templates/assets/asset_detail.html:73 templates/_nav.html:23 msgid "Admin user" msgstr "管理用户" -#: assets/forms/asset.py:29 assets/forms/asset.py:58 assets/forms/asset.py:99 -#: assets/models/asset.py:73 assets/templates/assets/asset_create.html:31 +#: assets/forms/asset.py:29 assets/forms/asset.py:58 assets/models/asset.py:73 +#: assets/templates/assets/asset_create.html:31 #: assets/templates/assets/asset_detail.html:218 #: assets/templates/assets/asset_update.html:36 templates/_nav.html:25 msgid "Labels" @@ -63,6 +62,14 @@ msgstr "选择资产" msgid "Port" msgstr "端口" +#: assets/forms/asset.py:106 assets/templates/assets/asset_create.html:35 +msgid "Select labels" +msgstr "选择标签" + +#: assets/forms/asset.py:109 assets/templates/assets/admin_user_detail.html:91 +msgid "Select nodes" +msgstr "选择节点" + #: assets/forms/label.py:13 assets/models/asset.py:137 #: assets/templates/assets/admin_user_list.html:24 #: assets/templates/assets/label_list.html:16 @@ -108,7 +115,8 @@ msgstr "密码和私钥, 必须输入一个" #: assets/templates/assets/label_list.html:14 #: assets/templates/assets/system_user_detail.html:58 #: assets/templates/assets/system_user_list.html:24 common/models.py:26 -#: common/templates/common/terminal_setting.html:62 ops/models.py:31 +#: common/templates/common/terminal_setting.html:67 +#: common/templates/common/terminal_setting.html:88 ops/models.py:31 #: ops/templates/ops/task_detail.html:56 ops/templates/ops/task_list.html:34 #: perms/models.py:14 perms/templates/perms/asset_permission_detail.html:62 #: perms/templates/perms/asset_permission_user.html:54 terminal/models.py:15 @@ -157,9 +165,9 @@ msgstr "高优先级的系统用户将会作为默认登录用户" #: assets/models/asset.py:42 assets/templates/assets/_asset_list_modal.html:21 #: assets/templates/assets/admin_user_assets.html:52 #: assets/templates/assets/asset_detail.html:61 -#: assets/templates/assets/asset_list.html:75 +#: assets/templates/assets/asset_list.html:81 #: assets/templates/assets/system_user_asset.html:50 -#: assets/templates/assets/user_asset_list.html:20 common/forms.py:143 +#: assets/templates/assets/user_asset_list.html:20 common/forms.py:144 #: perms/templates/perms/asset_permission_asset.html:55 #: users/templates/users/login_log_list.html:52 #: users/templates/users/user_granted_asset.html:45 @@ -170,9 +178,9 @@ msgstr "IP" #: assets/models/asset.py:43 assets/templates/assets/_asset_list_modal.html:20 #: assets/templates/assets/admin_user_assets.html:51 #: assets/templates/assets/asset_detail.html:57 -#: assets/templates/assets/asset_list.html:74 +#: assets/templates/assets/asset_list.html:80 #: assets/templates/assets/system_user_asset.html:49 -#: assets/templates/assets/user_asset_list.html:19 common/forms.py:142 +#: assets/templates/assets/user_asset_list.html:19 common/forms.py:143 #: perms/templates/perms/asset_permission_asset.html:54 #: users/templates/users/user_granted_asset.html:44 #: users/templates/users/user_group_granted_asset.html:44 @@ -181,7 +189,7 @@ msgstr "主机名" #: assets/models/asset.py:46 assets/models/label.py:20 #: assets/templates/assets/asset_detail.html:105 -#: perms/templates/perms/asset_permission_list.html:65 +#: perms/templates/perms/asset_permission_list.html:70 msgid "Is active" msgstr "激活" @@ -285,7 +293,7 @@ msgstr "创建日期" #: users/models/user.py:47 users/templates/users/user_detail.html:111 #: users/templates/users/user_group_detail.html:67 #: users/templates/users/user_group_list.html:14 -#: users/templates/users/user_profile.html:118 +#: users/templates/users/user_profile.html:114 msgid "Comment" msgstr "备注" @@ -350,7 +358,7 @@ msgstr "默认资产组" #: terminal/templates/terminal/session_list.html:33 #: terminal/templates/terminal/session_list.html:71 users/forms.py:190 #: users/models/user.py:30 users/templates/users/user_group_detail.html:78 -#: users/templates/users/user_group_list.html:13 users/views/user.py:333 +#: users/templates/users/user_group_list.html:13 users/views/user.py:330 msgid "User" msgstr "用户" @@ -397,9 +405,9 @@ msgstr "Sudo" msgid "Shell" msgstr "Shell" -#: assets/models/user.py:262 perms/forms.py:25 perms/models.py:19 +#: assets/models/user.py:269 perms/forms.py:25 perms/models.py:19 #: perms/models.py:76 perms/templates/perms/asset_permission_detail.html:136 -#: perms/templates/perms/asset_permission_list.html:64 templates/_nav.html:24 +#: perms/templates/perms/asset_permission_list.html:69 templates/_nav.html:24 #: terminal/backends/command/models.py:12 terminal/models.py:117 #: terminal/templates/terminal/command_list.html:48 #: terminal/templates/terminal/command_list.html:74 @@ -425,27 +433,31 @@ msgstr "更新资产硬件信息" msgid "Update assets hardware info period" msgstr "定期更新资产硬件信息" -#: assets/tasks.py:190 +#: assets/tasks.py:191 msgid "Test admin user connectability period: {}" msgstr "定期测试管理用户可连接性: {}" -#: assets/tasks.py:204 +#: assets/tasks.py:197 msgid "Test admin user connectability: {}" msgstr "测试管理用户可连接性: {}" -#: assets/tasks.py:213 +#: assets/tasks.py:206 msgid "Test asset connectability" msgstr "测试资产可连接性" -#: assets/tasks.py:286 +#: assets/tasks.py:277 msgid "Test system user connectability: {}" msgstr "测试系统用户可连接性: {}" -#: assets/tasks.py:383 +#: assets/tasks.py:288 +msgid "test system user connectability period: {}" +msgstr "测试系统用户可连接性: {}" + +#: assets/tasks.py:361 msgid "Push system user to node: {} => {}" msgstr "推送系统用户到节点: {}->{}" -#: assets/tasks.py:415 +#: assets/tasks.py:393 msgid "Push system users to node: {}" msgstr "推送系统用户到节点: {}" @@ -461,9 +473,9 @@ msgstr "仅修改你需要更新的字段" #: 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:63 assets/views/admin_user.py:78 -#: assets/views/admin_user.py:102 assets/views/asset.py:47 -#: assets/views/asset.py:60 assets/views/asset.py:94 assets/views/asset.py:154 -#: assets/views/asset.py:171 assets/views/asset.py:195 assets/views/label.py:26 +#: assets/views/admin_user.py:102 assets/views/asset.py:48 +#: assets/views/asset.py:61 assets/views/asset.py:95 assets/views/asset.py:155 +#: assets/views/asset.py:172 assets/views/asset.py:196 assets/views/label.py:26 #: assets/views/label.py:42 assets/views/label.py:58 #: assets/views/system_user.py:28 assets/views/system_user.py:44 #: assets/views/system_user.py:60 assets/views/system_user.py:74 @@ -510,14 +522,14 @@ msgid "If set id, will use this id update asset existed" msgstr "如果设置了id,则会使用该行信息更新该id的资产" #: assets/templates/assets/_asset_list_modal.html:22 -#: assets/templates/assets/asset_list.html:76 +#: assets/templates/assets/asset_list.html:82 #: assets/templates/assets/user_asset_list.html:22 msgid "Hardware" msgstr "硬件" #: assets/templates/assets/_asset_list_modal.html:23 #: assets/templates/assets/asset_detail.html:143 -#: assets/templates/assets/asset_list.html:77 +#: assets/templates/assets/asset_list.html:83 #: assets/templates/assets/user_asset_list.html:23 perms/models.py:20 #: perms/models.py:77 #: perms/templates/perms/asset_permission_create_update.html:51 @@ -536,7 +548,7 @@ msgstr "激活中" #: assets/templates/assets/admin_user_assets.html:54 #: assets/templates/assets/admin_user_list.html:25 #: assets/templates/assets/asset_detail.html:357 -#: assets/templates/assets/asset_list.html:78 +#: assets/templates/assets/asset_list.html:84 #: assets/templates/assets/system_user_asset.html:52 #: assets/templates/assets/system_user_list.html:27 #: users/templates/users/user_granted_asset.html:47 @@ -546,12 +558,12 @@ msgstr "可连接" #: assets/templates/assets/_asset_list_modal.html:25 #: assets/templates/assets/admin_user_list.html:29 -#: assets/templates/assets/asset_list.html:79 +#: assets/templates/assets/asset_list.html:85 #: assets/templates/assets/label_list.html:17 #: assets/templates/assets/system_user_list.html:31 #: ops/templates/ops/adhoc_history.html:59 ops/templates/ops/task_adhoc.html:61 #: ops/templates/ops/task_history.html:62 ops/templates/ops/task_list.html:41 -#: perms/templates/perms/asset_permission_list.html:67 +#: perms/templates/perms/asset_permission_list.html:72 #: terminal/templates/terminal/session_list.html:79 #: terminal/templates/terminal/terminal_list.html:36 #: users/templates/users/user_group_list.html:15 @@ -560,25 +572,25 @@ msgid "Action" msgstr "动作" #: assets/templates/assets/_asset_list_modal.html:34 -#: assets/templates/assets/asset_list.html:88 +#: assets/templates/assets/asset_list.html:94 #: users/templates/users/user_list.html:37 msgid "Delete selected" msgstr "批量删除" #: assets/templates/assets/_asset_list_modal.html:35 -#: assets/templates/assets/asset_list.html:89 +#: assets/templates/assets/asset_list.html:95 #: users/templates/users/user_list.html:38 msgid "Update selected" msgstr "批量更新" #: assets/templates/assets/_asset_list_modal.html:36 -#: assets/templates/assets/asset_list.html:91 +#: assets/templates/assets/asset_list.html:97 #: users/templates/users/user_list.html:39 msgid "Deactive selected" msgstr "禁用所选" #: assets/templates/assets/_asset_list_modal.html:37 -#: assets/templates/assets/asset_list.html:92 +#: assets/templates/assets/asset_list.html:98 #: users/templates/users/user_list.html:40 msgid "Active selected" msgstr "激活所选" @@ -588,13 +600,13 @@ msgstr "激活所选" #: assets/templates/assets/admin_user_create_update.html:46 #: assets/templates/assets/asset_bulk_update.html:24 #: assets/templates/assets/asset_create.html:65 -#: assets/templates/assets/asset_list.html:96 +#: assets/templates/assets/asset_list.html:102 #: assets/templates/assets/asset_update.html:69 #: assets/templates/assets/label_create_update.html:17 #: common/templates/common/basic_setting.html:59 #: common/templates/common/email_setting.html:60 #: common/templates/common/ldap_setting.html:60 -#: common/templates/common/terminal_setting.html:83 +#: common/templates/common/terminal_setting.html:108 #: perms/templates/perms/asset_permission_create_update.html:72 #: terminal/templates/terminal/terminal_update.html:47 #: users/templates/users/_user.html:44 @@ -610,14 +622,14 @@ msgstr "提交" #: assets/templates/assets/_asset_list_modal.html:79 #: assets/templates/assets/admin_user_detail.html:24 -#: assets/templates/assets/admin_user_list.html:83 +#: assets/templates/assets/admin_user_list.html:84 #: assets/templates/assets/asset_detail.html:24 -#: assets/templates/assets/asset_list.html:154 +#: assets/templates/assets/asset_list.html:160 #: assets/templates/assets/label_list.html:38 #: assets/templates/assets/system_user_detail.html:26 -#: assets/templates/assets/system_user_list.html:84 +#: assets/templates/assets/system_user_list.html:85 #: perms/templates/perms/asset_permission_detail.html:30 -#: perms/templates/perms/asset_permission_list.html:115 +#: perms/templates/perms/asset_permission_list.html:121 #: terminal/templates/terminal/terminal_detail.html:16 #: terminal/templates/terminal/terminal_list.html:71 #: users/templates/users/user_detail.html:25 @@ -629,15 +641,15 @@ msgstr "更新" #: assets/templates/assets/_asset_list_modal.html:80 #: assets/templates/assets/admin_user_detail.html:28 -#: assets/templates/assets/admin_user_list.html:84 +#: assets/templates/assets/admin_user_list.html:85 #: assets/templates/assets/asset_detail.html:28 -#: assets/templates/assets/asset_list.html:155 +#: assets/templates/assets/asset_list.html:161 #: assets/templates/assets/label_list.html:39 #: assets/templates/assets/system_user_detail.html:30 -#: assets/templates/assets/system_user_list.html:85 +#: assets/templates/assets/system_user_list.html:86 #: ops/templates/ops/task_list.html:71 #: perms/templates/perms/asset_permission_detail.html:34 -#: perms/templates/perms/asset_permission_list.html:116 +#: perms/templates/perms/asset_permission_list.html:122 #: terminal/templates/terminal/terminal_list.html:73 #: users/templates/users/user_detail.html:30 #: users/templates/users/user_group_detail.html:32 @@ -690,14 +702,14 @@ msgstr "其它" #: common/templates/common/basic_setting.html:58 #: common/templates/common/email_setting.html:59 #: common/templates/common/ldap_setting.html:59 -#: common/templates/common/terminal_setting.html:82 +#: common/templates/common/terminal_setting.html:106 #: perms/templates/perms/asset_permission_create_update.html:71 #: terminal/templates/terminal/terminal_update.html:46 #: users/templates/users/_user.html:43 #: users/templates/users/user_bulk_update.html:23 #: users/templates/users/user_password_update.html:58 -#: users/templates/users/user_profile.html:139 -#: users/templates/users/user_profile.html:147 +#: users/templates/users/user_profile.html:135 +#: users/templates/users/user_profile.html:143 #: users/templates/users/user_profile_update.html:63 #: users/templates/users/user_pubkey_update.html:70 msgid "Reset" @@ -756,14 +768,16 @@ msgid "Create admin user" msgstr "创建管理用户" #: assets/templates/assets/admin_user_detail.html:83 -msgid "Replace assets admin user with this" +#, fuzzy +#| msgid "Replace assets admin user with this" +msgid "Replace node assets admin user with this" msgstr "替换资产管理员" #: assets/templates/assets/admin_user_detail.html:100 #: assets/templates/assets/asset_detail.html:198 -#: assets/templates/assets/asset_list.html:461 +#: assets/templates/assets/asset_list.html:482 #: assets/templates/assets/system_user_detail.html:181 -#: assets/templates/assets/system_user_list.html:134 templates/_modal.html:16 +#: assets/templates/assets/system_user_list.html:135 templates/_modal.html:16 #: terminal/templates/terminal/session_detail.html:108 #: users/templates/users/user_detail.html:339 #: users/templates/users/user_detail.html:364 @@ -771,7 +785,7 @@ msgstr "替换资产管理员" #: users/templates/users/user_group_create_update.html:32 #: users/templates/users/user_group_list.html:86 #: users/templates/users/user_list.html:196 -#: users/templates/users/user_profile.html:181 +#: users/templates/users/user_profile.html:177 msgid "Confirm" msgstr "确认" @@ -790,21 +804,17 @@ msgstr "比例" #: assets/templates/assets/asset_create.html:27 #: assets/templates/assets/asset_update.html:32 perms/models.py:74 #: perms/templates/perms/asset_permission_create_update.html:40 -#: perms/templates/perms/asset_permission_list.html:62 +#: perms/templates/perms/asset_permission_list.html:67 msgid "Node" msgstr "节点" #: assets/templates/assets/asset_create.html:33 -#: assets/templates/assets/asset_list.html:63 +#: assets/templates/assets/asset_list.html:69 #: assets/templates/assets/asset_update.html:38 msgid "Label" msgstr "标签" -#: assets/templates/assets/asset_create.html:35 -msgid "Select labels" -msgstr "选择标签" - -#: assets/templates/assets/asset_detail.html:20 assets/views/asset.py:196 +#: assets/templates/assets/asset_detail.html:20 assets/views/asset.py:197 msgid "Asset detail" msgstr "资产详情" @@ -825,7 +835,7 @@ msgstr "创建日期" #: assets/templates/assets/asset_detail.html:137 #: terminal/templates/terminal/session_detail.html:81 #: users/templates/users/user_detail.html:122 -#: users/templates/users/user_profile.html:130 +#: users/templates/users/user_profile.html:126 msgid "Quick modify" msgstr "快速修改" @@ -842,51 +852,51 @@ msgstr "刷新" msgid "Update successfully!" msgstr "更新成功" -#: assets/templates/assets/asset_list.html:51 -#: assets/templates/assets/asset_list.html:108 assets/views/asset.py:95 +#: assets/templates/assets/asset_list.html:57 +#: assets/templates/assets/asset_list.html:114 assets/views/asset.py:96 msgid "Create asset" msgstr "创建资产" -#: assets/templates/assets/asset_list.html:55 +#: assets/templates/assets/asset_list.html:61 #: users/templates/users/user_list.html:7 msgid "Import" msgstr "导入" -#: assets/templates/assets/asset_list.html:58 +#: assets/templates/assets/asset_list.html:64 #: users/templates/users/user_list.html:10 msgid "Export" msgstr "导出" -#: assets/templates/assets/asset_list.html:90 +#: assets/templates/assets/asset_list.html:96 msgid "Remove from this node" msgstr "从节点移除" -#: assets/templates/assets/asset_list.html:109 +#: assets/templates/assets/asset_list.html:115 msgid "Add asset" msgstr "添加资产到节点" -#: assets/templates/assets/asset_list.html:111 +#: assets/templates/assets/asset_list.html:117 msgid "Add node" msgstr "新建节点" -#: assets/templates/assets/asset_list.html:112 +#: assets/templates/assets/asset_list.html:118 msgid "Rename node" msgstr "重命名节点" -#: assets/templates/assets/asset_list.html:114 +#: assets/templates/assets/asset_list.html:120 msgid "Delete node" msgstr "删除节点" -#: assets/templates/assets/asset_list.html:189 +#: assets/templates/assets/asset_list.html:195 msgid "Create node failed" msgstr "创建节点失败" -#: assets/templates/assets/asset_list.html:202 +#: assets/templates/assets/asset_list.html:208 msgid "Have child node, cancel" msgstr "存在子节点,不能删除" -#: assets/templates/assets/asset_list.html:456 -#: assets/templates/assets/system_user_list.html:129 +#: assets/templates/assets/asset_list.html:477 +#: assets/templates/assets/system_user_list.html:130 #: users/templates/users/user_detail.html:334 #: users/templates/users/user_detail.html:359 #: users/templates/users/user_group_list.html:81 @@ -894,20 +904,20 @@ msgstr "存在子节点,不能删除" msgid "Are you sure?" msgstr "你确认吗?" -#: assets/templates/assets/asset_list.html:457 +#: assets/templates/assets/asset_list.html:478 msgid "This will delete the selected assets !!!" msgstr "删除选择资产" -#: assets/templates/assets/asset_list.html:465 +#: assets/templates/assets/asset_list.html:486 msgid "Asset Deleted." msgstr "已被删除" -#: assets/templates/assets/asset_list.html:466 -#: assets/templates/assets/asset_list.html:471 +#: assets/templates/assets/asset_list.html:487 +#: assets/templates/assets/asset_list.html:492 msgid "Asset Delete" msgstr "删除" -#: assets/templates/assets/asset_list.html:470 +#: assets/templates/assets/asset_list.html:491 msgid "Asset Deleting failed." msgstr "删除失败" @@ -949,10 +959,12 @@ msgid "Test assets connective" msgstr "测试资产可连接性" #: assets/templates/assets/system_user_asset.html:147 +#: assets/templates/assets/system_user_detail.html:301 msgid "Task has been send, Go to ops task list seen result" msgstr "任务已下发,查看ops任务列表" #: assets/templates/assets/system_user_asset.html:159 +#: assets/templates/assets/system_user_detail.html:313 msgid "Task has been send, seen left assets status" msgstr "任务已下发,查看左侧资产状态" @@ -968,20 +980,20 @@ msgstr "Uid" msgid "Add to node" msgstr "添加到节点" -#: assets/templates/assets/system_user_list.html:130 +#: assets/templates/assets/system_user_list.html:131 msgid "This will delete the selected System Users !!!" msgstr "删除选择系统用户" -#: assets/templates/assets/system_user_list.html:138 +#: assets/templates/assets/system_user_list.html:139 msgid "System Users Deleted." msgstr "已被删除" -#: assets/templates/assets/system_user_list.html:139 -#: assets/templates/assets/system_user_list.html:144 +#: assets/templates/assets/system_user_list.html:140 +#: assets/templates/assets/system_user_list.html:145 msgid "System Users Delete" msgstr "删除系统用户" -#: assets/templates/assets/system_user_list.html:143 +#: assets/templates/assets/system_user_list.html:144 msgid "System Users Deleting failed." msgstr "系统用户删除失败" @@ -1001,23 +1013,19 @@ msgstr "更新管理用户" msgid "Admin user detail" msgstr "管理用户详情" -#: assets/views/asset.py:48 assets/views/asset.py:61 templates/_nav.html:22 +#: assets/views/asset.py:49 assets/views/asset.py:62 templates/_nav.html:22 msgid "Asset list" msgstr "资产列表" -#: assets/views/asset.py:155 +#: assets/views/asset.py:156 msgid "Bulk update asset" msgstr "批量更新资产" -#: assets/views/asset.py:172 +#: assets/views/asset.py:173 msgid "Update asset" msgstr "编辑资产" -#: assets/views/asset.py:225 assets/views/asset.py:265 -msgid "Asset groups" -msgstr "资产组" - -#: assets/views/asset.py:305 +#: assets/views/asset.py:296 msgid "already exists" msgstr "已经存在" @@ -1115,7 +1123,7 @@ msgstr "SMTP密码" msgid "Some provider use token except password" msgstr "一些邮件提供商需要输入的是Token" -#: common/forms.py:96 common/forms.py:135 +#: common/forms.py:96 common/forms.py:136 msgid "Use SSL" msgstr "使用SSL" @@ -1156,7 +1164,7 @@ msgstr "用户过滤器必须包含([cn,uid,sAMAccountName,...]=%(user)s)" msgid "User attr map" msgstr "LDAP属性映射" -#: common/forms.py:130 +#: common/forms.py:131 msgid "" "User attr map present how to map LDAP user attr to jumpserver, username,name," "email is jumpserver attr" @@ -1164,41 +1172,52 @@ msgstr "" "用户属性映射代表怎样将LDAP中用户属性映射到jumpserver用户上,username, name," "email 是jumpserver的属性" -#: common/forms.py:137 +#: common/forms.py:138 msgid "Enable LDAP auth" msgstr "启用LDAP认证" -#: common/forms.py:146 +#: common/forms.py:147 msgid "List sort by" msgstr "资产列表排序" -#: common/forms.py:149 +#: common/forms.py:150 msgid "Heartbeat interval" msgstr "心跳间隔" -#: common/forms.py:149 ops/models.py:32 +#: common/forms.py:150 ops/models.py:32 msgid "Units: seconds" msgstr "单位: 秒" -#: common/forms.py:152 +#: common/forms.py:153 msgid "Password auth" msgstr "密码认证" -#: common/forms.py:155 +#: common/forms.py:156 msgid "Public key auth" msgstr "秘钥认证" -#: common/forms.py:158 common/templates/common/terminal_setting.html:58 +#: common/forms.py:159 common/templates/common/terminal_setting.html:63 #: terminal/forms.py:21 terminal/models.py:19 msgid "Command storage" msgstr "命令存储" -#: common/forms.py:159 +#: common/forms.py:160 msgid "" "Set terminal storage setting, `default` is the using as default,You can set " "other storage and some terminal using" msgstr "设置终端命令存储,default是默认用的存储方式" +#: common/forms.py:165 common/templates/common/terminal_setting.html:84 +#: terminal/models.py:20 +msgid "Replay storage" +msgstr "录像存储" + +#: common/forms.py:166 +msgid "" +"Set replay storage setting, `default` is the using as default,You can set " +"other storage and some terminal using" +msgstr "设置终端录像存储,default是默认用的存储方式" + #: common/mixins.py:29 msgid "is discard" msgstr "" @@ -1214,29 +1233,29 @@ msgstr "启用" #: common/templates/common/basic_setting.html:15 #: common/templates/common/email_setting.html:15 #: common/templates/common/ldap_setting.html:15 -#: common/templates/common/terminal_setting.html:15 -#: common/templates/common/terminal_setting.html:38 common/views.py:21 +#: common/templates/common/terminal_setting.html:16 +#: common/templates/common/terminal_setting.html:42 common/views.py:21 msgid "Basic setting" msgstr "基本设置" #: common/templates/common/basic_setting.html:18 #: common/templates/common/email_setting.html:18 #: common/templates/common/ldap_setting.html:18 -#: common/templates/common/terminal_setting.html:18 common/views.py:47 +#: common/templates/common/terminal_setting.html:20 common/views.py:47 msgid "Email setting" msgstr "邮件设置" #: common/templates/common/basic_setting.html:21 #: common/templates/common/email_setting.html:21 #: common/templates/common/ldap_setting.html:21 -#: common/templates/common/terminal_setting.html:21 common/views.py:73 +#: common/templates/common/terminal_setting.html:24 common/views.py:73 msgid "LDAP setting" msgstr "LDAP设置" #: common/templates/common/basic_setting.html:24 #: common/templates/common/email_setting.html:24 #: common/templates/common/ldap_setting.html:24 -#: common/templates/common/terminal_setting.html:24 common/views.py:102 +#: common/templates/common/terminal_setting.html:28 common/views.py:103 msgid "Terminal setting" msgstr "终端设置" @@ -1245,17 +1264,24 @@ msgstr "终端设置" msgid "Test connection" msgstr "测试连接" -#: common/templates/common/terminal_setting.html:63 +#: common/templates/common/terminal_setting.html:68 +#: common/templates/common/terminal_setting.html:89 #: users/templates/users/login_log_list.html:50 msgid "Type" msgstr "类型" -#: common/views.py:20 common/views.py:46 common/views.py:72 common/views.py:101 +#: common/templates/common/terminal_setting.html:90 +#: users/templates/users/reset_password.html:57 +#: users/templates/users/user_profile.html:20 +msgid "Setting" +msgstr "设置" + +#: common/views.py:20 common/views.py:46 common/views.py:72 common/views.py:102 #: templates/_nav.html:66 msgid "Settings" msgstr "系统设置" -#: common/views.py:31 common/views.py:57 common/views.py:85 common/views.py:113 +#: common/views.py:31 common/views.py:57 common/views.py:85 common/views.py:115 msgid "Update setting successfully, please restart program" msgstr "更新设置成功, 请手动重启程序" @@ -1527,7 +1553,7 @@ msgid "Task run history" msgstr "执行历史" #: perms/forms.py:22 perms/models.py:16 perms/models.py:75 -#: perms/templates/perms/asset_permission_list.html:63 templates/_nav.html:13 +#: perms/templates/perms/asset_permission_list.html:68 templates/_nav.html:13 #: users/models/user.py:37 users/templates/users/_select_user_modal.html:16 #: users/templates/users/user_detail.html:179 #: users/templates/users/user_list.html:26 @@ -1536,7 +1562,7 @@ msgstr "用户组" #: perms/models.py:21 perms/models.py:78 #: perms/templates/perms/asset_permission_detail.html:86 -#: perms/templates/perms/asset_permission_list.html:66 users/models/user.py:49 +#: perms/templates/perms/asset_permission_list.html:71 users/models/user.py:49 #: users/templates/users/user_detail.html:95 #: users/templates/users/user_profile.html:96 msgid "Date expired" @@ -1611,7 +1637,7 @@ msgstr "系统用户数量" msgid "Select system users" msgstr "选择系统用户" -#: perms/templates/perms/asset_permission_list.html:53 +#: perms/templates/perms/asset_permission_list.html:58 msgid "Create permission" msgstr "创建授权规则" @@ -1662,7 +1688,7 @@ msgstr "帮助" #: users/templates/users/user_profile.html:17 #: users/templates/users/user_profile_update.html:37 #: users/templates/users/user_profile_update.html:57 -#: users/templates/users/user_pubkey_update.html:37 users/views/user.py:315 +#: users/templates/users/user_pubkey_update.html:37 users/views/user.py:313 msgid "Profile" msgstr "个人信息" @@ -1700,7 +1726,7 @@ msgstr "" " 补充完整\n" " " -#: templates/_message.html:16 +#: templates/_message.html:17 #, python-format msgid "" "\n" @@ -1721,7 +1747,7 @@ msgstr "关闭" #: users/views/group.py:62 users/views/group.py:79 users/views/login.py:200 #: users/views/login.py:249 users/views/user.py:57 users/views/user.py:72 #: users/views/user.py:91 users/views/user.py:147 users/views/user.py:300 -#: users/views/user.py:314 users/views/user.py:351 users/views/user.py:373 +#: users/views/user.py:312 users/views/user.py:348 users/views/user.py:370 msgid "Users" msgstr "用户管理" @@ -1815,10 +1841,6 @@ msgstr "SSH端口" msgid "HTTP Port" msgstr "HTTP端口" -#: terminal/models.py:20 -msgid "Replay storage" -msgstr "录像存储" - #: terminal/models.py:91 msgid "Session Online" msgstr "在线会话" @@ -2175,7 +2197,7 @@ msgstr "导入" #: users/templates/users/_user_import_modal.html:6 msgid "Download template or use export csv format" -msgstr "下载模板" +msgstr "下载模板或使用导出的csv格式" #: users/templates/users/_user_import_modal.html:14 msgid "Users csv file" @@ -2241,7 +2263,7 @@ msgstr "城市" #: users/templates/users/reset_password.html:45 #: users/templates/users/user_detail.html:325 -#: users/templates/users/user_profile.html:136 users/utils.py:71 +#: users/templates/users/user_profile.html:132 users/utils.py:71 msgid "Reset password" msgstr "重置密码" @@ -2249,11 +2271,6 @@ msgstr "重置密码" msgid "Password again" msgstr "再次输入密码" -#: users/templates/users/reset_password.html:57 -#: users/templates/users/user_profile.html:20 -msgid "Setting" -msgstr "设置" - #: users/templates/users/user_create.html:4 #: users/templates/users/user_list.html:16 users/views/user.py:72 msgid "Create user" @@ -2308,7 +2325,7 @@ msgid "" msgstr "重设秘钥邮件将会发送到用户邮箱" #: users/templates/users/user_detail.html:350 -#: users/templates/users/user_profile.html:144 +#: users/templates/users/user_profile.html:140 msgid "Reset SSH public key" msgstr "重置SSH密钥" @@ -2317,14 +2334,14 @@ msgid "This will reset the user public key and send a reset mail" msgstr "将会失效用户当前秘钥,并发送重置邮件到用户邮箱" #: users/templates/users/user_detail.html:377 -#: users/templates/users/user_profile.html:170 +#: users/templates/users/user_profile.html:166 msgid "Successfully updated the SSH public key." msgstr "更新ssh密钥成功" #: users/templates/users/user_detail.html:378 #: users/templates/users/user_detail.html:382 -#: users/templates/users/user_profile.html:171 -#: users/templates/users/user_profile.html:176 +#: users/templates/users/user_profile.html:167 +#: users/templates/users/user_profile.html:172 msgid "User SSH public key update" msgstr "ssh密钥" @@ -2389,11 +2406,7 @@ msgstr "" msgid "User groups" msgstr "用户组" -#: users/templates/users/user_profile.html:114 -msgid "Perm assets" -msgstr "资产" - -#: users/templates/users/user_profile.html:174 +#: users/templates/users/user_profile.html:170 msgid "Failed to update SSH public key." msgstr "更新密钥失败" @@ -2612,15 +2625,15 @@ msgstr "文件不合法" msgid "User granted assets" msgstr "用户授权资产" -#: users/views/user.py:334 +#: users/views/user.py:331 msgid "Profile setting" msgstr "个人信息设置" -#: users/views/user.py:352 +#: users/views/user.py:349 msgid "Password update" msgstr "密码更新" -#: users/views/user.py:374 +#: users/views/user.py:371 msgid "Public key update" msgstr "秘钥更新" diff --git a/apps/perms/templates/perms/asset_permission_list.html b/apps/perms/templates/perms/asset_permission_list.html index 2a9b428ff..9b1bd3875 100644 --- a/apps/perms/templates/perms/asset_permission_list.html +++ b/apps/perms/templates/perms/asset_permission_list.html @@ -49,7 +49,7 @@
- +
@@ -200,12 +200,12 @@ function toggle() { if (show === 0) { $("#split-left").hide(500, function () { $("#split-right").attr("class", "col-lg-12"); - $("#toggle-icon").attr("class", "fa fa-angle-right fa-2x"); + $("#toggle-icon").attr("class", "fa fa-angle-right fa-x"); show = 1; }); } else { $("#split-right").attr("class", "col-lg-9"); - $("#toggle-icon").attr("class", "fa fa-angle-left fa-2x"); + $("#toggle-icon").attr("class", "fa fa-angle-left fa-x"); $("#split-left").show(500); show = 0; } diff --git a/apps/templates/base.html b/apps/templates/base.html index 43f2ab2af..1e8727d49 100644 --- a/apps/templates/base.html +++ b/apps/templates/base.html @@ -17,8 +17,8 @@ {% include '_left_side_bar.html' %}
{% include '_header_bar.html' %} - {% include '_message.html' %} {% block help_message %} {% endblock %} + {% include '_message.html' %} {% block content %}{% endblock %} {% include '_footer.html' %}