Merge branch 'release_20.05' into release_20.09

This commit is contained in:
mvdbeek
2021-10-18 08:22:04 +02:00
2 changed files with 12 additions and 2 deletions
+5 -1
View File
@@ -268,7 +268,11 @@ class DatasetCollectionManager:
if recursive:
for dataset in dataset_collection_instance.collection.dataset_instances:
self.hda_manager.error_unless_owner(dataset, user=trans.get_user(), current_history=trans.history)
try:
self.hda_manager.error_unless_owner(dataset, user=trans.get_user(), current_history=trans.history)
except hdas.HistoryDatasetAssociationNoHistoryException:
log.info("Cannot delete HistoryDatasetAssociation {}, HistoryDatasetAssociation has no associated History, cannot verify owner".format(dataset.id))
continue
if not dataset.deleted:
dataset.deleted = True
+7 -1
View File
@@ -24,6 +24,10 @@ from galaxy.managers import (
log = logging.getLogger(__name__)
class HistoryDatasetAssociationNoHistoryException(Exception):
pass
class HDAManager(datasets.DatasetAssociationManager,
secured.OwnableManagerMixin,
taggable.TaggableManagerMixin,
@@ -69,9 +73,11 @@ class HDAManager(datasets.DatasetAssociationManager,
"""
Use history to see if current user owns HDA.
"""
history = hda.history
if self.user_manager.is_admin(user, trans=kwargs.get("trans", None)):
return True
history = hda.history
if history is None:
raise HistoryDatasetAssociationNoHistoryException
# allow anonymous user to access current history
# TODO: some dup here with historyManager.is_owner but prevents circ import
# TODO: awkward kwarg (which is my new band name); this may not belong here - move to controller?