mirror of https://github.com/jumpserver/jumpserver
fix: 修复组织管理员查看活动日志详情时没有对象的问题
parent
6bbe602ebb
commit
bbddf6a342
|
@ -10,6 +10,7 @@ from rest_framework.permissions import IsAuthenticated
|
||||||
from common.drf.filters import DatetimeRangeFilter
|
from common.drf.filters import DatetimeRangeFilter
|
||||||
from common.plugins.es import QuerySet as ESQuerySet
|
from common.plugins.es import QuerySet as ESQuerySet
|
||||||
from common.utils import is_uuid
|
from common.utils import is_uuid
|
||||||
|
from common.utils import lazyproperty
|
||||||
from orgs.mixins.api import OrgReadonlyModelViewSet, OrgModelViewSet
|
from orgs.mixins.api import OrgReadonlyModelViewSet, OrgModelViewSet
|
||||||
from orgs.utils import current_org, tmp_to_root_org
|
from orgs.utils import current_org, tmp_to_root_org
|
||||||
from orgs.models import Organization
|
from orgs.models import Organization
|
||||||
|
@ -143,13 +144,19 @@ class OperateLogViewSet(OrgReadonlyModelViewSet):
|
||||||
search_fields = ['resource', 'user']
|
search_fields = ['resource', 'user']
|
||||||
ordering = ['-datetime']
|
ordering = ['-datetime']
|
||||||
|
|
||||||
|
@lazyproperty
|
||||||
|
def is_action_detail(self):
|
||||||
|
return self.detail and self.request.query_params.get('type') == 'action_detail'
|
||||||
|
|
||||||
def get_serializer_class(self):
|
def get_serializer_class(self):
|
||||||
if self.request.query_params.get('type') == 'action_detail':
|
if self.is_action_detail:
|
||||||
return OperateLogActionDetailSerializer
|
return OperateLogActionDetailSerializer
|
||||||
return super().get_serializer_class()
|
return super().get_serializer_class()
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
org_q = Q(org_id=current_org.id)
|
org_q = Q(org_id=current_org.id)
|
||||||
|
if self.is_action_detail:
|
||||||
|
org_q |= Q(org_id=Organization.SYSTEM_ID)
|
||||||
with tmp_to_root_org():
|
with tmp_to_root_org():
|
||||||
qs = OperateLog.objects.filter(org_q)
|
qs = OperateLog.objects.filter(org_q)
|
||||||
es_config = settings.OPERATE_LOG_ELASTICSEARCH_CONFIG
|
es_config = settings.OPERATE_LOG_ELASTICSEARCH_CONFIG
|
||||||
|
|
Loading…
Reference in New Issue