From a6b40119aee6dd933e2c2fb366a9269ce4154b5e Mon Sep 17 00:00:00 2001
From: satish <satish.dvnk@vtiger.com>
Date: Fri, 10 Mar 2017 18:52:24 +0530
Subject: [PATCH] Fixes #347 - Regression Currency and Number Field

---
 layouts/v7/modules/Users/resources/Detail.js  |  2 +-
 .../modules/Users/resources/PreferenceEdit.js | 68 ++++++++-----------
 layouts/v7/modules/Vtiger/resources/Detail.js |  2 +-
 modules/Migration/schema/660_to_700.php       |  2 +
 4 files changed, 33 insertions(+), 41 deletions(-)

diff --git a/layouts/v7/modules/Users/resources/Detail.js b/layouts/v7/modules/Users/resources/Detail.js
index 535b05b5d..402d8c0e1 100644
--- a/layouts/v7/modules/Users/resources/Detail.js
+++ b/layouts/v7/modules/Users/resources/Detail.js
@@ -236,7 +236,7 @@ Vtiger_Detail_Js("Users_Detail_Js",{
 	},
 	validateDigitSeparators: function (e, params) {
 		var fieldNamesToValidate = ['currency_decimal_separator', 'currency_grouping_separator'];
-		var fieldInfo = params.tiggeredFiledInfo;
+		var fieldInfo = params.triggeredFieldInfo;
 
 		if (jQuery.inArray(fieldInfo.field, fieldNamesToValidate) === -1) {
 			return true;
diff --git a/layouts/v7/modules/Users/resources/PreferenceEdit.js b/layouts/v7/modules/Users/resources/PreferenceEdit.js
index 7800975b6..8b4a0a958 100644
--- a/layouts/v7/modules/Users/resources/PreferenceEdit.js
+++ b/layouts/v7/modules/Users/resources/PreferenceEdit.js
@@ -19,15 +19,10 @@ Users_Edit_Js("Settings_Users_PreferenceEdit_Js",{
 			var selectedValue = element.val();
 			var groupingSeperatorValue = jQuery('[name="currency_grouping_separator"]',form).data('selectedValue');
 			if(groupingSeperatorValue == selectedValue){
-				var message = app.vtranslate('JS_DECIMAL_SEPERATOR_AND_GROUPING_SEPERATOR_CANT_BE_SAME');
-				app.helper.showErrorNotification({
-                  'message': message
-				});
+				app.helper.showErrorNotification({'message': app.vtranslate('JS_DECIMAL_SEPERATOR_AND_GROUPING_SEPERATOR_CANT_BE_SAME')});
 				var previousSelectedValue = element.data('selectedValue');
-				element.find('option').removeAttr('selected');
-				element.find('option[value="'+previousSelectedValue+'"]').attr('selected','selected');
-				element.trigger("liszt:updated");
-			}else{
+				element.select2('val', previousSelectedValue);
+			} else {
 				element.data('selectedValue',selectedValue);
 			}
 		})
@@ -36,42 +31,37 @@ Users_Edit_Js("Settings_Users_PreferenceEdit_Js",{
 			var selectedValue = element.val();
 			var decimalSeperatorValue = jQuery('[name="currency_decimal_separator"]',form).data('selectedValue');
 			if(decimalSeperatorValue == selectedValue){
-				var message = app.vtranslate('JS_DECIMAL_SEPERATOR_AND_GROUPING_SEPERATOR_CANT_BE_SAME');
-				app.helper.showErrorNotification({
-                  'message': message
-				});
+				app.helper.showErrorNotification({'message': app.vtranslate('JS_DECIMAL_SEPERATOR_AND_GROUPING_SEPERATOR_CANT_BE_SAME')});
 				var previousSelectedValue = element.data('selectedValue');
-				element.find('option').removeAttr('selected');
-				element.find('option[value="'+previousSelectedValue+'"]').attr('selected','selected');
-				element.trigger("liszt:updated");
-			}else{
+				element.select2('val', previousSelectedValue);
+			} else {
 				element.data('selectedValue',selectedValue);
 			}
 		})
 	},
-        
-    registerNameFieldChangeEvent : function() {
-        var form = jQuery('form');
-        var specialChars = /[<\>\"\,]/;
-        jQuery('[name="first_name"]',form).on('change',function(e){
-            var firstNameEle = jQuery(e.currentTarget);
-            var firstName = firstNameEle.val();
-            var firstNameOldVal = firstNameEle.parent().find('.fieldname').data('prev-value');
-            if(specialChars.test(firstName)) {
-                Vtiger_Helper_Js.showPnotify(app.vtranslate('JS_COMMA_NOT_ALLOWED_USERS'));
-                firstNameEle.val(firstNameOldVal);
-            }
-        });
-        jQuery('[name="last_name"]',form).on('change',function(e){
-            var lastNameEle = jQuery(e.currentTarget);
-            var lastName = lastNameEle.val();
-            var lastNameOldVal = lastNameEle.parent().find('.fieldname').data('prev-value');
-            if(specialChars.test(lastName)) {
-                Vtiger_Helper_Js.showPnotify(app.vtranslate('JS_COMMA_NOT_ALLOWED_USERS'));
-                lastNameEle.val(lastNameOldVal);
-            }
-        });
-    }
+
+	registerNameFieldChangeEvent : function() {
+		var form = jQuery('form');
+		var specialChars = /[<\>\"\,]/;
+		jQuery('[name="first_name"]',form).on('change',function(e){
+			var firstNameEle = jQuery(e.currentTarget);
+			var firstName = firstNameEle.val();
+			var firstNameOldVal = firstNameEle.parent().find('.fieldname').data('prev-value');
+			if(specialChars.test(firstName)) {
+				Vtiger_Helper_Js.showPnotify(app.vtranslate('JS_COMMA_NOT_ALLOWED_USERS'));
+				firstNameEle.val(firstNameOldVal);
+			}
+		});
+		jQuery('[name="last_name"]',form).on('change',function(e){
+			var lastNameEle = jQuery(e.currentTarget);
+			var lastName = lastNameEle.val();
+			var lastNameOldVal = lastNameEle.parent().find('.fieldname').data('prev-value');
+			if(specialChars.test(lastName)) {
+				Vtiger_Helper_Js.showPnotify(app.vtranslate('JS_COMMA_NOT_ALLOWED_USERS'));
+				lastNameEle.val(lastNameOldVal);
+			}
+		});
+	}
 },{
 
 	registerNameFieldChangeEvent: function () {
diff --git a/layouts/v7/modules/Vtiger/resources/Detail.js b/layouts/v7/modules/Vtiger/resources/Detail.js
index e9087bb42..50e9ff09f 100644
--- a/layouts/v7/modules/Vtiger/resources/Detail.js
+++ b/layouts/v7/modules/Vtiger/resources/Detail.js
@@ -1294,7 +1294,7 @@ Vtiger.Class("Vtiger_Detail_Js",{
 					'ignore' : 'span.hide .inputElement,input[type="hidden"]',
 					submitHandler : function(form){
 						var preAjaxSaveEvent = jQuery.Event(Vtiger_Detail_Js.PreAjaxSaveEvent);
-						app.event.trigger(preAjaxSaveEvent,{form:jQuery(form),tiggeredFiledInfo:fieldNameValueMap});
+						app.event.trigger(preAjaxSaveEvent,{form:jQuery(form),triggeredFieldInfo:fieldNameValueMap});
 						if(preAjaxSaveEvent.isDefaultPrevented()) {
 							return false;
 						}
diff --git a/modules/Migration/schema/660_to_700.php b/modules/Migration/schema/660_to_700.php
index be6c22d2d..37938e38e 100644
--- a/modules/Migration/schema/660_to_700.php
+++ b/modules/Migration/schema/660_to_700.php
@@ -31,6 +31,8 @@ if(defined('VTIGER_UPGRADE')) {
 	$db->pquery('UPDATE vtiger_links SET linktype=? WHERE linklabel=?', array('DETAILVIEW', 'LBL_SHOW_ACCOUNT_HIERARCHY'));
 	$db->pquery('UPDATE vtiger_field SET defaultvalue=? WHERE fieldname=?', array('1', 'discontinued'));
 	$db->pquery('UPDATE vtiger_field SET typeofdata=? WHERE fieldname IN (?, ?)', array('DT~O', 'createdtime', 'modifiedtime'));
+	$db->pquery('UPDATE vtiger_field SET defaultvalue=? WHERE fieldname=?', array('.','currency_decimal_separator'));
+	$db->pquery('UPDATE vtiger_field SET defaultvalue=? WHERE fieldname=?', array(',','currency_grouping_separator'));
 
 	$lineItemModules = array('Products' => 'vtiger_products', 'Services' => 'vtiger_service');
 	foreach ($lineItemModules as $moduleName => $tableName) {
-- 
GitLab