From 64fac715ea5d7f7935ec06f2428296c741534652 Mon Sep 17 00:00:00 2001 From: juanf <juanf> Date: Wed, 9 Nov 2016 12:46:41 +0000 Subject: [PATCH] SSDM-2597 : Delete works again for samples, now using v3 API. SVN: 37292 --- .../eln-lims/html/js/server/ServerFacade.js | 29 +++++++++++++++++-- .../SampleTable/SampleTableController.js | 6 ++-- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/server/ServerFacade.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/server/ServerFacade.js index d7d7c334d43..f9b4d42cd1c 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/server/ServerFacade.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/server/ServerFacade.js @@ -362,8 +362,33 @@ function ServerFacade(openbisServer) { this.openbisServer.deleteDataSets(datasetIds, reason, "TRASH", callback); } - this.deleteSamples = function(sampleIds, reason, callback) { - this.openbisServer.deleteSamples(sampleIds, reason, "TRASH", callback); + this.deleteSamples = function(samplePermIds, reason, callback) { + require([ 'openbis', "as/dto/sample/id/SamplePermId", "as/dto/sample/delete/SampleDeletionOptions" ], + function(openbis, SamplePermId, SampleDeletionOptions) { + //Boilerplate + var testProtocol = window.location.protocol; + var testHost = window.location.hostname; + var testPort = window.location.port; + + var testUrl = testProtocol + "//" + testHost + ":" + testPort; + var testApiUrl = testUrl + "/openbis/openbis/rmi-application-server-v3.json"; + + var v3Api = new openbis(testApiUrl); + v3Api._private.sessionToken = mainController.serverFacade.getSession(); + + var samplePermIdsObj = []; + for(var sPIdx = 0; sPIdx < samplePermIds.length; sPIdx++) { + samplePermIdsObj.push(new SamplePermId(samplePermIds[sPIdx])); + } + + var deletionOptions = new SampleDeletionOptions(); + deletionOptions.setReason(reason); + + // logical deletion (move objects to the trash can) + v3Api.deleteSamples(samplePermIdsObj, deletionOptions).done(function(deletionId) { + callback(deletionId); + }); + }); } this.deleteExperiments = function(experimentIds, reason, callback) { diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleTable/SampleTableController.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleTable/SampleTableController.js index 76202417ca7..e45bd922413 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleTable/SampleTableController.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleTable/SampleTableController.js @@ -81,14 +81,14 @@ function SampleTableController(parentController, title, experimentIdentifier, pr Util.showError("Please select at least one sample to delete!"); } else { var warningText = "The next " + ELNDictionary.samples + " will be deleted: "; - var sampleTechIds = []; + var samplePermIds = []; for(var sIdx = 0; sIdx < selected.length; sIdx++) { - sampleTechIds.push(selected[sIdx].id); + samplePermIds.push(selected[sIdx].permId); warningText += selected[sIdx].identifier + " "; } var modalView = new DeleteEntityController(function(reason) { - mainController.serverFacade.deleteSamples(sampleTechIds, reason, function(data) { + mainController.serverFacade.deleteSamples(samplePermIds, reason, function(data) { if(data.error) { Util.showError(data.error.message); } else { -- GitLab