tipi payment form updated

This commit is contained in:
Serghei Mihai 2014-04-07 23:50:39 +02:00
parent bbdf143816
commit a12c2ba864
1 changed files with 67 additions and 23 deletions

View File

@ -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;
}
</script>
{% 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() {
<h3>{% trans "Paiement en cours..." %}</h3>
</div>
<form action='javascript:tipi()' name='tipi'>
<ul>
<ul
<li>
<label>{% trans "Numéro de facture" %}</label>
<input type='text' id='refdet' />
<label>{% trans "Identifiant collectivité" %}</label>
<select name="numcli">
<option value="005955">CAM</option>
<option value="005956">CAM assainissement</option>
<option value="005957">CAM pompes funèbres</option>
</select>
</li>
<li>
<label>{% trans "Réference titre" %}</label>
<input type='text' id='exer' maxlength=4 size=4 />
<input type='text' id='idpiece' maxlength=4 size=4 />
<input type='text' id='idligne' maxlength=5 size=5 />
<span class="error" id="refdet_error">{% trans "numéro invalide" %}</span>
</li>
<li>
<label>{% trans "Montant" %}</label>
<input type='text' id='montant' size="6" maxlength="6" placeholder="0000.00" />
<input type='text' id='montant_euros' size="4" maxlength="4" placeholder="0000" /> ,
<input type='text' id='montant_cents size="2" maxlength="2" placeholder="00" />
<span class="error" id="montant_error">{% trans "montant invalide" %}</span>
</li>
<li>