From 9e5ca6c066db2437d6d7f34c454e8fd56bb663f5 Mon Sep 17 00:00:00 2001
From: juanf <juanf>
Date: Thu, 21 Apr 2016 14:32:18 +0000
Subject: [PATCH] SSDM-3520 : enable/disable upload stored on display settings.

SVN: 36262
---
 .../eln-lims/html/js/server/ServerFacade.js   | 37 +++++++++++++++++++
 .../DataSetForm/DataSetFormController.js      |  5 ++-
 .../js/views/DataSetForm/DataSetFormView.js   |  1 +
 3 files changed, 42 insertions(+), 1 deletion(-)

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 7839fb9252d..d63078b87c1 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
@@ -50,6 +50,43 @@ function ServerFacade(openbisServer) {
 	
 	this.openbisServer.setResponseInterceptor(responseInterceptor);
 	
+	//
+	// Display Settings
+	//
+	this.getSetting = function(keyOrNull, callback) {
+		mainController.serverFacade.openbisServer.getWebAppSettings("ELN-LIMS", function(response) {
+			var settings = response.result.settings;
+			if(!settings) {
+				settings = {};
+			}
+			if(keyOrNull) {
+				callback(settings[keyOrNull]);
+			} else {
+				callback(settings);
+			}
+		});
+	}
+	
+	this.setSetting = function(key, value) {
+		var _this = this;
+		var webAppId = "ELN-LIMS";
+		this.openbisServer.getWebAppSettings(webAppId, function(response) {
+			var settings = response.result.settings;
+			if(!settings) {
+				settings = {};
+			}
+			settings[key] = value;
+			
+			var webAppSettings = {
+					"@type" : "WebAppSettings",
+					"webAppId" : webAppId,
+					"settings" : settings
+			}
+			
+			_this.openbisServer.setWebAppSettings(webAppSettings, function(result) {});
+		});
+	}
+	
 	//
 	// Login Related Functions
 	//
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormController.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormController.js
index 2121dc937ae..500d79e9413 100644
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormController.js
+++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormController.js
@@ -24,7 +24,10 @@ function DataSetFormController(parentController, mode, sample, dataSet, isMini)
 		mainController.serverFacade.listDataSetTypes(
 				function(data) {
 					_this._dataSetFormModel.dataSetTypes = data.result;
-					_this._dataSetFormView.repaint($container);
+					mainController.serverFacade.getSetting("DataSetFormModel.isAutoUpload", function(value) {
+						_this._dataSetFormModel.isAutoUpload = (value === "true");
+						_this._dataSetFormView.repaint($container);
+					});
 				}
 		);
 	}
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormView.js
index 9ef7af58457..06ec0f750f4 100644
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormView.js
+++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormView.js
@@ -199,6 +199,7 @@ function DataSetFormView(dataSetFormController, dataSetFormModel) {
 					$autoUploadCheck.change(function(){
 						var isChecked = $($(this).children()[0]).children()[0].checked;
 						_this._dataSetFormModel.isAutoUpload = isChecked;
+						mainController.serverFacade.setSetting("DataSetFormModel.isAutoUpload", isChecked);
 					});
 					
 				var $autoUploadGroup = $('<fieldset>')
-- 
GitLab