diff --git a/lib/galaxy/model/__init__.py b/lib/galaxy/model/__init__.py index f41874a910b..8b3983ca967 100644 --- a/lib/galaxy/model/__init__.py +++ b/lib/galaxy/model/__init__.py @@ -3224,6 +3224,7 @@ class HistoryDatasetAssociation(DatasetInstance, HasTags, Dictifiable, UsesAnnot flush=False) # update init non-keywords as well hda.purged = self.purged + hda.copy_tags_to(copy_tags) object_session(self).add(hda) hda.metadata = self.metadata @@ -3237,7 +3238,7 @@ class HistoryDatasetAssociation(DatasetInstance, HasTags, Dictifiable, UsesAnnot def copy_tags_to(self, copy_tags=None): if copy_tags is not None: - for tag in copy_tags.values(): + for tag in copy_tags: copied_tag = tag.copy(cls=HistoryDatasetAssociationTagAssociation) self.tags.append(copied_tag) @@ -4656,7 +4657,7 @@ class DatasetCollectionElement(Dictifiable, RepresentById): flush=flush ) else: - new_element_object = element_object.copy(flush=flush) + new_element_object = element_object.copy(flush=flush, copy_tags=element_object.tags) new_element_object.visible = False if destination is not None and element_object.hidden_beneath_collection_instance: new_element_object.hidden_beneath_collection_instance = destination diff --git a/lib/galaxy/tools/actions/__init__.py b/lib/galaxy/tools/actions/__init__.py index 70e16637598..577b2254dbb 100644 --- a/lib/galaxy/tools/actions/__init__.py +++ b/lib/galaxy/tools/actions/__init__.py @@ -413,7 +413,7 @@ class DefaultToolAction: trans.sa_session.add(data) if not completed_job: trans.app.security_agent.set_all_dataset_permissions(data.dataset, output_permissions, new=True, flush=False) - data.copy_tags_to(preserved_tags) + data.copy_tags_to(preserved_tags.values()) if not completed_job and trans.app.config.legacy_eager_objectstore_initialization: # Must flush before setting object store id currently.