diff --git a/apps/ops/models/command.py b/apps/ops/models/command.py index 80a26be70..0a2012e73 100644 --- a/apps/ops/models/command.py +++ b/apps/ops/models/command.py @@ -9,11 +9,11 @@ from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext from django.db import models -from terminal.models import Command from terminal.utils import send_command_execution_alert_mail from common.utils import lazyproperty from orgs.models import Organization from orgs.mixins.models import OrgModelMixin +from orgs.utils import current_org, tmp_to_org from ..ansible.runner import CommandRunner from ..inventory import JMSInventory @@ -33,6 +33,10 @@ class CommandExecution(OrgModelMixin): def __str__(self): return self.command[:10] + def save(self, *args, **kwargs): + with tmp_to_org(self.run_as.org_id): + super().save(*args, **kwargs) + @property def inventory(self): if self.run_as.username_same_with_user: diff --git a/apps/perms/utils/asset/user_permission.py b/apps/perms/utils/asset/user_permission.py index e638c7d64..739a4191e 100644 --- a/apps/perms/utils/asset/user_permission.py +++ b/apps/perms/utils/asset/user_permission.py @@ -611,12 +611,12 @@ class UserGrantedNodesQueryUtils(UserGrantedUtilsBase): for node in nodes: node.use_granted_assets_amount() + key_to_node_mapper[node.key] = node if node.node_from == NodeFrom.granted: # 直接授权的节点 # 增加查询后代节点的过滤条件 nodes_descendant_q |= Q(key__startswith=f'{node.key}:') - key_to_node_mapper[node.key] = node if nodes_descendant_q: descendant_nodes = PermNode.objects.filter(