fix: Asset perm calculate failed

pull/13530/head^2
feng 2024-06-26 21:41:42 +08:00 committed by 老广
parent 6d81fa7fdf
commit b7a6454d65
3 changed files with 11 additions and 7 deletions

View File

@ -370,6 +370,7 @@ class NodeAllAssetsMappingMixin:
nodeid_assetsid_mapping = defaultdict(set)
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)
t2 = time.time()

View File

@ -435,10 +435,10 @@
"Endswith": "Ending with...",
"EnsureThisValueIsGreaterThanOrEqualTo1": "Please make sure this number is greater than or equal to 1",
"EnterForSearch": "Press enter to search",
"EnterRunUser": "Enter running account",
"EnterRunningPath": "Enter running path",
"EnterRunUser": "Running account",
"EnterRunningPath": "Running path",
"EnterToContinue": "Press enter to continue",
"EnterUploadPath": "Enter upload path",
"EnterUploadPath": "Upload path",
"Enterprise": "Enterprise",
"EnterpriseEdition": "Enterprise edition",
"Equal": "Equals",

View File

@ -1,5 +1,6 @@
import time
from collections import defaultdict
from uuid import UUID
from django.conf import settings
from django.core.cache import cache
@ -8,7 +9,8 @@ from django.db import transaction
from assets.models import Asset
from assets.utils import NodeAssetsUtil
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.common import lazyproperty, timeit
from orgs.models import Organization
@ -272,13 +274,11 @@ class UserPermTreeBuildUtil(object):
for key in self.perm_node_keys_for_granted:
asset_ids = PermNode.get_all_asset_ids_by_node_key(org_id, key)
nodekey_assetid_mapper[key].update(asset_ids)
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))
if not node_key:
continue
nodekey_assetid_mapper[node_key].add(asset_id)
util = NodeAssetsUtil(self.perm_nodes, nodekey_assetid_mapper)
util.generate()
@ -400,7 +400,10 @@ class UserPermTreeBuildUtil(object):
str_asset_id=output_as_string('asset_id'),
str_node_id=output_as_string('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
@lazyproperty