diff --git a/lib/galaxy/model/__init__.py b/lib/galaxy/model/__init__.py
index 076452e941b..728ef0952ea 100644
--- a/lib/galaxy/model/__init__.py
+++ b/lib/galaxy/model/__init__.py
@@ -1852,7 +1852,7 @@ class History(HasTags, Dictifiable, UsesAnnotations, HasName, RepresentById):
hdas = self.active_datasets
for hda in hdas:
# Copy HDA.
- new_hda = hda.copy(force_flush=False)
+ new_hda = hda.copy(flush=False)
new_history.add_dataset(new_hda, set_hid=False, quota=applies_to_quota)
if target_user:
@@ -3110,7 +3110,7 @@ class HistoryDatasetAssociation(DatasetInstance, HasTags, Dictifiable, UsesAnnot
self.version = self.version + 1 if self.version else 1
session.add(past_hda)
- def copy(self, parent_id=None, copy_tags=None, force_flush=True, copy_hid=True, new_name=None):
+ def copy(self, parent_id=None, copy_tags=None, flush=True, copy_hid=True, new_name=None):
"""
Create a copy of this HDA.
"""
@@ -3147,7 +3147,7 @@ class HistoryDatasetAssociation(DatasetInstance, HasTags, Dictifiable, UsesAnnot
object_session(self).flush([self])
hda.set_peek()
- if force_flush:
+ if flush:
object_session(self).flush()
return hda
@@ -4120,7 +4120,7 @@ class DatasetCollection(Dictifiable, UsesAnnotations, RepresentById):
error_message = "Dataset collection has no %s with key %s." % (get_by_attribute, key)
raise KeyError(error_message)
- def copy(self, destination=None, element_destination=None):
+ def copy(self, destination=None, element_destination=None, flush=True):
new_collection = DatasetCollection(
collection_type=self.collection_type,
element_count=self.element_count
@@ -4130,6 +4130,7 @@ class DatasetCollection(Dictifiable, UsesAnnotations, RepresentById):
new_collection,
destination=destination,
element_destination=element_destination,
+ flush=flush
)
object_session(self).add(new_collection)
object_session(self).flush()
@@ -4537,16 +4538,17 @@ class DatasetCollectionElement(Dictifiable, RepresentById):
else:
return [element_object]
- def copy_to_collection(self, collection, destination=None, element_destination=None):
+ def copy_to_collection(self, collection, destination=None, element_destination=None, flush=True):
element_object = self.element_object
if element_destination:
if self.is_collection:
element_object = element_object.copy(
destination=destination,
- element_destination=element_destination
+ element_destination=element_destination,
+ flush=flush
)
else:
- new_element_object = element_object.copy()
+ new_element_object = element_object.copy(flush=flush)
if destination is not None and element_object.hidden_beneath_collection_instance:
new_element_object.hidden_beneath_collection_instance = destination
# Ideally we would not need to give the following
diff --git a/lib/galaxy/tools/__init__.py b/lib/galaxy/tools/__init__.py
index 44cd161b217..5363ecedecb 100755
--- a/lib/galaxy/tools/__init__.py
+++ b/lib/galaxy/tools/__init__.py
@@ -2902,7 +2902,7 @@ class MergeCollectionTool(DatabaseOperationTool):
new_elements = OrderedDict()
for key, value in new_element_structure.items():
if getattr(value, "history_content_type", None) == "dataset":
- copied_value = value.copy(force_flush=False)
+ copied_value = value.copy(flush=False)
else:
copied_value = value.copy()
new_elements[key] = copied_value
@@ -2920,7 +2920,7 @@ class FilterDatasetsTool(DatabaseOperationTool):
for dce in elements_to_copy:
element_identifier = dce.element_identifier
if getattr(dce.element_object, "history_content_type", None) == "dataset":
- copied_value = dce.element_object.copy(force_flush=False)
+ copied_value = dce.element_object.copy(flush=False)
else:
copied_value = dce.element_object.copy()
new_elements[element_identifier] = copied_value
@@ -2995,7 +2995,7 @@ class FlattenTool(DatabaseOperationTool):
if dce.is_collection:
add_elements(dce_object, prefix=identifier)
else:
- copied_dataset = dce_object.copy(force_flush=False)
+ copied_dataset = dce_object.copy(flush=False)
new_elements[identifier] = copied_dataset
copied_datasets.append(copied_dataset)
@@ -3041,7 +3041,7 @@ class SortTool(DatabaseOperationTool):
for dce in sorted_elements:
dce_object = dce.element_object
- copied_dataset = dce_object.copy(force_flush=False)
+ copied_dataset = dce_object.copy(flush=False)
new_elements[dce.element_identifier] = copied_dataset
self._add_datasets_to_history(history, itervalues(new_elements))
@@ -3065,7 +3065,7 @@ class RelabelFromFileTool(DatabaseOperationTool):
if new_label in new_elements:
raise Exception("New identifier [%s] appears twice in resulting collection, these values must be unique." % new_label)
if getattr(dce_object, "history_content_type", None) == "dataset":
- copied_value = dce_object.copy(force_flush=False)
+ copied_value = dce_object.copy(flush=False)
else:
copied_value = dce_object.copy()
new_elements[new_label] = copied_value
@@ -3111,7 +3111,7 @@ class ApplyRulesTool(DatabaseOperationTool):
copied_datasets = []
def copy_dataset(dataset):
- copied_dataset = dataset.copy(force_flush=False)
+ copied_dataset = dataset.copy(flush=False)
copied_datasets.append(copied_dataset)
return copied_dataset
@@ -3137,7 +3137,7 @@ class TagFromFileTool(DatabaseOperationTool):
def add_copied_value_to_new_elements(new_tags_dict, dce):
if getattr(dce.element_object, "history_content_type", None) == "dataset":
- copied_value = dce.element_object.copy(force_flush=False)
+ copied_value = dce.element_object.copy(flush=False)
# copy should never be visible, since part of a collection
copied_value.visble = False
new_datasets.append(copied_value)
@@ -3208,7 +3208,7 @@ class FilterFromFileTool(DatabaseOperationTool):
passes_filter = in_filter_file if how_filter == "remove_if_absent" else not in_filter_file
if getattr(dce_object, "history_content_type", None) == "dataset":
- copied_value = dce_object.copy(force_flush=False)
+ copied_value = dce_object.copy(flush=False)
else:
copied_value = dce_object.copy()
diff --git a/lib/galaxy/tools/sort_collection_list.xml b/lib/galaxy/tools/sort_collection_list.xml
index 7c8d3467a52..52256326364 100644
--- a/lib/galaxy/tools/sort_collection_list.xml
+++ b/lib/galaxy/tools/sort_collection_list.xml
@@ -7,7 +7,7 @@
-
+
@@ -22,7 +22,7 @@
-
+
@@ -91,6 +91,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+