Files
aem_moniteurs/aem_gestion/templates/parametres/moniteurs_agence.pt
2023-06-22 10:34:18 +02:00

143 lines
4.8 KiB
XML

<metal:block use-macro="main_template">
<div metal:fill-slot="content">
<style>
.redClass{
background-color : #E6E6E6;
color : #9C9C9C !important;
}
</style>
<p>
<a href="${request.application_url}/moniteurs" class="btn btn-default" role="button">
<span class="glyphicon glyphicon-chevron-left"></span> Retour</a>
</p>
<div class="row" style="margin:20px;">
<div class="form-group">
<label class="control-label col-md-1" for="agencefilter">Agence</label>
<div class="col-md-4">
<select class="form-control" id="agencefilter" >
<div tal:repeat="item agences">
<option value="${item.CODE}" tal:attributes="selected agencefilter==item.CODE and 'selected' or None">${item.CODE} | ${item.LIBELLE}</option>
</div>
</select>
</div>
<label class="control-label col-md-1" for="datefilter"> Date </label>
<div class="col-md-4">
<div class="input-group date">
<input class="form-control" type="text" id="datefilter" name="datefilter" value="${datefilter}"/>
</div>
</div>
</div>
</div>
<table id="moniteurs_agence_list" class="table table-condensed table-bordered">
<thead>
<tr>
<th>Code</th>
<th>Prénom Nom</th>
<th >Début</th>
<th >Fin</th>
<th>Matin</th>
<th>Aprés-midi</th>
<th>Agence</th>
</tr>
</thead>
</table>
<br />
<br />
<script type="text/javascript">
var dataSet = ${dt_data};
$.fn.dataTable.ext.search.push(
function( settings, data, dataIndex ) {
var currentagence = $('#agencefilter').val();
var date = $('#datefilter').val();
var dated = data[2].substring(8);
var datef = data[3].substring(8);
var agence = data[6];
if(parseInt(agence) === parseInt(currentagence)){
var currentdate = moment(date.replaceAll('/','-'),'DD-MM-YYYY',true);
var ddate = moment(dated.replaceAll('/','-'),'DD-MM-YYYY',true);
var fdate = moment(datef.replaceAll('/','-'),'DD-MM-YYYY',true);
if(currentdate.isValid() && ddate.isValid() && fdate.isValid()){
var timesf = fdate.toDate().getTime() - currentdate.toDate().getTime();
var timesd = ddate.toDate().getTime() - currentdate.toDate().getTime();
var daysf = Math.round(timesf /(1000 * 3600 * 24));
var daysd = Math.round(timesd /(1000 * 3600 * 24));
if(daysf >= 0 && daysd <= 0){
return true;
}else{
return false;
}
}
else{
return false
}
}
else{
return false
}
return true;
}
);
$(document).ready(function() {
var table = $('#moniteurs_agence_list').DataTable({
data: dataSet,
pageLength: 10,
bLengthChange: false,
bInfo: true,
sDom: 'frtlip',
language: {
url: 'https://cdn.datatables.net/plug-ins/1.10.16/i18n/French.json'
},
columnDefs: [
{ targets: 1,
render: function (data, type, full, meta) {
return '<a href="/moniteur_aff_edit/' + full[0] +'/'+ full[7] + '?origin=1">' + data + '</a>';
}
},
{ targets: 2,
render: function (data, type, full, meta) {
return '<span style="display:none" >'+parseInt(full[8])+'</span>'+data;
}
},
{ targets: 3,
render: function (data, type, full, meta) {
return '<span style="display:none" >'+parseInt(full[9])+'</span>'+data;
}
}
]
});
$('#datefilter').datetimepicker({
format: 'DD/MM/YYYY',
}).on('dp.change',function (e) {
table.draw();
});;
$('#datefilter').on('input change', function(){
var date = moment(this.value.replaceAll('/','-'),'DD-MM-YYYY',true);
if(date.isValid()){
console.log('valid');
table.draw();
}
});
$('#agencefilter').change(function(){
table.draw();
});
});
</script>
</div><!-- content -->
</metal:block>