From a6c2500d9fc3e20291ac68919cfb1c49febd784a Mon Sep 17 00:00:00 2001
From: satish <satish.dvnk@vtiger.com>
Date: Tue, 6 Sep 2016 17:58:49 +0530
Subject: [PATCH] #293 - Products and Services: multi-currencies "disabled
 current currency" is always saved

---
 languages/de_de/Vtiger.php                    |  7 +++---
 languages/en_gb/Vtiger.php                    |  7 +++---
 languages/en_us/Vtiger.php                    |  1 +
 languages/es_es/Vtiger.php                    |  5 +++--
 languages/es_mx/Vtiger.php                    |  3 ++-
 languages/fr_fr/Vtiger.php                    |  9 ++++----
 languages/hu_hu/Vtiger.php                    |  7 +++---
 languages/it_it/Vtiger.php                    |  8 +++----
 languages/nl_nl/Vtiger.php                    |  7 +++---
 languages/pl_pl/Vtiger.php                    |  5 +++--
 languages/pt_br/Vtiger.php                    |  9 ++++----
 languages/ro_ro/Vtiger.php                    |  7 +++---
 languages/ru_ru/Vtiger.php                    |  5 +++--
 languages/tr_tr/Vtiger.php                    |  5 +++--
 .../modules/Products/MoreCurrenciesList.tpl   |  2 +-
 .../modules/Products/resources/Edit.js        | 22 ++++++++++++++-----
 .../Arabic_ar_ae/modules/Vtiger.php           |  7 +++---
 .../Sweden_sv_se/modules/Vtiger.php           |  3 ++-
 18 files changed, 71 insertions(+), 48 deletions(-)

diff --git a/languages/de_de/Vtiger.php b/languages/de_de/Vtiger.php
index a359b0ddf..fa5fcc762 100644
--- a/languages/de_de/Vtiger.php
+++ b/languages/de_de/Vtiger.php
@@ -720,8 +720,7 @@ $jsLanguageStrings = array(
 	'JS_PBX_OUTGOING_FAILURE'=>'Anruf fehlgeschlagen',
 	'JS_PBX_FILL_ALL_FIELDS'=>'Bitte füllen Sie alle Felder',
 	// ends
-    
-           //Edit view mode Translations
-        'JS_CHANGES_WILL_BE_LOST' => 'Ihre Änderungen gehen verloren!',
-    
+	//Edit view mode Translations
+	'JS_CHANGES_WILL_BE_LOST' => 'Ihre Änderungen gehen verloren!',
+	'JS_BASE_CURRENCY_CHANGED_TO_DISABLE_CURRENCY' => 'Basiswährung muss geändert werden, um zu deaktivieren',
 );
\ No newline at end of file
diff --git a/languages/en_gb/Vtiger.php b/languages/en_gb/Vtiger.php
index 96058301a..5d8259718 100644
--- a/languages/en_gb/Vtiger.php
+++ b/languages/en_gb/Vtiger.php
@@ -725,7 +725,8 @@ $jsLanguageStrings = array(
 	'JS_PBX_OUTGOING_FAILURE'=>'Call Failed',
 	'JS_PBX_FILL_ALL_FIELDS'=>'Please fill all the fields',
 	// ends
-    
-    //Edit view mode Translations
-        'JS_CHANGES_WILL_BE_LOST' => 'Your Changes Will Be Lost!',
+
+	//Edit view mode Translations
+	'JS_CHANGES_WILL_BE_LOST' => 'Your Changes Will Be Lost!',
+	'JS_BASE_CURRENCY_CHANGED_TO_DISABLE_CURRENCY' => 'Base Currency has to be changed to disable ',
 );
