mirror of https://github.com/jumpserver/jumpserver
fix: Asset perm calculate failed
parent
6d81fa7fdf
commit
b7a6454d65
|
@ -370,6 +370,7 @@ class NodeAllAssetsMappingMixin:
|
||||||
|
|
||||||
nodeid_assetsid_mapping = defaultdict(set)
|
nodeid_assetsid_mapping = defaultdict(set)
|
||||||
for node_id, asset_id in nodes_asset_ids:
|
for node_id, asset_id in nodes_asset_ids:
|
||||||
|
node_id, asset_id = str(uuid.UUID(node_id)), str(uuid.UUID(asset_id))
|
||||||
nodeid_assetsid_mapping[node_id].add(asset_id)
|
nodeid_assetsid_mapping[node_id].add(asset_id)
|
||||||
|
|
||||||
t2 = time.time()
|
t2 = time.time()
|
||||||
|
|
|
@ -435,10 +435,10 @@
|
||||||
"Endswith": "Ending with...",
|
"Endswith": "Ending with...",
|
||||||
"EnsureThisValueIsGreaterThanOrEqualTo1": "Please make sure this number is greater than or equal to 1",
|
"EnsureThisValueIsGreaterThanOrEqualTo1": "Please make sure this number is greater than or equal to 1",
|
||||||
"EnterForSearch": "Press enter to search",
|
"EnterForSearch": "Press enter to search",
|
||||||
"EnterRunUser": "Enter running account",
|
"EnterRunUser": "Running account",
|
||||||
"EnterRunningPath": "Enter running path",
|
"EnterRunningPath": "Running path",
|
||||||
"EnterToContinue": "Press enter to continue",
|
"EnterToContinue": "Press enter to continue",
|
||||||
"EnterUploadPath": "Enter upload path",
|
"EnterUploadPath": "Upload path",
|
||||||
"Enterprise": "Enterprise",
|
"Enterprise": "Enterprise",
|
||||||
"EnterpriseEdition": "Enterprise edition",
|
"EnterpriseEdition": "Enterprise edition",
|
||||||
"Equal": "Equals",
|
"Equal": "Equals",
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import time
|
import time
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
|
from uuid import UUID
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.core.cache import cache
|
from django.core.cache import cache
|
||||||
|
@ -8,7 +9,8 @@ from django.db import transaction
|
||||||
from assets.models import Asset
|
from assets.models import Asset
|
||||||
from assets.utils import NodeAssetsUtil
|
from assets.utils import NodeAssetsUtil
|
||||||
from common.db.models import output_as_string
|
from common.db.models import output_as_string
|
||||||
from common.decorators import on_transaction_commit, merge_delay_run
|
from common.decorators import merge_delay_run
|
||||||
|
from common.decorators import on_transaction_commit
|
||||||
from common.utils import get_logger
|
from common.utils import get_logger
|
||||||
from common.utils.common import lazyproperty, timeit
|
from common.utils.common import lazyproperty, timeit
|
||||||
from orgs.models import Organization
|
from orgs.models import Organization
|
||||||
|
@ -272,13 +274,11 @@ class UserPermTreeBuildUtil(object):
|
||||||
for key in self.perm_node_keys_for_granted:
|
for key in self.perm_node_keys_for_granted:
|
||||||
asset_ids = PermNode.get_all_asset_ids_by_node_key(org_id, key)
|
asset_ids = PermNode.get_all_asset_ids_by_node_key(org_id, key)
|
||||||
nodekey_assetid_mapper[key].update(asset_ids)
|
nodekey_assetid_mapper[key].update(asset_ids)
|
||||||
|
|
||||||
for asset_id, node_id in self.direct_asset_id_node_id_pairs:
|
for asset_id, node_id in self.direct_asset_id_node_id_pairs:
|
||||||
node_key = self.perm_nodes_id_key_mapper.get(str(node_id))
|
node_key = self.perm_nodes_id_key_mapper.get(str(node_id))
|
||||||
if not node_key:
|
if not node_key:
|
||||||
continue
|
continue
|
||||||
nodekey_assetid_mapper[node_key].add(asset_id)
|
nodekey_assetid_mapper[node_key].add(asset_id)
|
||||||
|
|
||||||
util = NodeAssetsUtil(self.perm_nodes, nodekey_assetid_mapper)
|
util = NodeAssetsUtil(self.perm_nodes, nodekey_assetid_mapper)
|
||||||
util.generate()
|
util.generate()
|
||||||
|
|
||||||
|
@ -400,7 +400,10 @@ class UserPermTreeBuildUtil(object):
|
||||||
str_asset_id=output_as_string('asset_id'),
|
str_asset_id=output_as_string('asset_id'),
|
||||||
str_node_id=output_as_string('node_id')
|
str_node_id=output_as_string('node_id')
|
||||||
).values_list('str_asset_id', 'str_node_id')
|
).values_list('str_asset_id', 'str_node_id')
|
||||||
asset_node_pairs = list(asset_node_pairs)
|
asset_node_pairs = [
|
||||||
|
(str(UUID(asset_id)), str(UUID(node_id)))
|
||||||
|
for asset_id, node_id in asset_node_pairs
|
||||||
|
]
|
||||||
return asset_node_pairs
|
return asset_node_pairs
|
||||||
|
|
||||||
@lazyproperty
|
@lazyproperty
|
||||||
|
|
Loading…
Reference in New Issue