From a476a7adfd9f46c075821f46de157dd34197b061 Mon Sep 17 00:00:00 2001
From: juanf <juanf>
Date: Wed, 13 Aug 2014 13:05:56 +0000
Subject: [PATCH] Bugfix to avoid manual modifications of properties modified
 by scripts.

SVN: 32175
---
 .../ExperimentForm/ExperimentFormView.js      | 22 ++++++++++++-------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/ExperimentForm/ExperimentFormView.js b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/ExperimentForm/ExperimentFormView.js
index 7df8d81a70a..6ca5927cbd1 100644
--- a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/ExperimentForm/ExperimentFormView.js
+++ b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/ExperimentForm/ExperimentFormView.js
@@ -134,18 +134,19 @@ function ExperimentFormView(experimentFormController, experimentFormModel) {
 				
 				var $controlGroup =  null;
 				
+				var value = this._experimentFormModel.experiment.properties[propertyType.code];
+				var isSystemProperty = false;
+				if(!value && propertyType.code.charAt(0) === '$') {
+					value = this._experimentFormModel.experiment.properties[propertyType.code.substr(1)];
+					isSystemProperty = true;
+				}
+				
 				if(this._experimentFormModel.mode === FormMode.VIEW) { //Show values without input boxes if the form is in view mode
-					$controlGroup = FormUtil.getFieldForLabelWithText(propertyType.label, this._experimentFormModel.experiment.properties[propertyType.code]);
+					$controlGroup = FormUtil.getFieldForLabelWithText(propertyType.label, value);
 				} else {
 					var $component = FormUtil.getFieldForPropertyType(propertyType);
 					//Update values if is into edit mode
 					if(this._experimentFormModel.mode === FormMode.EDIT) {
-						var value = this._experimentFormModel.experiment.properties[propertyType.code];
-						var isSystemProperty = false;
-						if(!value && propertyType.code.charAt(0) === '$') {
-							value = this._experimentFormModel.experiment.properties[propertyType.code.substr(1)];
-							isSystemProperty = true;
-						}
 						if(propertyType.dataType === "BOOLEAN") {
 							$($component.children()[0]).prop('checked', value === "true");
 						} else if(propertyType.dataType === "TIMESTAMP") {
@@ -176,7 +177,12 @@ function ExperimentFormView(experimentFormController, experimentFormModel) {
 						}
 					}
 					
-					$component.change(changeEvent(propertyType));
+					//Avoid modifications in properties managed by scripts
+					if(propertyType.managed || propertyType.dinamic) {
+						$component.prop('disabled', true);
+					}
+					
+					$component.change(changeEvent(propertyType, isSystemProperty));
 					$controlGroup = FormUtil.getFieldForComponentWithLabel($component, propertyType.label);
 				}
 				
-- 
GitLab