\ No newline at end of file
diff --git a/languages/en_us/Vtiger.php b/languages/en_us/Vtiger.php
index 902afa0d8..30d47c7c2 100644
--- a/languages/en_us/Vtiger.php
+++ b/languages/en_us/Vtiger.php
@@ -728,6 +728,7 @@ $jsLanguageStrings = array(
 	'JS_PLEASE_SELECT_ATLEAST_ONE_MANDATORY_FIELD' => 'Please select at least one Mandatory Field',
 	'JS_PLEASE_SELECT_ATLEAST_ONE_OPTION' => 'Please select at least one option',
 	'JS_PLEASE_SELECT_BASE_CURRENCY_FOR_PRODUCT' => 'Please select base currency for product',
+	'JS_BASE_CURRENCY_CHANGED_TO_DISABLE_CURRENCY' => 'Base Currency has to be changed to disable ',
 	'JS_PLEASE_SELECT_ONE_FIELD_FOR_MERGE' => 'Select at least one field for merge criteria',
 	'JS_PLEASE_SELECT_ONE_RECORD' => 'Please select at least one record',
 	'JS_PLEASE_SPLIT_FILE_AND_IMPORT_AGAIN' => 'Please split the file into smaller files and import again.',
diff --git a/languages/es_es/Vtiger.php b/languages/es_es/Vtiger.php
index c6c78d8b7..847cae882 100644
--- a/languages/es_es/Vtiger.php
+++ b/languages/es_es/Vtiger.php
@@ -761,5 +761,6 @@ $jsLanguageStrings = array(
 	// ends
     
     //Edit view mode Translations
-        'JS_CHANGES_WILL_BE_LOST' => 'Sus cambios se perderán!',
-);
+	'JS_CHANGES_WILL_BE_LOST' => 'Sus cambios se perderán!',
+	'JS_BASE_CURRENCY_CHANGED_TO_DISABLE_CURRENCY' => 'Moneda base tiene que ser cambiado para desactivar',
+);
\ No newline at end of file
diff --git a/languages/es_mx/Vtiger.php b/languages/es_mx/Vtiger.php
index 1176757c4..71e07856c 100644
--- a/languages/es_mx/Vtiger.php
+++ b/languages/es_mx/Vtiger.php
@@ -722,4 +722,5 @@ $jsLanguageStrings = array(
 	'JS_PBX_OUTGOING_FAILURE'=>'Llamada fallida',
 	'JS_PBX_FILL_ALL_FIELDS'=>'Por favor rellene todos los campos',
 	// ends
-    );
+	'JS_BASE_CURRENCY_CHANGED_TO_DISABLE_CURRENCY' => 'Moneda base tiene que ser cambiado para desactivar',
+);
\ No newline at end of file
diff --git a/languages/fr_fr/Vtiger.php b/languages/fr_fr/Vtiger.php
index 14d99853f..a20eb5d91 100644
--- a/languages/fr_fr/Vtiger.php
+++ b/languages/fr_fr/Vtiger.php
@@ -722,7 +722,8 @@ $jsLanguageStrings = array(
 	'JS_PBX_OUTGOING_FAILURE'=>"Échec de l'appel",
 	'JS_PBX_FILL_ALL_FIELDS'=>"S'il vous plaît remplir tous les champs",
 	// ends
-        
-     //Edit view mode Translations
-        'JS_CHANGES_WILL_BE_LOST' => 'Vos modifications seront perdues!',
-);
\ No newline at end of file
+
+	//Edit view mode Translations
+	'JS_CHANGES_WILL_BE_LOST' => 'Vos modifications seront perdues!',
+	'JS_BASE_CURRENCY_CHANGED_TO_DISABLE_CURRENCY' => 'Devise de base doit être modifié pour désactiver',
+);
diff --git a/languages/hu_hu/Vtiger.php b/languages/hu_hu/Vtiger.php
index 33c1c2282..8ec7cb80c 100644
--- a/languages/hu_hu/Vtiger.php
+++ b/languages/hu_hu/Vtiger.php
@@ -758,6 +758,7 @@ $jsLanguageStrings = array(
 	'JS_PLEASE_SELECT_ATLEAST_ONE_MANDATORY_FIELD' => 'Kérjük,hogy legalább egy Kötelező mezőt válasszon ki',
 	'JS_PLEASE_SELECT_ATLEAST_ONE_OPTION' => 'Kérjük,hogy legalább egy lehetőséget válasszon ki',
 	'JS_PLEASE_SELECT_BASE_CURRENCY_FOR_PRODUCT' => 'Kérjük,hogy válasszon alap pénznemet a termékekhez',	
+	'JS_BASE_CURRENCY_CHANGED_TO_DISABLE_CURRENCY' => 'Bázisvaluta meg kell változtatni, hogy tiltsa',
 	'JS_PLEASE_SELECT_ONE_FIELD_FOR_MERGE' => 'Kérjük,hogy legalább egy mezőt válasszon ki az egyesítés feltételei végett',
 	'JS_PLEASE_SELECT_ONE_RECORD'  => 'Kérjük,hogy legalább egy rekordot válasszon ki',
 	'JS_PLEASE_SPLIT_FILE_AND_IMPORT_AGAIN' => 'Kérjük,hogy szeletelje fel a fájlt kisebb részekre,majd importálja újból.',
@@ -808,7 +809,7 @@ $jsLanguageStrings = array(
 	'SHOULD_BE_LESS_THAN_TODAY'    => 'Ennek a mai nap előttinek kell lennie',
 	'SINGLE_Accounts'              => 'Szervezet'                   ,
 	'SINGLE_Contacts'              => 'Kapcsolat'                   ,
-     
-//Edit view mode Translations
-        'JS_CHANGES_WILL_BE_LOST' => 'A változtatások elvesznek!',
+
+	//Edit view mode Translations
+	'JS_CHANGES_WILL_BE_LOST' => 'A változtatások elvesznek!',
 );
\ No newline at end of file
diff --git a/languages/it_it/Vtiger.php b/languages/it_it/Vtiger.php
index 7e2ddd83d..78586097b 100644
--- a/languages/it_it/Vtiger.php
+++ b/languages/it_it/Vtiger.php
@@ -722,8 +722,8 @@ $jsLanguageStrings = array(
 	'JS_PBX_OUTGOING_FAILURE'=>'Chiamata non riuscita',
 	'JS_PBX_FILL_ALL_FIELDS'=>'Si prega di compilare tutti i campi',
 	// ends
-        // 
-     //Edit view mode Translations
-        'JS_CHANGES_WILL_BE_LOST' => 'Le tue modifiche saranno perse!',
-	
+
+	//Edit view mode Translations
+	'JS_CHANGES_WILL_BE_LOST' => 'Le tue modifiche saranno perse!',
+	'JS_BASE_CURRENCY_CHANGED_TO_DISABLE_CURRENCY' => 'Valuta di base deve essere cambiato per disabilitare',
 );
diff --git a/languages/nl_nl/Vtiger.php b/languages/nl_nl/Vtiger.php
index 7c30c9ec7..1bb48b0b2 100644
--- a/languages/nl_nl/Vtiger.php
+++ b/languages/nl_nl/Vtiger.php
@@ -714,7 +714,8 @@ $jsLanguageStrings = array(
 	'JS_PBX_OUTGOING_FAILURE'=>'Bel mislukt',
 	'JS_PBX_FILL_ALL_FIELDS'=>'Gelieve alle velden in te vullen',
 	// ends
-        // 
-     //Edit view mode Translations
-        'JS_CHANGES_WILL_BE_LOST' => 'Uw wijzigingen zullen verloren gaan!',
+
+	//Edit view mode Translations
+	'JS_CHANGES_WILL_BE_LOST' => 'Uw wijzigingen zullen verloren gaan!',
+	'JS_BASE_CURRENCY_CHANGED_TO_DISABLE_CURRENCY' => 'Basisvaluta moet worden gewijzigd om uit te schakelen',
 );
diff --git a/languages/pl_pl/Vtiger.php b/languages/pl_pl/Vtiger.php
index 2ad832845..f19bcf881 100644
--- a/languages/pl_pl/Vtiger.php
+++ b/languages/pl_pl/Vtiger.php
@@ -628,7 +628,7 @@ $languageStrings = array(
     'LBL_MERGE'                    => 'Łączyć',
     
     	'LBL_CONVERSION_RATE'          => 'Conversion Rate', //TOreview
-	
+
 );
 
 $jsLanguageStrings = array(
@@ -722,4 +722,5 @@ $jsLanguageStrings = array(
 	'JS_PBX_OUTGOING_FAILURE'=>'Połączenie nie powiodło się',
 	'JS_PBX_FILL_ALL_FIELDS'=>'Proszę wypełnić wszystkie pola',
 	// ends	
-	);
+	'JS_BASE_CURRENCY_CHANGED_TO_DISABLE_CURRENCY' => 'Waluta bazowa musi zostać zmieniony, aby wyłączyć',
+);
\ No newline at end of file
diff --git a/languages/pt_br/Vtiger.php b/languages/pt_br/Vtiger.php
index 14efb3069..b24ca7a44 100644
--- a/languages/pt_br/Vtiger.php
+++ b/languages/pt_br/Vtiger.php
@@ -720,7 +720,8 @@ $jsLanguageStrings = array(
 	'JS_PBX_OUTGOING_FAILURE'=>'Ligação Perdida',
 	'JS_PBX_FILL_ALL_FIELDS'=>'Por favor, preencha todos os campos',
 	// ends
-    
-     //Edit view mode Translations
-        'JS_CHANGES_WILL_BE_LOST' => 'Suas alterações serão perdidas!',
-);
\ No newline at end of file
+
+	//Edit view mode Translations
+	'JS_CHANGES_WILL_BE_LOST' => 'Suas alterações serão perdidas!',
+	'JS_BASE_CURRENCY_CHANGED_TO_DISABLE_CURRENCY' => 'Moeda Base tem que ser mudado para desativar',
+);
diff --git a/languages/ro_ro/Vtiger.php b/languages/ro_ro/Vtiger.php
index a2fb64561..de3b72217 100644
--- a/languages/ro_ro/Vtiger.php
+++ b/languages/ro_ro/Vtiger.php
@@ -722,7 +722,8 @@ $jsLanguageStrings = array(
 	'JS_PBX_OUTGOING_FAILURE'=>'Suna a eșuat',
 	'JS_PBX_FILL_ALL_FIELDS'=>'Vă rugăm să completați toate câmpurile',
 	// ends
-    
-    //Edit view mode Translations
-        'JS_CHANGES_WILL_BE_LOST' => 'Modificările dvs. se vor pierde!',
+
+	//Edit view mode Translations
+	'JS_CHANGES_WILL_BE_LOST' => 'Modificările dvs. se vor pierde!',
+	'JS_BASE_CURRENCY_CHANGED_TO_DISABLE_CURRENCY' => 'Moneda de bază trebuie să fie schimbat pentru a dezactiva',
 );
