diff --git a/client/galaxy/scripts/mvc/dataset/dataset-li-edit.js b/client/galaxy/scripts/mvc/dataset/dataset-li-edit.js index fc02385a3c6..a4d9a7907d8 100644 --- a/client/galaxy/scripts/mvc/dataset/dataset-li-edit.js +++ b/client/galaxy/scripts/mvc/dataset/dataset-li-edit.js @@ -66,8 +66,9 @@ var DatasetListItemEdit = _super.extend( const Galaxy = getGalaxyInstance(); if (Galaxy.router) { ev.preventDefault(); + const identifier = self.model.get("element_id") || self.model.get("id"); Galaxy.router.push("datasets/edit", { - dataset_id: self.model.attributes.id, + dataset_id: identifier, }); } }, diff --git a/client/galaxy/scripts/mvc/dataset/dataset-li.js b/client/galaxy/scripts/mvc/dataset/dataset-li.js index 69a0eabd9e3..2dff8798378 100644 --- a/client/galaxy/scripts/mvc/dataset/dataset-li.js +++ b/client/galaxy/scripts/mvc/dataset/dataset-li.js @@ -184,7 +184,8 @@ export var DatasetListItemView = _super.extend( const Galaxy = getGalaxyInstance(); if (Galaxy.frame && Galaxy.frame.active) { // Add dataset to frames. - Galaxy.frame.addDataset(self.model.get("id")); + const identifier = self.model.get("element_id") || self.model.get("id"); + Galaxy.frame.addDataset(identifier); ev.preventDefault(); } }; diff --git a/lib/galaxy/jobs/__init__.py b/lib/galaxy/jobs/__init__.py index 225819929b2..f4dd5a6e6ef 100644 --- a/lib/galaxy/jobs/__init__.py +++ b/lib/galaxy/jobs/__init__.py @@ -1940,13 +1940,14 @@ class JobWrapper(HasResourceParameters): return self.output_paths def get_output_path(self, dataset): + if getattr(dataset, "fake_dataset_association", False): + return dataset.file_name + assert dataset.id is not None, "{} needs to be flushed to find output path".format(dataset) if self.output_paths is None: self.compute_outputs() for (hda, dataset_path) in self.output_hdas_and_paths.values(): - if hda == dataset: + if hda.id == dataset.id: return dataset_path - if getattr(dataset, "fake_dataset_association", False): - return dataset.file_name raise KeyError("Couldn't find job output for [%s] in [%s]" % (dataset, self.output_hdas_and_paths.values())) def get_mutable_output_fnames(self):