From 2002ec5ad8b623722408ca2b7115f6973bc1c5c7 Mon Sep 17 00:00:00 2001
From: juanf <juanf>
Date: Thu, 25 May 2017 12:45:03 +0000
Subject: [PATCH] SSDM-4898 : MySpace in ELN main menu and all others collapsed

SVN: 38220
---
 .../js/views/SideMenu/SideMenuWidgetView.js   | 41 +++++++++++++++++++
 1 file changed, 41 insertions(+)

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 10af15a01ba..f6bac713ff4 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
@@ -241,6 +241,47 @@ function SideMenuWidgetView(sideMenuWidgetController, sideMenuWidgetModel) {
     	    
     	    switch(type) {
     	    	case "LAB_NOTEBOOK":
+    	    		var spaceRules = { entityKind : "SPACE", logicalOperator : "AND", rules : { } };
+    	    		mainController.serverFacade.searchForSpacesAdvanced(spaceRules, null, function(searchResult) {
+    	    			var USERID = mainController.serverFacade.getUserId().toUpperCase();
+    	    			var results = [];
+    	    			var spaces = searchResult.objects;
+    	                for (var i = 0; i < spaces.length; i++) {
+    	                    var space = spaces[i];
+    	                    var isInventorySpace = profile.isInventorySpace(space.code);
+    	                    var isHiddenSpace = profile.isHiddenSpace(space.code);
+        	                if(!isInventorySpace && (space.code === USERID) && !isHiddenSpace) {
+        	                	var normalizedSpaceTitle = Util.getDisplayNameFromCode(space.code);
+        	                	var spaceLink = _this.getLinkForNode("My Space (" + normalizedSpaceTitle + ")", space.getCode(), "showSpacePage", space.getCode());
+        	                    var spaceNode = { title : spaceLink, entityType: "SPACE", key : space.getCode(), folder : true, lazy : true, view : "showSpacePage", viewData: space.getCode() };
+        	                    results.push(spaceNode);
+        	                }
+    	                }
+    	                
+	                    results.push({ title : "Others", entityType: "LAB_NOTEBOOK_OTHERS", key : "LAB_NOTEBOOK_OTHERS", folder : true, lazy : true, view : "showLabNotebookPage" });
+    	                dfd.resolve(results);
+    	    		});
+    	    		break;
+    	    	case "LAB_NOTEBOOK_OTHERS":
+    	    		var spaceRules = { entityKind : "SPACE", logicalOperator : "AND", rules : { } };
+    	    		mainController.serverFacade.searchForSpacesAdvanced(spaceRules, null, function(searchResult) {
+    	    			var USERID = mainController.serverFacade.getUserId().toUpperCase();
+    	    			var results = [];
+    	    			var spaces = searchResult.objects;
+    	                for (var i = 0; i < spaces.length; i++) {
+    	                    var space = spaces[i];
+    	                    var isInventorySpace = profile.isInventorySpace(space.code);
+    	                    var isHiddenSpace = profile.isHiddenSpace(space.code);
+        	                if(!isInventorySpace && (space.code !== USERID) && !isHiddenSpace) {
+        	                	var normalizedSpaceTitle = Util.getDisplayNameFromCode(space.code);
+        	                	var spaceLink = _this.getLinkForNode(normalizedSpaceTitle, space.getCode(), "showSpacePage", space.getCode());
+        	                    var spaceNode = { title : spaceLink, entityType: "SPACE", key : space.getCode(), folder : true, lazy : true, view : "showSpacePage", viewData: space.getCode() };
+        	                    results.push(spaceNode);
+        	                }
+    	                }
+    	                dfd.resolve(results);
+    	    		});
+    	    		break;
     	    	case "INVENTORY":
     	    		var spaceRules = { entityKind : "SPACE", logicalOperator : "AND", rules : { } };
     	    		mainController.serverFacade.searchForSpacesAdvanced(spaceRules, null, function(searchResult) {
-- 
GitLab