diff --git a/languages/ru_ru/Vtiger.php b/languages/ru_ru/Vtiger.php
index cfd3b1214..44e2b9f72 100644
--- a/languages/ru_ru/Vtiger.php
+++ b/languages/ru_ru/Vtiger.php
@@ -762,7 +762,8 @@ $jsLanguageStrings = array(
     'LBL_SMS_MAX_CHARACTERS_ALLOWED' => 'Максимальные 160 символов разрешено для текстового сообщения',
     'JS_VIEWNAME_ALERT' => 'Максимум 40 символов разрешены для имени фильтра',
 	'JS_FUTURE_EVENT_CANNOT_BE_HELD' => 'Не может нести за будущее',
-    
+
     //Edit view mode Translations
-        'JS_CHANGES_WILL_BE_LOST' => 'Ваши изменения будут потеряны!',
+	'JS_CHANGES_WILL_BE_LOST' => 'Ваши изменения будут потеряны!',
+	'JS_BASE_CURRENCY_CHANGED_TO_DISABLE_CURRENCY' => 'Базовая валюта должна быть изменена, чтобы отключить',
 );
diff --git a/languages/tr_tr/Vtiger.php b/languages/tr_tr/Vtiger.php
index faa5d17a0..87984d30e 100644
--- a/languages/tr_tr/Vtiger.php
+++ b/languages/tr_tr/Vtiger.php
@@ -720,7 +720,8 @@ $jsLanguageStrings = array(
 	'JS_PBX_OUTGOING_FAILURE'=>'Çağrı Başarısız',
 	'JS_PBX_FILL_ALL_FIELDS'=>'Tüm alanları doldurunuz',
 	// ends
-    
+
     //Edit view mode Translations
-        'JS_CHANGES_WILL_BE_LOST' => 'Sizin Değişiklikler Kayıp Will Be!',
+	'JS_CHANGES_WILL_BE_LOST' => 'Sizin Değişiklikler Kayıp Will Be!',
+	'JS_BASE_CURRENCY_CHANGED_TO_DISABLE_CURRENCY' => 'Baz Döviz devre dışı bırakmak için değiştirilmelidir',
 );
