diff --git a/lib/galaxy/model/__init__.py b/lib/galaxy/model/__init__.py index f6a03a239fb..471dee8af24 100644 --- a/lib/galaxy/model/__init__.py +++ b/lib/galaxy/model/__init__.py @@ -6282,6 +6282,11 @@ class LibraryDatasetDatasetAssociation(DatasetInstance, HasName, Serializable): self.library_dataset = library_dataset self.user = user + @property + def purged(self): + # For uniformity with HistoryDatasetAssociation + return self.dataset and self.dataset.purged + def to_history_dataset_association( self, target_history, parent_id=None, add_to_history=False, visible=None, commit=True ): diff --git a/lib/galaxy/model/store/__init__.py b/lib/galaxy/model/store/__init__.py index 8c19cb8deaf..43753098bf1 100644 --- a/lib/galaxy/model/store/__init__.py +++ b/lib/galaxy/model/store/__init__.py @@ -651,7 +651,9 @@ class ModelImportStore(metaclass=abc.ABCMeta): if dataset_state == dataset_instance.states.DEFERRED: dataset_instance.state = dataset_instance.states.DEFERRED dataset_instance.deleted = False - dataset_instance.purged = False + if isinstance(dataset_instance, model.HistoryDatasetAssociation): + dataset_instance.purged = False + assert dataset_instance.dataset dataset_instance.dataset.deleted = False dataset_instance.dataset.purged = False elif ( @@ -666,7 +668,9 @@ class ModelImportStore(metaclass=abc.ABCMeta): dataset_instance.state = target_state deleted = is_discarded and (discarded_data == ImportDiscardedDataType.FORBID) dataset_instance.deleted = deleted - dataset_instance.purged = deleted + if isinstance(dataset_instance, model.HistoryDatasetAssociation): + dataset_instance.purged = deleted + assert dataset_instance.dataset dataset_instance.dataset.state = target_state dataset_instance.dataset.deleted = deleted dataset_instance.dataset.purged = deleted