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 95622b946622eb701802d3ba891aa377cd3335be..1539bec628dce71eb60d853afa5460263a0493f7 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 @@ -462,12 +462,12 @@ function ServerFacade(openbisServer) { this.openbisServer.uploadedSamplesInfo(sampleTypeCode, fileKeyAtHTTPSession, callbackFunction); } - this.registerSamples = function(sampleTypeCode, fileKeyAtHTTPSession, somethingOrNull, callbackFunction) { - this.openbisServer.registerSamples(sampleTypeCode, fileKeyAtHTTPSession, somethingOrNull, callbackFunction); + this.registerSamplesWithSilentOverrides = function(sampleTypeCode, spaceIdentifier, experimentIdentifier, fileKeyAtHTTPSession, somethingOrNull, callbackFunction) { + this.openbisServer.registerSamplesWithSilentOverrides(sampleTypeCode, spaceIdentifier, experimentIdentifier, fileKeyAtHTTPSession, somethingOrNull, callbackFunction); } - this.updateSamples = function(sampleTypeCode, fileKeyAtHTTPSession, somethingOrNull, callbackFunction) { - this.openbisServer.updateSamples(sampleTypeCode, fileKeyAtHTTPSession, somethingOrNull, callbackFunction); + this.updateSamplesWithSilentOverrides = function(sampleTypeCode, spaceIdentifier, experimentIdentifier, fileKeyAtHTTPSession, somethingOrNull, callbackFunction) { + this.openbisServer.updateSamplesWithSilentOverrides(sampleTypeCode, spaceIdentifier, experimentIdentifier, fileKeyAtHTTPSession, somethingOrNull, callbackFunction); } this.fileUpload = function(file, callbackFunction) { diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleTable/SampleTableView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleTable/SampleTableView.js index b39029722b3d960d602dac95066db0a25ee54846..0e6be6107daae307ba8406a8d0271e2c7a856501 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleTable/SampleTableView.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleTable/SampleTableView.js @@ -206,7 +206,6 @@ function SampleTableView(sampleTableController, sampleTableModel) { } this.registerSamples = function(experimentIdentifier) { - var _this = this; var allowedSampleTypes = null; var forcedSpace = null; if(this._sampleTableModel.sampleTypeCodeToUse) { @@ -235,42 +234,16 @@ function SampleTableView(sampleTableController, sampleTableModel) { } }; - if(infoData.result.identifiersPressent) { - mainController.serverFacade.registerSamples(typeAndFileController.getSampleTypeCode(), "sample-file-upload", null, finalCallback); - } else if(forcedSpace || typeAndFileController.getSampleTypeCode() === "STORAGE_POSITION") { - if(typeAndFileController.getSampleTypeCode() === "STORAGE_POSITION") { - forcedSpace = "STORAGE"; - } - mainController.serverFacade.registerSamples(typeAndFileController.getSampleTypeCode(), "sample-file-upload", '/' + forcedSpace, finalCallback); - } else { - mainController.serverFacade.registerSamples(typeAndFileController.getSampleTypeCode(), "sample-file-upload", '/' + space, finalCallback); - - mainController.serverFacade.listSpacesWithProjectsAndRoleAssignments(null, function(data) { - var spaces = []; - for(var i = 0; i < data.result.length; i++) { - spaces.push(data.result[i].code); - } - - var component = "<select id='sampleSpaceSelector' class='form-control' required>"; - component += "<option disabled=\"disabled\" selected></option>"; - for(var i = 0; i < spaces.length; i++) { - component += "<option value='"+spaces[i]+"'>"+Util.getDisplayNameFromCode(spaces[i])+"</option>"; - } - component += "</select>"; - - Util.blockUI("Space not found, please select it for automatic generation: <br><br>" + component + "<br> or <a class='btn btn-default' id='spaceSelectionCancel'>Cancel</a>"); - - $("#sampleSpaceSelector").on("change", function(event) { - var space = $("#sampleSpaceSelector")[0].value; - Util.blockUI(); - mainController.serverFacade.registerSamples(typeAndFileController.getSampleTypeCode(), "sample-file-upload", '/' + space, finalCallback); - }); - - $("#spaceSelectionCancel").on("click", function(event) { - Util.unblockUI(); - }); - - }); + var experimentIdentifierOrDelete = experimentIdentifier; + if(typeAndFileController.getSampleTypeCode() === "STORAGE_POSITION") { + experimentIdentifierOrDelete = "__DELETE__"; + forcedSpace = "STORAGE"; + } + + if(infoData.result.identifiersPressent) { //If identifiers are present they should match the space of the experiment + mainController.serverFacade.registerSamplesWithSilentOverrides(typeAndFileController.getSampleTypeCode(), '/' + forcedSpace, experimentIdentifierOrDelete, "sample-file-upload", null, finalCallback); + } else { // If identifiers are not present the defaultGroup/forcedSpace should be set for auto generation + mainController.serverFacade.registerSamplesWithSilentOverrides(typeAndFileController.getSampleTypeCode(), '/' + forcedSpace, experimentIdentifierOrDelete, "sample-file-upload", '/' + forcedSpace, finalCallback); } } ); @@ -280,8 +253,13 @@ function SampleTableView(sampleTableController, sampleTableModel) { } this.updateSamples = function(experimentIdentifier) { + var allowedSampleTypes = null; + var forcedSpace = null; if(this._sampleTableModel.sampleTypeCodeToUse) { allowedSampleTypes = [this._sampleTableModel.sampleTypeCodeToUse, "STORAGE_POSITION"]; + if(experimentIdentifier) { + forcedSpace = experimentIdentifier.split("/")[1]; + } } var typeAndFileController = new TypeAndFileController('Update ' + ELNDictionary.Samples + '', "UPDATE", function(type, file) { Util.blockUI(); @@ -298,9 +276,15 @@ function SampleTableView(sampleTableController, sampleTableModel) { } }; + var experimentIdentifierOrDelete = experimentIdentifier; + if(typeAndFileController.getSampleTypeCode() === "STORAGE_POSITION") { + experimentIdentifierOrDelete = "__DELETE__"; + forcedSpace = "STORAGE"; + } + mainController.serverFacade.fileUpload(typeAndFileController.getFile(), function(result) { //Code After the upload - mainController.serverFacade.updateSamples(typeAndFileController.getSampleTypeCode(), "sample-file-upload", null,finalCallback); + mainController.serverFacade.updateSamplesWithSilentOverrides(typeAndFileController.getSampleTypeCode(), '/' + forcedSpace, experimentIdentifierOrDelete, "sample-file-upload", null,finalCallback); }); }, allowedSampleTypes); typeAndFileController.init();