\ No newline at end of file
diff --git a/layouts/vlayout/modules/Products/MoreCurrenciesList.tpl b/layouts/vlayout/modules/Products/MoreCurrenciesList.tpl
index 043bfc869..23d573b20 100644
--- a/layouts/vlayout/modules/Products/MoreCurrenciesList.tpl
+++ b/layouts/vlayout/modules/Products/MoreCurrenciesList.tpl
@@ -44,7 +44,7 @@
 						<td>
 							<span class="row-fluid">
 								<span class="span8 alignBottom">
-									<span class="pull-left">{$price.currencylabel|@getTranslatedCurrencyString} ({$price.currencysymbol})</span>
+									<span class="pull-left currencyName">{$price.currencylabel|@getTranslatedCurrencyString} ({$price.currencysymbol})</span>
 								</span>
 								<span class="span2"><input type="checkbox" name="cur_{$price.curid}_check" id="cur_{$price.curid}_check" class="small pull-right enableCurrency" {$check_value}></span>
 							</span>
diff --git a/layouts/vlayout/modules/Products/resources/Edit.js b/layouts/vlayout/modules/Products/resources/Edit.js
index 36c39fd3a..e18aa368a 100644
--- a/layouts/vlayout/modules/Products/resources/Edit.js
+++ b/layouts/vlayout/modules/Products/resources/Edit.js
@@ -179,13 +179,21 @@ Vtiger_Edit_Js("Products_Edit_Js",{
 				var calculatedPrice = price.toString().replace('.',unitPriceFieldData.decimalSeparator);
 				jQuery('input.convertedPrice',parentRow).val(calculatedPrice)
 			}else{
+				var baseCurrency = jQuery('.baseCurrency', parentRow);
+				if (baseCurrency.is(':checked')) {
+					var currencyName = jQuery('.currencyName', parentRow).text();
+					var params = {
+									'type' : 'error',
+									'title': app.vtranslate('JS_ERROR'),
+									'text' : app.vtranslate('JS_BASE_CURRENCY_CHANGED_TO_DISABLE_CURRENCY') + '"' + currencyName + '"'
+								};
+					Vtiger_Helper_Js.showPnotify(params);
+					elem.prop('checked', true);
+					return;
+				}
 				jQuery('input',parentRow).attr('disabled', true);
 				jQuery('input.enableCurrency',parentRow).removeAttr('disabled');
 				jQuery('button.currencyReset', parentRow).attr('disabled', 'disabled');
-				var baseCurrency = jQuery('.baseCurrency', parentRow);
-				if(baseCurrency.is(':checked')){
-					baseCurrency.removeAttr('checked');
-				}
 			}
 		})
 		return this;
