Unverified Commit 14b6579e authored by mvdbeek's avatar mvdbeek
Browse files

Merge branch 'release_20.09' into release_21.01

parents 2fc27feb b60e5ea7
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -267,7 +267,11 @@ class DatasetCollectionManager:

        if recursive:
            for dataset in dataset_collection_instance.collection.dataset_instances:
                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
Original line number Diff line number Diff line
@@ -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?