From 7235910a8684254e1a884b4a403695f71c9c8573 Mon Sep 17 00:00:00 2001 From: jiangweidong Date: Wed, 15 Feb 2023 10:46:37 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96Activity=E6=97=A5?= =?UTF-8?q?=E5=BF=97[=E6=93=8D=E4=BD=9C=E6=97=A5=E5=BF=97=E3=80=81?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E6=97=A5=E5=BF=97]=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/audits/api.py | 5 +++-- apps/audits/serializers.py | 18 ++++++++++-------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/apps/audits/api.py b/apps/audits/api.py index 955d356bf..a16e6d35d 100644 --- a/apps/audits/api.py +++ b/apps/audits/api.py @@ -53,8 +53,9 @@ class UserLoginCommonMixin: search_fields = ['id', 'username', 'ip', 'city'] -class UserLoginLogViewSet(UserLoginCommonMixin, ListModelMixin, JMSGenericViewSet): - +class UserLoginLogViewSet( + UserLoginCommonMixin, RetrieveModelMixin, ListModelMixin, JMSGenericViewSet +): @staticmethod def get_org_members(): users = current_org.get_members().values_list('username', flat=True) diff --git a/apps/audits/serializers.py b/apps/audits/serializers.py index 7c81834b7..26e96cbf5 100644 --- a/apps/audits/serializers.py +++ b/apps/audits/serializers.py @@ -110,6 +110,7 @@ class ActivityUnionLogSerializer(serializers.Serializer): timestamp = serializers.SerializerMethodField() detail_url = serializers.SerializerMethodField() content = serializers.SerializerMethodField() + r_type = serializers.CharField(read_only=True) @staticmethod def get_timestamp(obj): @@ -132,18 +133,19 @@ class ActivityUnionLogSerializer(serializers.Serializer): return detail_url if obj_type == ActivityChoices.operate_log: - detail_url = reverse( - view_name='audits:operate-log-detail', - kwargs={'pk': obj['id']}, - api_to_ui=True, is_audit=True - ) + detail_url = '%s?%s' % ( + reverse( + 'audits:operate-log-detail', + kwargs={'pk': obj['id']}, + ), 'type=action_detail') elif obj_type == ActivityChoices.task: detail_url = reverse( 'ops:celery-task-log', kwargs={'pk': detail_id} ) elif obj_type == ActivityChoices.login_log: - detail_url = '%s?id=%s' % ( - reverse('api-audits:login-log-list', api_to_ui=True, is_audit=True), - detail_id + detail_url = reverse( + 'audits:login-log-detail', + kwargs={'pk': detail_id}, + api_to_ui=True, is_audit=True ) return detail_url