mirror of https://github.com/jumpserver/jumpserver
perf: The command amount does not record operation logs
parent
8bedef92f0
commit
94e08f3d96
|
@ -14,7 +14,7 @@ from audits.handler import (
|
||||||
create_or_update_operate_log, get_instance_dict_from_cache
|
create_or_update_operate_log, get_instance_dict_from_cache
|
||||||
)
|
)
|
||||||
from audits.utils import model_to_dict_for_operate_log as model_to_dict
|
from audits.utils import model_to_dict_for_operate_log as model_to_dict
|
||||||
from common.const.signals import POST_ADD, POST_REMOVE, POST_CLEAR, SKIP_SIGNAL
|
from common.const.signals import POST_ADD, POST_REMOVE, POST_CLEAR, OP_LOG_SKIP_SIGNAL
|
||||||
from common.signals import django_ready
|
from common.signals import django_ready
|
||||||
from jumpserver.utils import current_request
|
from jumpserver.utils import current_request
|
||||||
from ..const import MODELS_NEED_RECORD, ActionChoices
|
from ..const import MODELS_NEED_RECORD, ActionChoices
|
||||||
|
@ -77,7 +77,7 @@ def signal_of_operate_log_whether_continue(
|
||||||
condition = True
|
condition = True
|
||||||
if not instance:
|
if not instance:
|
||||||
condition = False
|
condition = False
|
||||||
if instance and getattr(instance, SKIP_SIGNAL, False):
|
if instance and getattr(instance, OP_LOG_SKIP_SIGNAL, False):
|
||||||
condition = False
|
condition = False
|
||||||
# 不记录组件的操作日志
|
# 不记录组件的操作日志
|
||||||
user = current_request.user if current_request else None
|
user = current_request.user if current_request else None
|
||||||
|
|
|
@ -16,4 +16,4 @@ POST_CLEAR = 'post_clear'
|
||||||
POST_PREFIX = 'post'
|
POST_PREFIX = 'post'
|
||||||
PRE_PREFIX = 'pre'
|
PRE_PREFIX = 'pre'
|
||||||
|
|
||||||
SKIP_SIGNAL = 'skip_signal'
|
OP_LOG_SKIP_SIGNAL = 'operate_log_skip_signal'
|
||||||
|
|
|
@ -17,7 +17,7 @@ from django.db.models import F, ExpressionWrapper, CASCADE
|
||||||
from django.db.models import QuerySet
|
from django.db.models import QuerySet
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
from ..const.signals import SKIP_SIGNAL
|
from ..const.signals import OP_LOG_SKIP_SIGNAL
|
||||||
|
|
||||||
|
|
||||||
class ChoicesMixin:
|
class ChoicesMixin:
|
||||||
|
@ -82,7 +82,7 @@ def CASCADE_SIGNAL_SKIP(collector, field, sub_objs, using):
|
||||||
# 级联删除时,操作日志标记不保存,以免用户混淆
|
# 级联删除时,操作日志标记不保存,以免用户混淆
|
||||||
try:
|
try:
|
||||||
for obj in sub_objs:
|
for obj in sub_objs:
|
||||||
setattr(obj, SKIP_SIGNAL, True)
|
setattr(obj, OP_LOG_SKIP_SIGNAL, True)
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ from django.core.cache import cache
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
from common.const.signals import SKIP_SIGNAL
|
from common.const.signals import OP_LOG_SKIP_SIGNAL
|
||||||
from common.db.models import JMSBaseModel
|
from common.db.models import JMSBaseModel
|
||||||
from common.utils import get_logger, lazyproperty
|
from common.utils import get_logger, lazyproperty
|
||||||
from orgs.utils import tmp_to_root_org
|
from orgs.utils import tmp_to_root_org
|
||||||
|
@ -152,7 +152,7 @@ class Terminal(StorageMixin, TerminalStatusMixin, JMSBaseModel):
|
||||||
|
|
||||||
def delete(self, using=None, keep_parents=False):
|
def delete(self, using=None, keep_parents=False):
|
||||||
if self.user:
|
if self.user:
|
||||||
setattr(self.user, SKIP_SIGNAL, True)
|
setattr(self.user, OP_LOG_SKIP_SIGNAL, True)
|
||||||
self.user.delete()
|
self.user.delete()
|
||||||
self.name = self.name + '_' + uuid.uuid4().hex[:8]
|
self.name = self.name + '_' + uuid.uuid4().hex[:8]
|
||||||
self.user = None
|
self.user = None
|
||||||
|
|
|
@ -12,6 +12,7 @@ from django.utils import timezone
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
from assets.models import Asset
|
from assets.models import Asset
|
||||||
|
from common.const import OP_LOG_SKIP_SIGNAL
|
||||||
from common.utils import get_object_or_none, lazyproperty
|
from common.utils import get_object_or_none, lazyproperty
|
||||||
from orgs.mixins.models import OrgModelMixin
|
from orgs.mixins.models import OrgModelMixin
|
||||||
from terminal.backends import get_multi_command_storage
|
from terminal.backends import get_multi_command_storage
|
||||||
|
@ -203,6 +204,7 @@ class Session(OrgModelMixin):
|
||||||
if self.need_update_cmd_amount:
|
if self.need_update_cmd_amount:
|
||||||
cmd_amount = self.compute_command_amount()
|
cmd_amount = self.compute_command_amount()
|
||||||
self.cmd_amount = cmd_amount
|
self.cmd_amount = cmd_amount
|
||||||
|
setattr(self, OP_LOG_SKIP_SIGNAL, True)
|
||||||
self.save()
|
self.save()
|
||||||
elif self.need_compute_cmd_amount:
|
elif self.need_compute_cmd_amount:
|
||||||
cmd_amount = self.compute_command_amount()
|
cmd_amount = self.compute_command_amount()
|
||||||
|
|
Loading…
Reference in New Issue