diff --git a/htdocs/compta/paiement.php b/htdocs/compta/paiement.php index 4498c265786..54670e67a3f 100644 --- a/htdocs/compta/paiement.php +++ b/htdocs/compta/paiement.php @@ -252,92 +252,106 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie if (! empty($conf->global->PAYPAL_BANK_ACCOUNT)) $accountid=$conf->global->PAYPAL_BANK_ACCOUNT; $paymentnum=$facture->ref_int; } - if ($conf->use_javascript_ajax && !empty($conf->global->MAIN_JS_ON_PAYMENT)) - { - print "\n".''."\n"; - } + else + { + $(\'.fieldrequireddyn\').removeClass(\'fieldrequired\'); + $(\'#fieldchqemetteur\').val(\'\'); + } + }'; + // For paiement auto-completion + if (! empty($conf->global->MAIN_JS_ON_PAYMENT)) + { + print "\n".' + function elemToJson(selector) + { + var subJson = {}; + $.map(selector.serializeArray(), function(n,i) + { + subJson[n["name"]] = n["value"]; + }); + return subJson; + } + function callForResult(imgId) + { + var json = {}; + var form = $("#payment_form"); + + json["amountPayment"] = $("#amountpayment").attr("value"); + json["amounts"] = elemToJson(form.find("input[name*=\"amount_\"]")); + json["remains"] = elemToJson(form.find("input[name*=\"remain_\"]")); + + if (imgId != null) { + json["imgClicked"] = imgId; + } + + $.post("ajaxpayment.php", json, function(data) + { + json = $.parseJSON(data); + + form.data(json); + + for (var key in json) + { + if (key == "result") { + if (json["makeRed"]) { + $("#"+key).css("color", "red"); + } else { + $("#"+key).removeAttr("style"); + } + json[key]=json["label"]+" "+json[key]; + $("#"+key).text(json[key]); + } else { + form.find("input[name*=\""+key+"\"]").each(function() { + $(this).attr("value", json[key]); + }); + } + } + }); + } + function callToBreakdown(imgSelector) { + var form = $("#payment_form"), imgId; + + imgId = imgSelector.attr("id"); + callForResult(imgId); + } + + $("#payment_form").find("img").click(function() { + callToBreakdown(jQuery(this)); + }); + + $("#payment_form").find("input[name*=\"amount_\"]").change(function() { + callForResult(); + }); + + $("#amountpayment").change(function() { + callForResult(); + });'; + } + print '}); + '."\n"; + } print '
'; print ''; diff --git a/htdocs/core/class/translate.class.php b/htdocs/core/class/translate.class.php index a9fe00d0ebf..4955123056f 100644 --- a/htdocs/core/class/translate.class.php +++ b/htdocs/core/class/translate.class.php @@ -246,7 +246,7 @@ class Translate { $tab=explode('=',$line,2); $key=trim($tab[0]); //print "Domain=$domain, found a string for $tab[0] with value $tab[1]
"; - if (empty($this->tab_translate[$key]) && isset($tab[1])) // If data was already found, we must not enter here, even if MAIN_FORCELANGDIR is set (MAIN_FORCELANGDIR is to replace lang dir, not to overwrite) + if ((! empty($conf->global->MAIN_USE_CUSTOM_TRANSLATION) || empty($this->tab_translate[$key])) && isset($tab[1])) // If data was already found, we must not enter here, even if MAIN_FORCELANGDIR is set (MAIN_FORCELANGDIR is to replace lang dir, not to overwrite) { $value=trim(preg_replace('/\\n/',"\n",$tab[1])); @@ -288,7 +288,7 @@ class Translate { $size=dol_setcache($usecachekey,$tabtranslatedomain); } - if (empty($conf->global->MAIN_FORCELANGDIR)) break; // Break loop on each root dir. If a module has forced dir, we do not stop loop. + if (empty($conf->global->MAIN_FORCELANGDIR) && empty($conf->global->MAIN_USE_CUSTOM_TRANSLATION)) break; // Break loop on each root dir. If a module has forced dir, we do not stop loop. } } }