fix: 修复收藏文件夹中的资产时不时莫名的丢失 (#12886)

Co-authored-by: feng <1304903146@qq.com>
pull/12887/head
fit2bot 2024-03-27 16:04:16 +08:00 committed by GitHub
parent f0cbd77310
commit 3aeadc2f03
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 8 additions and 8 deletions

View File

@ -113,7 +113,7 @@ def on_asset_permission_user_groups_changed(sender, instance, action, pk_set, re
def on_node_asset_change(action, instance, reverse, pk_set, **kwargs): def on_node_asset_change(action, instance, reverse, pk_set, **kwargs):
if not need_rebuild_mapping_node(action): if not need_rebuild_mapping_node(action):
return return
print("Asset node changed: ", action)
if reverse: if reverse:
asset_ids = pk_set asset_ids = pk_set
node_ids = [instance.id] node_ids = [instance.id]

View File

@ -9,7 +9,7 @@ from rest_framework.utils.encoders import JSONEncoder
from assets.const import AllTypes from assets.const import AllTypes
from assets.models import FavoriteAsset, Asset, Node from assets.models import FavoriteAsset, Asset, Node
from common.utils.common import timeit, get_logger from common.utils.common import timeit, get_logger
from orgs.utils import current_org, tmp_to_root_org from orgs.utils import current_org
from perms.models import PermNode, UserAssetGrantedTreeNodeRelation, AssetPermission from perms.models import PermNode, UserAssetGrantedTreeNodeRelation, AssetPermission
from .permission import AssetPermissionUtil from .permission import AssetPermissionUtil
@ -112,7 +112,6 @@ class UserPermAssetUtil(AssetPermissionPermAssetUtil):
favor_ids = FavoriteAsset.objects.filter(user=self.user).values_list('asset_id', flat=True) favor_ids = FavoriteAsset.objects.filter(user=self.user).values_list('asset_id', flat=True)
favor_ids = set(favor_ids) favor_ids = set(favor_ids)
with tmp_to_root_org():
valid_ids = self.get_all_assets() \ valid_ids = self.get_all_assets() \
.filter(id__in=favor_ids) \ .filter(id__in=favor_ids) \
.values_list('id', flat=True) .values_list('id', flat=True)

View File

@ -84,6 +84,7 @@ class UserPermTreeRefreshUtil(_UserPermTreeCacheMixin):
logger.info("Delay refresh user orgs: {} {}".format(self.user, [o.name for o in to_refresh_orgs])) logger.info("Delay refresh user orgs: {} {}".format(self.user, [o.name for o in to_refresh_orgs]))
sync = True if settings.ASSET_SIZE == 'small' else False sync = True if settings.ASSET_SIZE == 'small' else False
refresh_user_orgs_perm_tree.apply(sync=sync, user_orgs=((self.user, tuple(to_refresh_orgs)),)) refresh_user_orgs_perm_tree.apply(sync=sync, user_orgs=((self.user, tuple(to_refresh_orgs)),))
with tmp_to_root_org():
refresh_user_favorite_assets.apply(sync=sync, users=(self.user,)) refresh_user_favorite_assets.apply(sync=sync, users=(self.user,))
@timeit @timeit