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 4dafd311289fa58f1f85661bd7d155a40414eb3c..1399305bb93c693c3ca6903220fb20f3d350a353 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 @@ -98,11 +98,12 @@ $.extend(DefaultProfile.prototype, { this.searchDomains = [ { "@id" : -1, "@type" : "GobalSearch", label : "Global", name : "global"}]; this.inventorySpaces = ["MATERIALS", "METHODS", "PURCHASES"]; + this.inventorySpacesReadOnly = ["PURCHASES_ORDERS"]; this.sampleTypeProtocols = ["GENERAL_PROTOCOL", "PCR_PROTOCOL", "WESTERN_BLOTTING_PROTOCOL"]; this.searchSamplesUsingV3OnDropbox = false; this.searchSamplesUsingV3OnDropboxRunCustom = false; this.isInventorySpace = function(spaceCode) { - return ($.inArray(spaceCode, this.inventorySpaces) !== -1); + return ($.inArray(spaceCode, this.inventorySpaces) !== -1) || ($.inArray(spaceCode, this.inventorySpacesReadOnly) !== -1); } this.directLinkEnabled = true; 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 0300c9a575f829d7c25ffbe15d10b41a5c9888d7..95a1be54994135ff3fab381bf4dfb7a5c8e5b135 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 @@ -134,9 +134,9 @@ function ServerFacade(openbisServer) { this.createELNUser = function(userId, callback) { var _this = this; var inventorySpacesToRegister = []; - var inventorySpaceToRegisterFunc = function(spaceCode, callback) { + var inventorySpaceToRegisterFunc = function(spaceCode, userRole, callback) { return function() { - _this.openbisServer.registerPersonSpaceRole(spaceCode, userId, "USER", function(data) { + _this.openbisServer.registerPersonSpaceRole(spaceCode, userId, userRole, function(data) { if(data.error) { callback(false, data.error.message); } else { @@ -165,7 +165,12 @@ function ServerFacade(openbisServer) { } else { for(var i = 0; i < profile.inventorySpaces.length; i++) { var spaceCode = profile.inventorySpaces[i]; - inventorySpacesToRegister.push(inventorySpaceToRegisterFunc(spaceCode, callback)); + inventorySpacesToRegister.push(inventorySpaceToRegisterFunc(spaceCode, "USER", callback)); + } + + for(var i = 0; i < profile.inventorySpacesReadOnly.length; i++) { + var spaceCode = profile.inventorySpacesReadOnly[i]; + inventorySpacesToRegister.push(inventorySpaceToRegisterFunc(spaceCode, "OBSERVER", callback)); } var spaceToRegister = inventorySpacesToRegister.pop(); diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormModel.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormModel.js index 0f6ae0a3a222917e9add7b28ca52e9f9f86da173..b475d1fac0cd2bfbebcff4b214ec7d9d49746aa1 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormModel.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormModel.js @@ -21,7 +21,7 @@ function SampleFormModel(mode, sample) { this.isFormDirty = false; this.isFormLoaded = false; - this.isELNSample = profile.inventorySpaces.length > 0 && $.inArray(sample.spaceCode, profile.inventorySpaces) === -1; + this.isELNSample = !profile.isInventorySpace(sample.spaceCode); // // TO-DO: Legacy code to be refactored diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SideMenu/SideMenuWidgetView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SideMenu/SideMenuWidgetView.js index 7e6f6e623c2d429efa02d06ebdb85ca9606176e5..e02392b8c4cf5c4f0a767ae3bd08ddac91d12e5d 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SideMenu/SideMenuWidgetView.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SideMenu/SideMenuWidgetView.js @@ -299,6 +299,9 @@ function SideMenuWidgetView(sideMenuWidgetController, sideMenuWidgetModel) { if(space.getCode() === "PURCHASES") { spaceNode.icon = "fa fa-shopping-cart"; } + if(space.getCode() === "PURCHASES_ORDERS") { + spaceNode.icon = "fa fa-cart-plus"; + } results.push(spaceNode); } } diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/dss/reporting-plugins/eln-lims-api/script.py b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/dss/reporting-plugins/eln-lims-api/script.py index 9782359ed4bede50eca1bcfe638b157f7af13bf7..1d3c7ce3dbd9b84ac9d78dda779ccb4efc3b9bd4 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/dss/reporting-plugins/eln-lims-api/script.py +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/dss/reporting-plugins/eln-lims-api/script.py @@ -338,8 +338,9 @@ def init(tr, parameters, tableBuilder): purchasesCollection = tr.createNewExperiment("/PURCHASES/REQUESTS/REQUEST_COLLECTION_1", "PURCHASES"); purchasesCollection.setPropertyValue("NAME", "Request Collection 1"); - tr.createNewProject("/PURCHASES/ORDERS"); - purchasesCollection = tr.createNewExperiment("/PURCHASES/ORDERS/ORDER_COLLECTION_1", "PURCHASES"); + tr.createNewSpace("PURCHASES_ORDERS", None); + tr.createNewProject("/PURCHASES_ORDERS/ORDERS"); + purchasesCollection = tr.createNewExperiment("/PURCHASES_ORDERS/ORDERS/ORDER_COLLECTION_1", "PURCHASES"); purchasesCollection.setPropertyValue("NAME", "Order Collection 1"); tr.createNewSpace("MATERIALS", None);