Loading rpc/methods.py +15 −2 Original line number Diff line number Diff line Loading @@ -2689,8 +2689,21 @@ def restore_collection( if destination_collection_instance.project_id != collection_instance.project_id: raise ServiceException(PROJECT_MISMATCH) _check_project_permission(user, collection_instance.project, PERM_COLLECTION_UPDATE) collection_instance.deleted_at = None collection_instance.save() def _restore(col_instance: Collection): col_instance.deleted_at = None col_instance.save() for resource_instance in col_instance.resource_set.filter( deleted_at__isnull=False ): # restore_resource(user, resource_instance.pk, col_instance.pk) resource_instance.deleted_at = None resource_instance.save() for child_collection_instance in Collection.objects.filter(parent=col_instance): _restore(child_collection_instance) # recurse collection, respawn all descendants _restore(collection_instance) move_collection(user, collection_instance.pk, destination_collection_instance.pk) return True Loading Loading
rpc/methods.py +15 −2 Original line number Diff line number Diff line Loading @@ -2689,8 +2689,21 @@ def restore_collection( if destination_collection_instance.project_id != collection_instance.project_id: raise ServiceException(PROJECT_MISMATCH) _check_project_permission(user, collection_instance.project, PERM_COLLECTION_UPDATE) collection_instance.deleted_at = None collection_instance.save() def _restore(col_instance: Collection): col_instance.deleted_at = None col_instance.save() for resource_instance in col_instance.resource_set.filter( deleted_at__isnull=False ): # restore_resource(user, resource_instance.pk, col_instance.pk) resource_instance.deleted_at = None resource_instance.save() for child_collection_instance in Collection.objects.filter(parent=col_instance): _restore(child_collection_instance) # recurse collection, respawn all descendants _restore(collection_instance) move_collection(user, collection_instance.pk, destination_collection_instance.pk) return True Loading