From 111f852617f498270a7be95a812d8e5ad2a7bde4 Mon Sep 17 00:00:00 2001 From: pkupczyk <piotr.kupczyk@id.ethz.ch> Date: Wed, 7 Jun 2023 14:27:45 +0200 Subject: [PATCH] SSDM-13720 : when an entity is moved from one entity to another, navigation menu is not updated - move sample triggered from a table --- .../widgets/MoveSampleController.js | 48 ++++++++----------- 1 file changed, 21 insertions(+), 27 deletions(-) diff --git a/ui-eln-lims/src/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleTable/widgets/MoveSampleController.js b/ui-eln-lims/src/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleTable/widgets/MoveSampleController.js index e5a48332bd4..d7a25d07eaf 100644 --- a/ui-eln-lims/src/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleTable/widgets/MoveSampleController.js +++ b/ui-eln-lims/src/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleTable/widgets/MoveSampleController.js @@ -48,35 +48,29 @@ function MoveSampleController(samplePermIdOrIds, successAction) { mainController.serverFacade.moveSample( _this._moveSampleModel.samples.map(s => s.permId), experimentIdentifier, function() { - var msg = ELNDictionary.Sample + " " + _this._moveSampleModel.samples[0].identifier; - if (_this._moveSampleModel.samples.length > 1) { - msg = _this._moveSampleModel.samples.length + " " + ELNDictionary.Samples; - } - Util.showSuccess(msg + " moved to " + _this._moveSampleModel.experimentIdentifier, function() { - Util.unblockUI() - if (_this._moveSampleModel.successAction) { - //Delete Samples from current experiment menu - _this._moveSampleModel.samples.forEach(function(sample) { - mainController.sideMenu.deleteNodeByEntityPermId("SAMPLE", sample.permId, true); - }); - - //Add Experiment to the menu if new - if(_this._moveSampleModel.isNewExperiment) { - var experimentIdentifier = _this._moveSampleModel.experimentIdentifier; - var isInventory = profile.isInventorySpace(IdentifierUtil.getSpaceCodeFromIdentifier(experimentIdentifier)); - mainController.sideMenu.refreshExperiment({ - identifier: _this._moveSampleModel.experimentIdentifier, - code: IdentifierUtil.getCodeFromIdentifier(experimentIdentifier), - properties : {} - }, isInventory); - } + mainController.serverFacade.getExperimentOrNull(experimentIdentifier, function(experiment){ + var msg = ELNDictionary.Sample + " " + _this._moveSampleModel.samples[0].identifier; + if (_this._moveSampleModel.samples.length > 1) { + msg = _this._moveSampleModel.samples.length + " " + ELNDictionary.Samples; + } + Util.showSuccess(msg + " moved to " + _this._moveSampleModel.experimentIdentifier, async function() { + Util.unblockUI() + + //Refresh old experiment + await mainController.sideMenu.refreshNodeParentByPermId("SAMPLE", _this._moveSampleModel.samples[0].permId); - //Refresh Experiment where sample was moved - mainController.sideMenu.refreshNodeParentByPermId("SAMPLE", _this._moveSampleModel.samples[0].permId); + // Refresh new experiment + if(_this._moveSampleModel.isNewExperiment){ + await mainController.sideMenu.refreshNodeByPermId("PROJECT", experiment.getProject().getPermId().getPermId()); + } else { + await mainController.sideMenu.refreshNodeByPermId("EXPERIMENT", experiment.getPermId().getPermId()); + } - _this._moveSampleModel.successAction(); - } - }); + if(_this._moveSampleModel.successAction){ + _this._moveSampleModel.successAction(); + } + }); + }) }); } if (this._moveSampleModel.isNewExperiment) { -- GitLab