diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/config/Profile.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/config/Profile.js index 6b335612f2cbaba8d21c781a14667f7fe2cdbb29..c916ea2ac26f01142334cbb22f64536a287204ab 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/config/Profile.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/config/Profile.js @@ -281,14 +281,18 @@ $.extend(DefaultProfile.prototype, { this.getStorageConfigCollectionForConfigSample = function(sample) { var prefix = this.getSampleConfigSpacePrefix(sample); - return IdentifierUtil.getExperimentIdentifier(prefix + "ELN_SETTINGS", prefix + "STORAGES", prefix + "STORAGES_COLLECTION"); + return IdentifierUtil.getExperimentIdentifier(prefix + "ELN_SETTINGS", "STORAGES", "STORAGES_COLLECTION"); } this.getStorageSpaceForSample = function(sample) { + return this.getStorageSpaceForSpace(sample.spaceCode); + } + + this.getStorageSpaceForSpace = function(spaceCode) { var storageSpaceCode = null; - var prefixIndexOf = sample.spaceCode.indexOf("_"); // This is a euristic that only works if the prefixes can't contain "_" + var prefixIndexOf = spaceCode.indexOf("_"); // This is a euristic that only works if the prefixes can't contain "_" if(prefixIndexOf !== -1) { - var prefix = sample.spaceCode.substring(0, prefixIndexOf); + var prefix = spaceCode.substring(0, prefixIndexOf); for(var ssIdx = 0; ssIdx < this.storageSpaces.length; ssIdx++) { if(this.storageSpaces[ssIdx].startsWith(prefix)) { storageSpaceCode = this.storageSpaces[ssIdx]; 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 545f609ec8a5137549834d6a27be8b3b0c4a948a..1980821bbdd7bfca701ad445c43e5ddb025c0269 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 @@ -215,11 +215,13 @@ function SampleTableView(sampleTableController, sampleTableModel) { this.registerSamples = function(experimentIdentifier) { var allowedSampleTypes = null; var forcedSpace = null; + var spaceCodeFromIdentifier = null; if(this._sampleTableModel.sampleTypeCodeToUse) { allowedSampleTypes = [this._sampleTableModel.sampleTypeCodeToUse, "STORAGE_POSITION"]; } if(experimentIdentifier) { - forcedSpace = IdentifierUtil.getForcedSpaceIdentifier(IdentifierUtil.getSpaceCodeFromIdentifier(experimentIdentifier)); + spaceCodeFromIdentifier = IdentifierUtil.getSpaceCodeFromIdentifier(experimentIdentifier); + forcedSpace = IdentifierUtil.getForcedSpaceIdentifier(spaceCodeFromIdentifier); } var typeAndFileController = new TypeAndFileController('Register ' + ELNDictionary.Samples + '', "REGISTRATION", function(type, file) { @@ -245,7 +247,7 @@ function SampleTableView(sampleTableController, sampleTableModel) { var experimentIdentifierOrDelete = experimentIdentifier; if(experimentIdentifierOrDelete && typeAndFileController.getSampleTypeCode() === "STORAGE_POSITION") { experimentIdentifierOrDelete = "__DELETE__"; - forcedSpace = IdentifierUtil.getForcedSpaceIdentifier("STORAGE"); + forcedSpace = profile.getStorageSpaceForSpace(spaceCodeFromIdentifier); } 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); @@ -262,11 +264,13 @@ function SampleTableView(sampleTableController, sampleTableModel) { this.updateSamples = function(experimentIdentifier) { var allowedSampleTypes = null; var forcedSpace = null; + var spaceCodeFromIdentifier = null; if(this._sampleTableModel.sampleTypeCodeToUse) { allowedSampleTypes = [this._sampleTableModel.sampleTypeCodeToUse, "STORAGE_POSITION"]; } if(experimentIdentifier) { - forcedSpace = IdentifierUtil.getForcedSpaceIdentifier(IdentifierUtil.getSpaceCodeFromIdentifier(experimentIdentifier)); + spaceCodeFromIdentifier = IdentifierUtil.getSpaceCodeFromIdentifier(experimentIdentifier); + forcedSpace = IdentifierUtil.getForcedSpaceIdentifier(spaceCodeFromIdentifier); } var typeAndFileController = new TypeAndFileController('Update ' + ELNDictionary.Samples + '', "UPDATE", function(type, file) { Util.blockUI(); @@ -286,7 +290,7 @@ function SampleTableView(sampleTableController, sampleTableModel) { var experimentIdentifierOrDelete = experimentIdentifier; if(experimentIdentifierOrDelete && typeAndFileController.getSampleTypeCode() === "STORAGE_POSITION") { experimentIdentifierOrDelete = "__DELETE__"; - forcedSpace = IdentifierUtil.getForcedSpaceIdentifier("STORAGE"); + forcedSpace = profile.getStorageSpaceForSpace(spaceCodeFromIdentifier); } mainController.serverFacade.fileUpload(typeAndFileController.getFile(), function(result) {