@@ -1015,10 +1015,15 @@ def _handle_update(
10151015 original_parent_resource = original_instance .parent
10161016 original_parent_resource_uuid = getattr (original_parent_resource , "unilabos_uuid" , None )
10171017 target_parent_resource_uuid = tree .root_node .res_content .uuid_parent
1018- not_same_parent = (
1019- original_parent_resource_uuid != target_parent_resource_uuid
1020- and original_parent_resource is not None
1021- )
1018+ if target_parent_resource_uuid == self .uuid :
1019+ not_same_parent = False
1020+ original_parent_resource = None
1021+ original_parent_resource_uuid = self .uuid
1022+ else :
1023+ not_same_parent = (
1024+ original_parent_resource_uuid != target_parent_resource_uuid
1025+ and original_parent_resource is not None
1026+ )
10221027 old_name = original_instance .name
10231028 new_name = plr_resource .name
10241029 parent_appended = False
@@ -1055,13 +1060,13 @@ def _handle_update(
10551060 # 判断是否变更了resource_site,重新登记
10561061 target_site = original_instance .unilabos_extra .get ("update_resource_site" )
10571062 sites = (
1058- original_instance . parent .sites
1059- if original_instance . parent is not None and hasattr (original_instance . parent , "sites" )
1063+ original_parent_resource .sites
1064+ if original_parent_resource is not None and hasattr (original_parent_resource , "sites" )
10601065 else None
10611066 )
10621067 site_names = (
1063- list (original_instance . parent ._ordering .keys ())
1064- if original_instance . parent is not None and hasattr (original_instance . parent , "sites" )
1068+ list (original_parent_resource ._ordering .keys ())
1069+ if original_parent_resource is not None and hasattr (original_parent_resource , "sites" )
10651070 else []
10661071 )
10671072 if target_site is not None and sites is not None and site_names is not None :
0 commit comments