diff --git a/tipi_payment_plugin/templates/tipi_payment_plugin/tipi.html b/tipi_payment_plugin/templates/tipi_payment_plugin/tipi.html index b10b9c2..11efabc 100644 --- a/tipi_payment_plugin/templates/tipi_payment_plugin/tipi.html +++ b/tipi_payment_plugin/templates/tipi_payment_plugin/tipi.html @@ -15,45 +15,78 @@ function checkpopup() { } function tipi() { - var params = {'refdet': function(value) { - var refdet = value.trim(); - if(isNaN(refdet)) + var params = {'refdet': function(id) { + var idpiece = document.getElementById('idpiece').value.trim(); + var idligne = document.getElementById('idligne').value.trim(); + var exer = params.exer('exer'); + if (!idpiece || isNaN(idpiece)) { + document.getElementById('refdet_error').style.display='inline'; return false; - return refdet; - }, 'montant': function(value) { - var montant = value.trim(); - montant = parseFloat(montant); - if (isNaN(montant) && montant > 9999.99) + } + idpiece = '0000' + idpiece; + + if (!idligne || isNaN(idligne)) { + document.getElementById('refdet_error').style.display='inline'; return false; - return montant*100; - }, 'mel': function(value) { - var mel = value.trim(); + } + idligne = '0' + idligne; + {% if instance.saisie == 'T' %} + return "999900000000999999"; + {% else %} + return exer + idpiece + idligne; + {% endif %} + }, 'montant': function(id) { + var euros = document.getElementById(id + '_euros').value.trim(); + var cents = document.getElementById(id + '_cents').value.trim(); + if (euros && cents) { + if (isNaN(euros) && isNaN(cents)) { + document.getElementById(value + '_error').style.display='inline'; + return false; + } + return (parseInt(euros) + parseInt(cents)/100) * 100; + } + document.getElementById(id + '_error').style.display='inline'; + return false; + }, 'mel': function(id) { + var mel = document.getElementById(id).value.trim(); var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; if(re.test(mel)) return mel; + document.getElementById(id + '_error').style.display='inline'; return false; - }}; - var tipi_url = '{{ instance.url }}?saisie={{ instance.saisie }}&numcli={{ instance.numero_client }}'; + }, 'exer': function(id) { + var exer = document.getElementById(id).value.trim(); + if (isNaN(exer)) { + document.getElementById('refdet_error').style.display='inline'; + return false; + } + {% if instance.saisie == 'T' %} + return "9999"; + {% else %} + return exer; + {% endif %} + }; + var tipi_url = '{{ instance.url }}?saisie={{ instance.saisie }}&numcli=' + document.getElementById('numcli').value; var url_params = '&'; for (var field in params) { - var valid = params[field](document.getElementById(field).value); + var valid = params[field](field); if(!valid) { - document.getElementById(field + '_error').style.display='inline'; return false; } else { - document.getElementById(field + '_error').style.display='none'; + if (document.getElementById(field + '_error')) + document.getElementById(field + '_error').style.display='none'; url_params += field + '=' + valid + '&'; } } - var url = tipi_url + url_params; + var url = tipi_url; + url = tipi_url + url_params; popup = window.open(url, 'tipi', 'height=800, width=900, toolbar=no, menubar=no, scrollbars=no, resizable=yes, location=no, directories=no, status=no'); document.getElementById('wip').style.display='block'; timer = setInterval(checkpopup, 400); return false; } - {% endaddtoblock %} {% addtoblock "css" %} @@ -67,7 +100,7 @@ function tipi() { } #tipi li label { float: left; - width: 10em; + width: 12em; font-weight: bold; } #tipi li label:after { @@ -99,15 +132,26 @@ function tipi() {

{% trans "Paiement en cours..." %}

-