From aabafbe868785cf51a42555ce00db33350a15538 Mon Sep 17 00:00:00 2001
From: juanf <juanf@bsse-bs-dock-5-164.ethz.ch>
Date: Tue, 14 Aug 2018 14:06:53 +0200
Subject: [PATCH] SSDM-6701 : SHOW flag loading bugfix

---
 .../html/js/config/SettingsManager.js         | 21 ++++++++++++-------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/config/SettingsManager.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/config/SettingsManager.js
index 192778a92e8..cf22837c826 100644
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/config/SettingsManager.js
+++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/config/SettingsManager.js
@@ -120,16 +120,21 @@ function SettingsManager(serverFacade) {
 			}
 		}
 		
-		// sampleTypeDefinitionsExtension gets overwritten with settings if found
-		for (var sampleType of Object.keys(settings.sampleTypeDefinitionsExtension)) {
-			profile.sampleTypeDefinitionsExtension[sampleType] = settings.sampleTypeDefinitionsExtension[sampleType];
-			// Add the types to hide == not show
-			if(!settings.sampleTypeDefinitionsExtension[sampleType].SHOW) {
-				targetProfile.hideTypes["sampleTypeCodes"].push(sampleType);
-			} else if($.inArray(sampleType, targetProfile.hideTypes["sampleTypeCodes"]) !== -1) {
-				var indexToRemove = $.inArray(sampleType, targetProfile.hideTypes);
+		
+		for (var sampleTypeCode of Object.keys(settings.sampleTypeDefinitionsExtension)) {
+			// sampleTypeDefinitionsExtension gets overwritten with settings if found
+			targetProfile.sampleTypeDefinitionsExtension[sampleTypeCode] = settings.sampleTypeDefinitionsExtension[sampleTypeCode];
+			
+			// Remove current profile show config
+			if($.inArray(sampleTypeCode, targetProfile.hideTypes["sampleTypeCodes"]) !== -1) {
+				var indexToRemove = $.inArray(sampleTypeCode, targetProfile.hideTypes["sampleTypeCodes"]);
 				targetProfile.hideTypes["sampleTypeCodes"] = targetProfile.hideTypes["sampleTypeCodes"].splice(indexToRemove, 1);
 			}
+			
+			// Add current profile show config
+			if(!settings.sampleTypeDefinitionsExtension[sampleTypeCode].SHOW) {
+				targetProfile.hideTypes["sampleTypeCodes"].push(sampleTypeCode);
+			}
 		}
 	}
 
-- 
GitLab