359 lines
16 KiB
XML
359 lines
16 KiB
XML
<metal:block use-macro="main_template">
|
|
<div metal:fill-slot="content">
|
|
|
|
<div class="row">
|
|
<form id="change-eleve-details-form" class="form-horizontal container-fluid" action="${url}" method="post" tal:condition="eleve"
|
|
data-fv-framework="bootstrap"
|
|
data-fv-icon-valid="glyphicon glyphicon-ok"
|
|
data-fv-icon-invalid="glyphicon glyphicon-remove"
|
|
data-fv-icon-validating="glyphicon glyphicon-refresh">
|
|
|
|
<div class="form-group">
|
|
<label class="col-md-3 control-label" for="DATE">Date : </label>
|
|
<div class="col-md-6">
|
|
<input class="form-control" type="text" tal:attributes="readonly iseditable==False and 'readonly' or None" id="DATE" name="DATE" value="${date_debit}" placeholder="JJ/MM/AAAA"
|
|
data-fv-date="true"
|
|
data-fv-date-format="DD/MM/YYYY"
|
|
data-fv-date-message="La date n'est pas valide (JJ/MM/AAAA)" />
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="control-label col-md-3" for="REF">Reference : </label>
|
|
<div class="col-md-6">
|
|
<select class="form-control reference" tal:attributes="readonly iseditable2==False and 'readonly' or None" >
|
|
<div tal:repeat="item reference">
|
|
<option value="${item}" tal:attributes="selected compte.REF == item.REF and 'selected' or None">${item.LIB}</option>
|
|
</div>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<div class="col-md-6 col-md-offset-3">
|
|
<input class="form-control" type="text" tal:attributes="readonly iseditable2==False and 'readonly' or None" id="INTITULE" name="INTITULE" value="${compte.INTITULE}"
|
|
placeholder="40 caractères maximum"
|
|
data-fv-stringlength="true"
|
|
data-fv-notempty="true"
|
|
data-fv-notempty-message="Intitule est obligatoire" />
|
|
</div>
|
|
<input class="form-control" type="hidden" id="REF" name="REF" value="${compte.REF}"
|
|
placeholder="40 caractères maximum"
|
|
data-fv-stringlength="true"
|
|
data-fv-notempty="true"
|
|
data-fv-notempty-message="Intitule est obligatoire" />
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<div class="form-group " >
|
|
<label class="control-label col-md-6 hidden-xs hidden-sm" style="margin-top:25px;"></label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-md-6" for="QTE">Quantité</label>
|
|
<div class="col-md-6">
|
|
<div class="input-group">
|
|
<input class="form-control" type="text" tal:attributes="readonly iseditable2==False or iseditable==False and 'readonly' or None"
|
|
data-fv-stringlength="true"
|
|
data-fv-stringlength-max="20"
|
|
data-fv-stringlength-message="20 caractères maximum"
|
|
data-fv-notempty="true"
|
|
data-fv-notempty-message="Montant obligatoire"
|
|
id="QTE" name="QTE" value="${compte.QTE}"
|
|
/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-md-6" for="DEBIT">Montant</label>
|
|
<div class="col-md-6">
|
|
<div class="input-group">
|
|
<input class="form-control" type="text" tal:attributes="readonly iseditable==False and 'readonly' or None"
|
|
data-fv-stringlength="true"
|
|
data-fv-stringlength-max="20"
|
|
data-fv-stringlength-message="20 caractères maximum"
|
|
data-fv-notempty="true"
|
|
data-fv-notempty-message="Montant obligatoire"
|
|
id="DEBIT" name="DEBIT" value="${compte.DEBIT}"
|
|
/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-5">
|
|
<div class="form-group">
|
|
<label class="control-label col-md-6"> Heure de conduite : </label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-md-6" for="HEURE"> Heure : </label>
|
|
<div class="col-md-6">
|
|
<div class="input-group">
|
|
<input class="form-control " type="text" id="HEURE" name="HEURE" value="${compte.HEURE}" readonly />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-md-6" for="STATUT">Statut : </label>
|
|
<div class="col-md-6">
|
|
<div class="input-group">
|
|
<input class="form-control" type="text" id="STATUT" name="STATUT" value="${compte.STATUT}" readonly/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-md-8" for="STATUT">A confirmer avant le : </label>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="control-label col-md-3" for="LIEU_RDV">Lieu rendez-vous :</label>
|
|
<div class="col-md-6">
|
|
<input class="form-control" type="text" id="LIEU_RDV" name="LIEU_RDV" value="${compte.LIEU_RDV}" disabled/>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row" tal:condition="int(code)>=9">
|
|
<div class="form-group">
|
|
<label class="control-label col-md-6">Comptabilisation </label>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label class="control-label col-md-6" for="DATE_VALEUR"> Date de valeur : </label>
|
|
<div class="col-md-6">
|
|
<div class="input-group">
|
|
<input class="form-control" type="text" id="DATE_VALEUR" name="DATE_VALEUR" value="${date_valeur}"
|
|
data-fv-date="true"
|
|
data-fv-date-format="DD/MM/YYYY"
|
|
data-fv-date-message="La date n'est pas valide (JJ/MM/AAAA)" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-md-6" for="MTVAL">Montant valeur : </label>
|
|
<div class="col-md-6">
|
|
<div class="input-group">
|
|
<input class="form-control" type="text" id="MTVAL" name="MTVAL" value="${compte.MTVAL}"
|
|
data-fv-stringlength="true"
|
|
data-fv-stringlength-max="40"
|
|
data-fv-stringlength-message="40 caractères maximum"
|
|
data-fv-notempty="true"
|
|
data-fv-notempty-message="" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-md-6" for="COMPTE">Compte : </label>
|
|
<div class="col-md-6">
|
|
<div class="input-group">
|
|
<input class="form-control" type="text" id="COMPTE" name="COMPTE" value="${compte.COMPTE}"
|
|
data-fv-stringlength="true"
|
|
data-fv-stringlength-max="40"
|
|
data-fv-stringlength-message="40 caractères maximum"
|
|
data-fv-notempty="true"
|
|
data-fv-notempty-message="" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-2">
|
|
<div class="form-group">
|
|
<label class="control-label col-md-6 hidden-xs hidden-sm" style="margin-top:25px;"></label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-md-6" id="CTVA_LABELLE" >TVA : ${compte.CTVA}</label>
|
|
<input type="hidden" name="CTVA" id="CTVA" value="${compte.CTVA}" />
|
|
</div>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<div class="form-group">
|
|
<label class="control-label col-md-6 hidden-xs hidden-sm" style="margin-top:5px;"></label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-md-6" > Exporté le : ${date_exporte}</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-md-6">No Chrono : ${compte.no_chrono}</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<br/>
|
|
|
|
<div class="row" tal:condition="int(code) < 9">
|
|
<input class="form-control" type="hidden" id="DATE_VALEUR_HIDDEN" name="DATE_VALEUR" value="${date_valeur}"/>
|
|
<input class="form-control" type="hidden" id="MTVAL_HIDDEN" name="MTVAL" value="${compte.MTVAL}"/>
|
|
<input class="form-control" type="hidden" id="COMPTE_HIDDEN" name="COMPTE" value="${compte.COMPTE}"/>
|
|
<input type="hidden" name="CTVA" id="CTVA_HIDDEN" value="${compte.CTVA}" />
|
|
</div>
|
|
<br/>
|
|
<!-- modal -->
|
|
<div class="modal fade" id="deleteItem" tabindex="-1" role="dialog" aria-labelledby="modalLabel" aria-hidden="true">
|
|
<div class="modal-dialog" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
<span aria-hidden="true">×</span>
|
|
</button>
|
|
<h4 class="modal-title" id="modalLabel">Suppression</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
Confirmez-vous la suppression de cet element ?
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="submit" class="btn btn-secondary" data-dismiss="modal">Fermer</button>
|
|
<button type="submit" class="btn btn-danger" name="form.deleted" tal:condition="no_ligne != 0 and isDeltable == True" >Supprimer</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- modal -->
|
|
<div class="modal fade" id="deleteItem" tabindex="-1" role="dialog" aria-labelledby="modalLabel" aria-hidden="true">
|
|
<div class="modal-dialog" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
<span aria-hidden="true">×</span>
|
|
</button>
|
|
<h4 class="modal-title" id="modalLabel">Suppression</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
Confirmez-vous la suppression de cet element ?
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="submit" class="btn btn-secondary" data-dismiss="modal">Fermer</button>
|
|
<button type="submit" class="btn btn-danger" name="form.deleted" tal:condition="no_ligne != 0 and isDeltable == True" >Supprimer</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<div class="col-md-offset-4 col-md-5">
|
|
<button class="btn btn-danger" tal:condition="no_ligne != 0 and isDeltable == True" type="button" data-toggle="modal" data-target="#deleteItem">
|
|
<span class="glyphicon glyphicon-trash"></span> Supprimer</button>
|
|
<a class="btn btn-default" tal:condition="eleve.CD_CLI != 0" href="${request.application_url}/fiche_eleve/${eleve.CD_CLI}#compte">
|
|
<span class="glyphicon glyphicon-chevron-left"></span> Annuler</a>
|
|
<a class="btn btn-default" tal:condition="eleve.CD_CLI == 0" href="${request.application_url}/eleves">
|
|
<span class="glyphicon glyphicon-chevron-left"></span> Annuler</a>
|
|
<button class="btn btn-primary" tal:condition="ismodifiable == True" type="submit" name="form.submitted">
|
|
<span class="glyphicon glyphicon-ok" ></span> Enregistrer</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div> <!-- row -->
|
|
<br />
|
|
<br />
|
|
|
|
<script>
|
|
|
|
$(document).ready(function() {
|
|
|
|
function compareDate(input){
|
|
var today = new Date();
|
|
var replaced = input.replaceAll('/','-')
|
|
var mm = moment(replaced,'DD-MM-YYYY',true)
|
|
if(mm.isValid()){
|
|
return true;
|
|
}
|
|
else{
|
|
return false
|
|
}
|
|
}
|
|
|
|
function validateHhMm(value) {
|
|
var isValid = /^([0-1]?[0-9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?$/.test(value);
|
|
return isValid;
|
|
}
|
|
|
|
$('select.reference').on('change',function(){
|
|
var json_data = this.value.toString().replaceAll("'",'"')
|
|
var data = JSON.parse(json_data);
|
|
$('#REF').val(data['REF']);
|
|
$('#INTITULE').val(data['LIB']);
|
|
$('#CTVA').val(data['CTVA']);
|
|
$('#CTVA_HIDDEN').val(data['CTVA']);
|
|
$('#CTVA_LABELLE').text("TVA : "+data['CTVA']);
|
|
$('#COMPTE').val(data['COMPTE']);
|
|
$('#COMPTE_HIDDEN').val(data['COMPTE']);
|
|
var debit = 0 ;
|
|
var montant_valeur = 0;
|
|
var montant = parseFloat(data['PUTTC'])
|
|
var d = new Date();
|
|
var datestring = ("0" + d.getDate()).slice(-2) + "/" + ("0"+(d.getMonth()+1)).slice(-2) + "/" +d.getFullYear()
|
|
if(data['FAM'] === 'F'){
|
|
montant_valeur = 0
|
|
$('#DATE').val(datestring)
|
|
$('#DATE_VALEUR').val(datestring)
|
|
}
|
|
else if(data['FAM'] === 'S'){
|
|
montant_valeur = 0
|
|
$('#DATE').val('')
|
|
$('#DATE_VALEUR').val('')
|
|
}
|
|
else{
|
|
$('#DATE').val(datestring)
|
|
$('#DATE_VALEUR').val(datestring)
|
|
montant_valeur = montant;
|
|
if(data['FAM'] === 'H'){
|
|
$('#STATUT').val(1);
|
|
}
|
|
}
|
|
$('#MTVAL').val(montant_valeur);
|
|
$('#MTVAL_HIDDEN').val(montant_valeur);
|
|
$('#DATE_VALEUR_HIDDEN').val($('#DATE').val());
|
|
$('#DEBIT').val(montant);
|
|
});
|
|
|
|
$('#change-eleve-details-form').formValidation({
|
|
fields: {
|
|
/*DATE: {
|
|
validators: {
|
|
callback: {
|
|
message: 'Date invalidé',
|
|
callback: function(input) {
|
|
return compareDate(input)
|
|
}
|
|
}
|
|
}
|
|
},*/
|
|
HEURE : {
|
|
validators: {
|
|
callback: {
|
|
message: 'Heure invalidé',
|
|
callback: function(input) {
|
|
return validateHhMm(input)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
});
|
|
|
|
|
|
$('#INTITULE').autocomplete({
|
|
source: function (request, response) {
|
|
console.log(request);
|
|
$.ajax({
|
|
url:'/ajax_libelle_regl',
|
|
dataType: 'json',
|
|
data: {
|
|
recherche: request.term,
|
|
},
|
|
success: function (data) {
|
|
response( data );
|
|
},
|
|
});
|
|
},
|
|
minLength: 1,
|
|
});
|
|
|
|
$('form input').on('keypress', function(e) {
|
|
return e.which !== 13;
|
|
});
|
|
});
|
|
</script>
|
|
|
|
</div>
|
|
</metal:block>
|