diff --git a/apps/assets/templates/assets/admin_user_assets.html b/apps/assets/templates/assets/admin_user_assets.html index d22c5406f..c893ead80 100644 --- a/apps/assets/templates/assets/admin_user_assets.html +++ b/apps/assets/templates/assets/admin_user_assets.html @@ -98,6 +98,7 @@ function initTable() { order: [], columnDefs: [ {targets: 0, createdCell: function (td, cellData, rowData) { + cellData = htmlEscape(cellData); var detail_btn = '' + cellData + ''; $(td).html(detail_btn.replace('{{ DEFAULT_PK }}', rowData.id)); }}, diff --git a/apps/assets/templates/assets/admin_user_list.html b/apps/assets/templates/assets/admin_user_list.html index 9b14a3d9c..605e89060 100644 --- a/apps/assets/templates/assets/admin_user_list.html +++ b/apps/assets/templates/assets/admin_user_list.html @@ -91,7 +91,7 @@ $(document).ready(function(){ }}], ajax_url: '{% url "api-assets:admin-user-list" %}', columns: [{data: function(){return ""}}, {data: "name"}, {data: "username" }, {data: "assets_amount" }, - {data: "reachable_amount"}, {data: "unreachable_amount"}, {data: "id"}, {data: "comment"}] + {data: "reachable_amount"}, {data: "unreachable_amount"}, {data: "id"}, {data: "comment"}, {data: "id"}] }; jumpserver.initServerSideDataTable(options) }) diff --git a/apps/assets/templates/assets/asset_list.html b/apps/assets/templates/assets/asset_list.html index 8adc81de9..aa27de7a8 100644 --- a/apps/assets/templates/assets/asset_list.html +++ b/apps/assets/templates/assets/asset_list.html @@ -156,6 +156,7 @@ function initTable() { ele: $('#asset_list_table'), columnDefs: [ {targets: 1, createdCell: function (td, cellData, rowData) { + cellData = htmlEscape(cellData); {% url 'assets:asset-detail' pk=DEFAULT_PK as the_url %} var detail_btn = '' + cellData + ''; $(td).html(detail_btn.replace('{{ DEFAULT_PK }}', rowData.id)); diff --git a/apps/assets/templates/assets/cmd_filter_list.html b/apps/assets/templates/assets/cmd_filter_list.html index 3a4feeae0..c7f8e7d3e 100644 --- a/apps/assets/templates/assets/cmd_filter_list.html +++ b/apps/assets/templates/assets/cmd_filter_list.html @@ -40,6 +40,7 @@ function initTable() { ele: $('#cmd_filter_list_table'), columnDefs: [ {targets: 1, createdCell: function (td, cellData, rowData) { + cellData = htmlEscape(cellData); var detail_btn = '' + cellData + ''; $(td).html(detail_btn.replace('{{ DEFAULT_PK }}', rowData.id)); }}, diff --git a/apps/assets/templates/assets/domain_list.html b/apps/assets/templates/assets/domain_list.html index a0c6e869e..5cd717535 100644 --- a/apps/assets/templates/assets/domain_list.html +++ b/apps/assets/templates/assets/domain_list.html @@ -41,6 +41,7 @@ function initTable() { ele: $('#domain_list_table'), columnDefs: [ {targets: 1, createdCell: function (td, cellData, rowData) { + cellData = htmlEscape(cellData); var detail_btn = '' + cellData + ''; $(td).html(detail_btn.replace('{{ DEFAULT_PK }}', rowData.id)); }}, diff --git a/apps/assets/templates/assets/label_list.html b/apps/assets/templates/assets/label_list.html index d2fa9958a..3cb90788a 100644 --- a/apps/assets/templates/assets/label_list.html +++ b/apps/assets/templates/assets/label_list.html @@ -30,6 +30,7 @@ function initTable() { columnDefs: [ {targets: 1, createdCell: function (td, cellData, rowData) { {# var detail_btn = '' + cellData + '';#} + cellData = htmlEscape(cellData); var detail_btn = '' + cellData + ''; $(td).html(detail_btn.replace('{{ DEFAULT_PK }}', rowData.id)); }}, diff --git a/apps/assets/templates/assets/system_user_asset.html b/apps/assets/templates/assets/system_user_asset.html index 4ffdf2a91..082e13fd8 100644 --- a/apps/assets/templates/assets/system_user_asset.html +++ b/apps/assets/templates/assets/system_user_asset.html @@ -144,6 +144,7 @@ function initAssetsTable() { order: [], columnDefs: [ {targets: 0, createdCell: function (td, cellData, rowData) { + cellData = htmlEscape(cellData); var detail_btn = '' + cellData + ''; $(td).html(detail_btn.replace('{{ DEFAULT_PK }}', rowData.id)); }}, diff --git a/apps/assets/templates/assets/system_user_list.html b/apps/assets/templates/assets/system_user_list.html index 6ed0d0d26..b31039a46 100644 --- a/apps/assets/templates/assets/system_user_list.html +++ b/apps/assets/templates/assets/system_user_list.html @@ -49,6 +49,7 @@ function initTable() { ele: $('#system_user_list_table'), columnDefs: [ {targets: 1, createdCell: function (td, cellData, rowData) { + cellData = htmlEscape(cellData); var detail_btn = '' + cellData + ''; $(td).html(detail_btn.replace('{{ DEFAULT_PK }}', rowData.id)); }}, diff --git a/apps/authentication/views/login.py b/apps/authentication/views/login.py index fc2270eba..53112fcac 100644 --- a/apps/authentication/views/login.py +++ b/apps/authentication/views/login.py @@ -59,6 +59,11 @@ class UserLoginView(FormView): return redirect(redirect_user_first_login_or_index( request, self.redirect_field_name) ) + # show jumpserver login page if request http://{JUMP-SERVER}/?admin=1 + if settings.AUTH_OPENID and not self.request.GET.get('admin', 0): + query_string = request.GET.urlencode() + login_url = "{}?{}".format(settings.LOGIN_URL, query_string) + return redirect(login_url) request.session.set_test_cookie() return super().get(request, *args, **kwargs) diff --git a/apps/common/const.py b/apps/common/const.py index 6652593cb..018177d89 100644 --- a/apps/common/const.py +++ b/apps/common/const.py @@ -3,7 +3,7 @@ from django.utils.translation import ugettext_lazy as _ -create_success_msg = _("%(name)s was created successfully") -update_success_msg = _("%(name)s was updated successfully") +create_success_msg = _("%(name)s was created successfully") +update_success_msg = _("%(name)s was updated successfully") FILE_END_GUARD = ">>> Content End <<<" celery_task_pre_key = "CELERY_" diff --git a/apps/ops/templates/ops/command_execution_create.html b/apps/ops/templates/ops/command_execution_create.html index 8352d1607..4aaee0406 100644 --- a/apps/ops/templates/ops/command_execution_create.html +++ b/apps/ops/templates/ops/command_execution_create.html @@ -82,6 +82,7 @@