From 2f7b1694054fb60cccb85523685ab38a5480432d Mon Sep 17 00:00:00 2001 From: Bai Date: Mon, 18 May 2020 15:24:55 +0800 Subject: [PATCH 1/9] =?UTF-8?q?[Update]=20=E4=BF=AE=E6=94=B9=E6=8E=88?= =?UTF-8?q?=E6=9D=83=E7=94=A8=E6=88=B7/=E7=94=A8=E6=88=B7=E7=BB=84?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E5=88=A0=E9=99=A4=E7=94=A8=E6=88=B7=E7=BB=84?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/perms/templates/perms/asset_permission_user.html | 2 +- apps/perms/templates/perms/database_app_permission_user.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/perms/templates/perms/asset_permission_user.html b/apps/perms/templates/perms/asset_permission_user.html index bb9ca375a..088d80c75 100644 --- a/apps/perms/templates/perms/asset_permission_user.html +++ b/apps/perms/templates/perms/asset_permission_user.html @@ -218,7 +218,7 @@ function addGroups(groupsId) { } function removeGroup(groupId) { - var theUrl = "{% url 'api-perms:asset-permissions-user-groups-relation-list' %}?assetpermission={{ object.id }}"; + var theUrl = "{% url 'api-perms:asset-permissions-user-groups-relation-list' %}?assetpermission={{ object.id }}&usergroup=groupId"; theUrl = theUrl.replace("groupId", groupId); var success = function(data) { location.reload(); diff --git a/apps/perms/templates/perms/database_app_permission_user.html b/apps/perms/templates/perms/database_app_permission_user.html index 603f60a6e..8b109fa1a 100644 --- a/apps/perms/templates/perms/database_app_permission_user.html +++ b/apps/perms/templates/perms/database_app_permission_user.html @@ -218,7 +218,7 @@ function addGroups(groupsId) { } function removeGroup(groupId) { - var theUrl = "{% url 'api-perms:database-app-permissions-user-groups-relation-list' %}?databaseapppermission={{ object.id }}"; + var theUrl = "{% url 'api-perms:database-app-permissions-user-groups-relation-list' %}?databaseapppermission={{ object.id }}&usergroup=groupId"; theUrl = theUrl.replace("groupId", groupId); var success = function(data) { location.reload(); From 75edc26a10d7a667387e1dab83dbfdfd61b8684b Mon Sep 17 00:00:00 2001 From: Bai Date: Mon, 18 May 2020 15:25:24 +0800 Subject: [PATCH 2/9] =?UTF-8?q?[Update]=20=E4=BF=AE=E6=94=B9=E7=BF=BB?= =?UTF-8?q?=E8=AF=91=EF=BC=8C=E7=A6=81=E7=94=A8=E8=B5=84=E4=BA=A7=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E4=B8=8D=E6=94=AF=E6=8C=81ansible=E7=9A=84=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/locale/zh/LC_MESSAGES/django.mo | Bin 89992 -> 89985 bytes apps/locale/zh/LC_MESSAGES/django.po | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo index acc82a3552390f50429dc0e117e050835b453ab8..8ce97ff575ac8bb7ed55c47ded03104bd285200d 100644 GIT binary patch delta 8833 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 diff --git a/apps/locale/zh/LC_MESSAGES/django.po b/apps/locale/zh/LC_MESSAGES/django.po index 5ad5d3edc..562154404 100644 --- a/apps/locale/zh/LC_MESSAGES/django.po +++ b/apps/locale/zh/LC_MESSAGES/django.po @@ -1671,7 +1671,7 @@ msgstr "定期测试系统用户可连接性: {}" #: assets/tasks/utils.py:17 msgid "Asset has been disabled, skipped: {}" -msgstr "资产或许不支持ansible, 跳过: {}" +msgstr "资产已经被禁用, 跳过: {}" #: assets/tasks/utils.py:21 msgid "Asset may not be support ansible, skipped: {}" From 041d99f0beb168eafbcd2d76d56caeabb8989f56 Mon Sep 17 00:00:00 2001 From: Bai Date: Mon, 18 May 2020 15:40:54 +0800 Subject: [PATCH 3/9] =?UTF-8?q?[Update]=20=E6=9B=B4=E6=96=B0remote-app?= =?UTF-8?q?=E7=94=A8=E6=88=B7/=E7=94=A8=E6=88=B7=E7=BB=84=E6=97=B6?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=88=B7=E6=96=B0=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/perms/templates/perms/remote_app_permission_user.html | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/perms/templates/perms/remote_app_permission_user.html b/apps/perms/templates/perms/remote_app_permission_user.html index d222dfb7c..9fa623585 100644 --- a/apps/perms/templates/perms/remote_app_permission_user.html +++ b/apps/perms/templates/perms/remote_app_permission_user.html @@ -179,9 +179,13 @@ var body = { user_groups: groups }; + var success = function(data) { + location.reload(); + }; requestApi({ url: the_url, - body: JSON.stringify(body) + body: JSON.stringify(body), + success: success }); } $(document).ready(function () { From 01a52812f07c4502f10f99b0c2ba6d5ed5753dec Mon Sep 17 00:00:00 2001 From: Bai Date: Mon, 18 May 2020 15:49:53 +0800 Subject: [PATCH 4/9] =?UTF-8?q?[Update]=20=E4=BF=AE=E6=94=B9=E7=94=A8?= =?UTF-8?q?=E6=88=B7MFA=E7=A6=81=E7=94=A8/=E6=9B=B4=E6=96=B0=E7=9A=84View?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/users/views/profile/otp.py | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/apps/users/views/profile/otp.py b/apps/users/views/profile/otp.py index 2d823f5ab..83918114e 100644 --- a/apps/users/views/profile/otp.py +++ b/apps/users/views/profile/otp.py @@ -83,26 +83,12 @@ class UserOtpEnableBindView(TemplateView, FormView): return super().get_context_data(**kwargs) -class UserVerifyMFAView(FormView): +class UserDisableMFAView(FormView): template_name = 'users/user_verify_mfa.html' form_class = forms.UserCheckOtpCodeForm success_url = reverse_lazy('users:user-otp-settings-success') permission_classes = [IsValidUser] - def form_valid(self, form): - user = self.request.user - otp_code = form.cleaned_data.get('otp_code') - - valid = user.check_mfa(otp_code) - if valid: - return super().form_valid(form) - else: - error = _('MFA code invalid, or ntp sync server time') - form.add_error('otp_code', error) - return super().form_invalid(form) - - -class UserDisableMFAView(UserVerifyMFAView): def form_valid(self, form): user = self.request.user otp_code = form.cleaned_data.get('otp_code') @@ -118,8 +104,23 @@ class UserDisableMFAView(UserVerifyMFAView): return super().form_invalid(form) -class UserOtpUpdateView(UserVerifyMFAView): +class UserOtpUpdateView(FormView): + template_name = 'users/user_verify_mfa.html' + form_class = forms.UserCheckOtpCodeForm success_url = reverse_lazy('users:user-otp-enable-bind') + permission_classes = [IsValidUser] + + def form_valid(self, form): + user = self.request.user + otp_code = form.cleaned_data.get('otp_code') + + valid = user.check_mfa(otp_code) + if valid: + return super().form_valid(form) + else: + error = _('MFA code invalid, or ntp sync server time') + form.add_error('otp_code', error) + return super().form_invalid(form) class UserOtpSettingsSuccessView(TemplateView): From e98626988bac4d085eda5e738d4f6564fb5cf841 Mon Sep 17 00:00:00 2001 From: Bai Date: Mon, 18 May 2020 18:02:37 +0800 Subject: [PATCH 5/9] =?UTF-8?q?[Update]=20=E8=A7=A3=E5=86=B3=E5=BC=80?= =?UTF-8?q?=E5=90=AFOpenID=EF=BC=8C=E4=B8=BA=E7=94=A8=E6=88=B7=E5=BC=BA?= =?UTF-8?q?=E5=88=B6=E5=90=AF=E7=94=A8MFA=E5=AF=BC=E8=87=B4=EF=BC=8C?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E6=97=B6=E6=8A=A5=E9=94=99=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/users/views/profile/password.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/users/views/profile/password.py b/apps/users/views/profile/password.py index c9bb97f38..bb7caa9a1 100644 --- a/apps/users/views/profile/password.py +++ b/apps/users/views/profile/password.py @@ -67,7 +67,7 @@ class UserVerifyPasswordView(FormView): def form_valid(self, form): user = get_user_or_pre_auth_user(self.request) password = form.cleaned_data.get('password') - user = authenticate(username=user.username, password=password) + user = authenticate(request=self.request, username=user.username, password=password) if not user: form.add_error("password", _("Password invalid")) return self.form_invalid(form) From 73c3de97b86fd8ddbb29d856ebc3455138ef40ad Mon Sep 17 00:00:00 2001 From: Bai Date: Mon, 18 May 2020 18:14:19 +0800 Subject: [PATCH 6/9] =?UTF-8?q?[Update]=20=E5=8F=96=E6=B6=88=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E8=B5=84=E4=BA=A7=E9=A1=B5=E9=9D=A2=E4=B8=AD=EF=BC=8C?= =?UTF-8?q?=E8=B5=84=E4=BA=A7=E8=AF=A6=E6=83=85=E7=B3=BB=E7=BB=9F=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E5=80=BC=E4=B8=BAundefine=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/templates/assets/user_asset_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/assets/templates/assets/user_asset_list.html b/apps/assets/templates/assets/user_asset_list.html index 3c5cdc4a1..2a8c8cf64 100644 --- a/apps/assets/templates/assets/user_asset_list.html +++ b/apps/assets/templates/assets/user_asset_list.html @@ -76,7 +76,7 @@ $(document).ready(function () { 'ip': "{% trans 'IP' %}", 'protocols': "{% trans 'Protocols' %}", 'platform': "{% trans 'Platform' %}", - 'system_users_join': "{% trans 'System user' %}", + {#'system_users_join': "{% trans 'System user' %}",#} 'domain': "{% trans 'Domain' %}", 'comment': "{% trans 'Comment' %}", }; From 728e4b7edd57fb8a37d89c102360a6b41531cf9d Mon Sep 17 00:00:00 2001 From: Bai Date: Tue, 19 May 2020 11:47:49 +0800 Subject: [PATCH 7/9] =?UTF-8?q?[Update]=20=E4=BF=AE=E5=A4=8D=E6=8E=88?= =?UTF-8?q?=E6=9D=83=E6=A8=A1=E5=9D=97=E7=9A=84=E4=BF=A1=E5=8F=B7=E5=A4=84?= =?UTF-8?q?=E7=90=86=E7=9B=91=E5=90=AC=E4=B8=8D=E5=88=B0=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/perms/apps.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apps/perms/apps.py b/apps/perms/apps.py index d40373e08..5bb7420bb 100644 --- a/apps/perms/apps.py +++ b/apps/perms/apps.py @@ -5,3 +5,7 @@ from django.apps import AppConfig class PermsConfig(AppConfig): name = 'perms' + + def ready(self): + super().ready() + from . import signals_handler From 96afd82341199a431f9b25c7b2ebb8e6829e0199 Mon Sep 17 00:00:00 2001 From: Bai Date: Tue, 19 May 2020 15:15:17 +0800 Subject: [PATCH 8/9] =?UTF-8?q?[Update]=20=E4=BF=AE=E5=A4=8D=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=88=97=E8=A1=A8=EF=BC=8C=E6=89=A7=E8=A1=8C=E5=8E=86?= =?UTF-8?q?=E5=8F=B2=E4=B8=ADstat=E6=B1=87=E6=80=BB=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/ops/serializers/adhoc.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/apps/ops/serializers/adhoc.py b/apps/ops/serializers/adhoc.py index afdd659fc..8d9e18e24 100644 --- a/apps/ops/serializers/adhoc.py +++ b/apps/ops/serializers/adhoc.py @@ -19,10 +19,13 @@ class AdHocExecutionSerializer(serializers.ModelSerializer): @staticmethod def get_stat(obj): + count_failed_hosts = len(obj.failed_hosts) + count_success_hosts = len(obj.success_hosts) + count_total = count_success_hosts + count_failed_hosts return { - "total": obj.hosts_amount, - "success": len(obj.summary.get("contacted", [])), - "failed": len(obj.summary.get("dark", [])), + "total": count_total, + "success": count_success_hosts, + "failed": count_failed_hosts } def get_field_names(self, declared_fields, info): From be3fdac8a95aac5c432ff830b1f70bf80abd00e8 Mon Sep 17 00:00:00 2001 From: Bai Date: Tue, 19 May 2020 15:28:31 +0800 Subject: [PATCH 9/9] =?UTF-8?q?[Update]=20=E4=BF=AE=E5=A4=8DAPI-key?= =?UTF-8?q?=E4=B8=8D=E8=83=BD=E5=88=A0=E9=99=A4=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../templates/authentication/_access_key_modal.html | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/apps/authentication/templates/authentication/_access_key_modal.html b/apps/authentication/templates/authentication/_access_key_modal.html index f0b34cf30..71b1f67f5 100644 --- a/apps/authentication/templates/authentication/_access_key_modal.html +++ b/apps/authentication/templates/authentication/_access_key_modal.html @@ -135,6 +135,19 @@ $(document).ready(function () { } }; requestApi(data) +}).on('click', '.btn-api-keydel', function (){ + var url = "{% url "api-auth:access-key-detail" pk=DEFAULT_PK %}"; + url = url.replace("{{ DEFAULT_PK }}", $(this).data("id")) ; + var data = { + url: url, + method: "DELETE", + success: function () { + ak_table.ajax.reload(); + }, + success_message: "{% trans 'Delete success' %}" + + }; + requestApi(data) }) {% endblock %}