Loading lib/galaxy/celery/tasks.py +2 −2 Original line number Diff line number Diff line Loading @@ -91,8 +91,8 @@ def purge_hda(hda_manager: HDAManager, hda_id: int): @galaxy_task(ignore_result=True, action="completely removes a set of datasets from the object_store") def purge_datasets(dataset_manager: DatasetManager, request: PurgeDatasetsTaskRequest): dataset_manager.purge_datasets(request) def purge_datasets(dataset_manager: DatasetManager, request: PurgeDatasetsTaskRequest, user: model.User): dataset_manager.purge_datasets(request, user) @galaxy_task(ignore_result=True, action="materializing dataset instance") Loading lib/galaxy/jobs/__init__.py +1 −1 Original line number Diff line number Diff line Loading @@ -2428,7 +2428,7 @@ class MinimalJobWrapper(HasResourceParameters): # is a bit of hack - our object store abstractions would be stronger # and more consistent if tools weren't writing there directly. try: dataset.full_delete() dataset.full_delete(user=hda.user) except ObjectNotFound: pass Loading lib/galaxy/managers/datasets.py +2 −2 Original line number Diff line number Diff line Loading @@ -93,7 +93,7 @@ class DatasetManager(base.ModelManager[model.Dataset], secured.AccessibleManager session.commit() return dataset def purge_datasets(self, request: PurgeDatasetsTaskRequest): def purge_datasets(self, request: PurgeDatasetsTaskRequest, user: model.User): """ Caution: any additional security checks must be done before executing this action. Loading @@ -106,7 +106,7 @@ class DatasetManager(base.ModelManager[model.Dataset], secured.AccessibleManager dataset: model.Dataset = self.session().query(model.Dataset).get(dataset_id) if dataset.user_can_purge: try: dataset.full_delete() dataset.full_delete(user) except Exception: log.exception(f"Unable to purge dataset ({dataset.id})") Loading lib/galaxy/managers/hdas.py +4 −4 Original line number Diff line number Diff line Loading @@ -439,7 +439,7 @@ class HDAStorageCleanerManager(base.StorageCleanerManager): with transaction(session): session.commit() self._request_full_delete_all(dataset_ids_to_remove) self._request_full_delete_all(dataset_ids_to_remove, user=user) return StorageItemsCleanupResult( total_item_count=len(item_ids), Loading @@ -448,15 +448,15 @@ class HDAStorageCleanerManager(base.StorageCleanerManager): errors=errors, ) def _request_full_delete_all(self, dataset_ids_to_remove: Set[int]): def _request_full_delete_all(self, dataset_ids_to_remove: Set[int], user: model.User): use_tasks = self.dataset_manager.app.config.enable_celery_tasks request = PurgeDatasetsTaskRequest(dataset_ids=list(dataset_ids_to_remove)) if use_tasks: from galaxy.celery.tasks import purge_datasets purge_datasets.delay(request=request) purge_datasets.delay(request=request, user=user) else: self.dataset_manager.purge_datasets(request) self.dataset_manager.purge_datasets(request, user=user) class HDASerializer( # datasets._UnflattenedMetadataDatasetAssociationSerializer, Loading lib/galaxy/model/__init__.py +2 −2 Original line number Diff line number Diff line Loading @@ -4145,7 +4145,7 @@ class Dataset(Base, StorableObject, Serializable): and len(self.history_associations) == len(self.purged_history_associations) ) def full_delete(self, user): def full_delete(self, user=None): """Remove the file and extra files, marks deleted and purged""" # os.unlink( self.file_name ) try: Loading Loading @@ -5000,7 +5000,7 @@ class HistoryDatasetAssociation(DatasetInstance, HasTags, Dictifiable, UsesAnnot self.copy_tags_from(self.user, other_hda) self.dataset = new_dataset or other_hda.dataset if old_dataset: old_dataset.full_delete() old_dataset.full_delete(user=self.user) def copy(self, parent_id=None, copy_tags=None, flush=True, copy_hid=True, new_name=None): """ Loading Loading
lib/galaxy/celery/tasks.py +2 −2 Original line number Diff line number Diff line Loading @@ -91,8 +91,8 @@ def purge_hda(hda_manager: HDAManager, hda_id: int): @galaxy_task(ignore_result=True, action="completely removes a set of datasets from the object_store") def purge_datasets(dataset_manager: DatasetManager, request: PurgeDatasetsTaskRequest): dataset_manager.purge_datasets(request) def purge_datasets(dataset_manager: DatasetManager, request: PurgeDatasetsTaskRequest, user: model.User): dataset_manager.purge_datasets(request, user) @galaxy_task(ignore_result=True, action="materializing dataset instance") Loading
lib/galaxy/jobs/__init__.py +1 −1 Original line number Diff line number Diff line Loading @@ -2428,7 +2428,7 @@ class MinimalJobWrapper(HasResourceParameters): # is a bit of hack - our object store abstractions would be stronger # and more consistent if tools weren't writing there directly. try: dataset.full_delete() dataset.full_delete(user=hda.user) except ObjectNotFound: pass Loading
lib/galaxy/managers/datasets.py +2 −2 Original line number Diff line number Diff line Loading @@ -93,7 +93,7 @@ class DatasetManager(base.ModelManager[model.Dataset], secured.AccessibleManager session.commit() return dataset def purge_datasets(self, request: PurgeDatasetsTaskRequest): def purge_datasets(self, request: PurgeDatasetsTaskRequest, user: model.User): """ Caution: any additional security checks must be done before executing this action. Loading @@ -106,7 +106,7 @@ class DatasetManager(base.ModelManager[model.Dataset], secured.AccessibleManager dataset: model.Dataset = self.session().query(model.Dataset).get(dataset_id) if dataset.user_can_purge: try: dataset.full_delete() dataset.full_delete(user) except Exception: log.exception(f"Unable to purge dataset ({dataset.id})") Loading
lib/galaxy/managers/hdas.py +4 −4 Original line number Diff line number Diff line Loading @@ -439,7 +439,7 @@ class HDAStorageCleanerManager(base.StorageCleanerManager): with transaction(session): session.commit() self._request_full_delete_all(dataset_ids_to_remove) self._request_full_delete_all(dataset_ids_to_remove, user=user) return StorageItemsCleanupResult( total_item_count=len(item_ids), Loading @@ -448,15 +448,15 @@ class HDAStorageCleanerManager(base.StorageCleanerManager): errors=errors, ) def _request_full_delete_all(self, dataset_ids_to_remove: Set[int]): def _request_full_delete_all(self, dataset_ids_to_remove: Set[int], user: model.User): use_tasks = self.dataset_manager.app.config.enable_celery_tasks request = PurgeDatasetsTaskRequest(dataset_ids=list(dataset_ids_to_remove)) if use_tasks: from galaxy.celery.tasks import purge_datasets purge_datasets.delay(request=request) purge_datasets.delay(request=request, user=user) else: self.dataset_manager.purge_datasets(request) self.dataset_manager.purge_datasets(request, user=user) class HDASerializer( # datasets._UnflattenedMetadataDatasetAssociationSerializer, Loading
lib/galaxy/model/__init__.py +2 −2 Original line number Diff line number Diff line Loading @@ -4145,7 +4145,7 @@ class Dataset(Base, StorableObject, Serializable): and len(self.history_associations) == len(self.purged_history_associations) ) def full_delete(self, user): def full_delete(self, user=None): """Remove the file and extra files, marks deleted and purged""" # os.unlink( self.file_name ) try: Loading Loading @@ -5000,7 +5000,7 @@ class HistoryDatasetAssociation(DatasetInstance, HasTags, Dictifiable, UsesAnnot self.copy_tags_from(self.user, other_hda) self.dataset = new_dataset or other_hda.dataset if old_dataset: old_dataset.full_delete() old_dataset.full_delete(user=self.user) def copy(self, parent_id=None, copy_tags=None, flush=True, copy_hid=True, new_name=None): """ Loading