mirror of https://github.com/jumpserver/jumpserver
feat: 资产详情页面添加历史执行命令列表页面
parent
cf18300360
commit
2cad97065f
|
@ -1,5 +1,6 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
|
import uuid
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from rest_framework import generics
|
from rest_framework import generics
|
||||||
from rest_framework.fields import DateTimeField
|
from rest_framework.fields import DateTimeField
|
||||||
|
@ -166,6 +167,7 @@ class CommandViewSet(JMSBulkModelViewSet):
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
command_storage_id = self.request.query_params.get('command_storage_id')
|
command_storage_id = self.request.query_params.get('command_storage_id')
|
||||||
|
asset_id = self.request.query_params.get('asset_id')
|
||||||
if not command_storage_id:
|
if not command_storage_id:
|
||||||
return Command.objects.none()
|
return Command.objects.none()
|
||||||
|
|
||||||
|
@ -174,6 +176,9 @@ class CommandViewSet(JMSBulkModelViewSet):
|
||||||
raise StorageInvalid
|
raise StorageInvalid
|
||||||
else:
|
else:
|
||||||
qs = storage.get_command_queryset()
|
qs = storage.get_command_queryset()
|
||||||
|
if asset_id:
|
||||||
|
session_ids = Session.objects.filter(asset_id=asset_id).values_list('id', flat=True)
|
||||||
|
qs = qs.filter(session__in=list(session_ids))
|
||||||
return qs
|
return qs
|
||||||
|
|
||||||
def create(self, request, *args, **kwargs):
|
def create(self, request, *args, **kwargs):
|
||||||
|
|
|
@ -62,7 +62,7 @@ class SessionFilterSet(BaseFilterSet):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Session
|
model = Session
|
||||||
fields = [
|
fields = [
|
||||||
"user", "user_id", "asset", "account", "remote_addr",
|
"user", "user_id", "asset", "asset_id", "account", "remote_addr",
|
||||||
"protocol", "is_finished", 'login_from', 'terminal'
|
"protocol", "is_finished", 'login_from', 'terminal'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -13,11 +13,12 @@ class CommandFilter(filters.FilterSet):
|
||||||
user = filters.CharFilter(lookup_expr='startswith')
|
user = filters.CharFilter(lookup_expr='startswith')
|
||||||
input = filters.CharFilter(lookup_expr='icontains')
|
input = filters.CharFilter(lookup_expr='icontains')
|
||||||
asset = filters.CharFilter(field_name='asset', lookup_expr='icontains')
|
asset = filters.CharFilter(field_name='asset', lookup_expr='icontains')
|
||||||
|
asset_id = filters.UUIDFilter(method='do_nothing')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Command
|
model = Command
|
||||||
fields = [
|
fields = [
|
||||||
'asset', 'account', 'user', 'session', 'risk_level', 'input',
|
'asset', 'asset_id', 'account', 'user', 'session', 'risk_level', 'input',
|
||||||
'date_from', 'date_to', 'session_id', 'risk_level', 'command_storage_id',
|
'date_from', 'date_to', 'session_id', 'risk_level', 'command_storage_id',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue