diff --git a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/config/Profile.js b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/config/Profile.js index 88c28e97495579f9a4a395ab9d292fd364694a0e..8e53cd7dad9049d1693980025146deeb74a5be4f 100644 --- a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/config/Profile.js +++ b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/config/Profile.js @@ -461,8 +461,18 @@ $.extend(DefaultProfile.prototype, { } localReference.serverFacade.listSpaces(function(spaces) { - localReference.allSpaces = spaces; - callback(); + if($.inArray("INVENTORY", spaces) === -1) { + mainController.serverFacade.createReportFromAggregationService(localReference.getDefaultDataStoreCode(), {"method" : "init" }, function() { + localReference.serverFacade.listSpaces(function(spaces) { + localReference.allSpaces = spaces; + callback(); + }); + }); + + } else { + localReference.allSpaces = spaces; + callback(); + } }) } ); diff --git a/plasmid/source/core-plugins/newbrowser/1/dss/reporting-plugins/newbrowserapi/script.py b/plasmid/source/core-plugins/newbrowser/1/dss/reporting-plugins/newbrowserapi/script.py index a697b8da729e6508931cc317abb8b09544e6a0d0..92baf003108ead2a6a1d850f10e0cf73c2441eb2 100644 --- a/plasmid/source/core-plugins/newbrowser/1/dss/reporting-plugins/newbrowserapi/script.py +++ b/plasmid/source/core-plugins/newbrowser/1/dss/reporting-plugins/newbrowserapi/script.py @@ -14,6 +14,7 @@ # limitations under the License. # +# IDataSetRegistrationTransactionV2 Class from ch.systemsx.cisd.openbis.dss.client.api.v1 import DssComponentFactory from org.apache.commons.io import IOUtils from java.io import File @@ -27,6 +28,8 @@ def process(tr, parameters, tableBuilder): isOk = False; + if method == "init": + isOk = init(tr, parameters, tableBuilder); if method == "insertProject": isOk = insertUpdateProject(tr, parameters, tableBuilder); if method == "updateProject": @@ -62,6 +65,33 @@ def process(tr, parameters, tableBuilder): row.setCell("STATUS","FAIL"); row.setCell("MESSAGE", "Operation Failed"); +def init(tr, parameters, tableBuilder): + tr.createNewSpace("INVENTORY", None); + tr.createNewProject("/INVENTORY/MATERIALS"); + tr.createNewExperiment("/INVENTORY/MATERIALS/ANTIBODY", "ANTIBODY"); + tr.createNewExperiment("/INVENTORY/MATERIALS/BACTERIA", "BACTERIA"); + tr.createNewExperiment("/INVENTORY/MATERIALS/CHEMICAL", "CHEMICAL"); + tr.createNewExperiment("/INVENTORY/MATERIALS/ENZYME", "ENZYME"); + tr.createNewExperiment("/INVENTORY/MATERIALS/CELL_LINE", "CELL_LINE"); + tr.createNewExperiment("/INVENTORY/MATERIALS/FLY", "FLY"); + tr.createNewExperiment("/INVENTORY/MATERIALS/MEDIA", "MEDIA"); + tr.createNewExperiment("/INVENTORY/MATERIALS/OLIGO", "OLIGO"); + tr.createNewExperiment("/INVENTORY/MATERIALS/PLASMID", "PLASMID"); + tr.createNewExperiment("/INVENTORY/MATERIALS/YEAST", "YEAST"); + tr.createNewExperiment("/INVENTORY/MATERIALS/SOLUTION_BUFFER", "SOLUTION_BUFFER"); + tr.createNewExperiment("/INVENTORY/MATERIALS/RNA", "RNA"); + + tr.createNewProject("/INVENTORY/METHODS"); + tr.createNewExperiment("/INVENTORY/METHODS/GENERAL_PROTOCOL", "GENERAL_PROTOCOL"); + tr.createNewExperiment("/INVENTORY/METHODS/PCR_PROTOCOL", "PCR_PROTOCOL"); + tr.createNewExperiment("/INVENTORY/METHODS/WESTERN_BLOTTING_PROTOCOL", "WESTERN_BLOTTING_PROTOCOL"); + + tr.createNewSpace("DEFAULT_LAB_NOTEBOOK", None); + tr.createNewProject("/DEFAULT_LAB_NOTEBOOK/DEFAULT_PROJECT"); + tr.createNewExperiment("/DEFAULT_LAB_NOTEBOOK/DEFAULT_PROJECT/DEFAULT_EXPERIMENT", "DEFAULT_EXPERIMENT"); + + return True; + def getThreadProperties(transaction): threadPropertyDict = {} threadProperties = transaction.getGlobalState().getThreadParameters().getThreadProperties()