@@ -256,8 +264,10 @@ Vtiger_Edit_Js("Products_Edit_Js",{
 						var multiCurrencyEditUI = jQuery('.multiCurrencyEditUI');
 						thisInstance.multiCurrencyContainer = multiCurrencyEditUI;
                         thisInstance.calculateConversionRate();
-						thisInstance.registerEventForEnableCurrency().registerEventForEnableBaseCurrency()
-											.registerEventForResetCurrency().triggerForBaseCurrencyCalc();
+						thisInstance.registerEventForEnableCurrency();
+						thisInstance.registerEventForEnableBaseCurrency();
+						thisInstance.registerEventForResetCurrency();
+						thisInstance.triggerForBaseCurrencyCalc();
 					}
                     var moreCurrenciesContainer = jQuery('#moreCurrenciesContainer').find('.multiCurrencyEditUI');
 					var contentInsideForm = moreCurrenciesUi.find('.multiCurrencyContainer').html();
diff --git a/pkg/vtiger/translations/Arabic_ar_ae/modules/Vtiger.php b/pkg/vtiger/translations/Arabic_ar_ae/modules/Vtiger.php
index 5fd18924d..0cee9313f 100644
--- a/pkg/vtiger/translations/Arabic_ar_ae/modules/Vtiger.php
+++ b/pkg/vtiger/translations/Arabic_ar_ae/modules/Vtiger.php
@@ -961,7 +961,8 @@ $jsLanguageStrings = array(
     'JS_PBX_OUTGOING_FAILURE'=>'استدعاء فشل',
     'JS_PBX_FILL_ALL_FIELDS'=>'يرجى ملء جميع الحقول',
     // ends
-    
-    //No Tax exist 
-    'JS_LBL_NO_TAXES'=>'لا الضرائب', 
+
+	//No Tax exist 
+	'JS_LBL_NO_TAXES'=>'لا الضرائب',
+	'JS_BASE_CURRENCY_CHANGED_TO_DISABLE_CURRENCY' => 'لابد من تغيير لتعطيل العملة الأساسية',
 );
diff --git a/pkg/vtiger/translations/Sweden_sv_se/modules/Vtiger.php b/pkg/vtiger/translations/Sweden_sv_se/modules/Vtiger.php
index e64d25e30..6daf601a1 100755
--- a/pkg/vtiger/translations/Sweden_sv_se/modules/Vtiger.php
+++ b/pkg/vtiger/translations/Sweden_sv_se/modules/Vtiger.php
@@ -936,6 +936,7 @@ $jsLanguageStrings = array(
 	//More currencies message
 	'JS_PLEASE_ENABLE_BASE_CURRENCY_FOR_PRODUCT' => 'Vänligen aktivera basvaluta för produkt',
 	'JS_PLEASE_SELECT_BASE_CURRENCY_FOR_PRODUCT' => 'Vänligen aktivera basvaluta för produkt',
+	'JS_BASE_CURRENCY_CHANGED_TO_DISABLE_CURRENCY' => 'Basvaluta måste ändras för att inaktivera',
 	
 	//Delete Records message
 	'JS_RECORDS_ARE_GETTING_DELETED' => 'Poster håller på att Raderas',
@@ -994,4 +995,4 @@ $jsLanguageStrings = array(
      
     //No Tax exist 
     'JS_LBL_NO_TAXES'=>'Inga skatter', 
-);
+);
\ No newline at end of file
-- 
GitLab