Files
2023-06-22 10:34:18 +02:00

312 lines
16 KiB
XML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<metal:block use-macro="main_template">
<div metal:fill-slot="content">
<div class="alert alert-success" tal:condition="message" tal:content="message" />
<form id="frm-motos_list" action="${url}" method="POST" class="form-horizontal">
<div class="form-group">
<label class="control-label col-xs-1">Infos : </label>
<div class="col-xs-6">
<p class="form-control-static">${stage.infos}</p>
</div>
</div>
<div class="form-group">
<div class="col-xs-5">
<a href="${url_retour}" class="btn btn-default" role="button">
<span class="glyphicon glyphicon-chevron-left"></span> Retour</a>
<button class="btn btn-primary" type="submit" name="form.submitted" tal:condition="len(button_title)">
<span class="glyphicon glyphicon-chevron-right"></span>&nbsp;${button_title}</button>
</div>
</div>
<div class="form-group">
<div class="col-xs-12">
&nbsp;&nbsp;(Veuillez cocher un ou plusieurs élèves pour mettre à jour leur moniteur ou effectuer un suivi)
</div>
</div>
</form>
<table id="motos_list" class="table table-condensed table-bordered">
<thead>
<tr>
<th></th>
<th>Gr</th>
<th>Nv</th>
<th>Mon.</th>
<th>Nom, Prénom</th>
<th>Solde</th>
<th>ETG</th>
<th>Fil.</th>
<th>Comment.</th>
<th>HCB</th>
<th>St</th>
<th></th>
</tr>
</thead>
</table>
<br />
<form id="frm-stageb_list" action="${url}" method="POST" class="form-horizontal">
<div class="form-group" style="margin-left:10px;">
<button type="button" data-toggle="modal" data-target="#deleteEleveStage" id="deleted_selected" class="btn btn-danger hide" >Supprimer la sélection</button>
<a class="btn btn-success" tal:condition="stage.VALIDE != 'O'" href="/motos_edit/${type}/${date}/${grp}/0"><span class="glyphicon glyphicon-user"></span>&nbsp;Ajouter éléve</a>
<button class="btn btn-primary" type="button" tal:condition="code == 9 and stage.VALIDE != 'O' " data-toggle="modal" data-target="#editPlanning" name="form.seance"><span class="glyphicon glyphicon-pencil"></span>&nbsp;Modifier planning</button>
<button class="btn btn-primary" type="button" tal:condition="code == 9 and stage.VALIDE != 'O' " data-toggle="modal" data-target="#validatePlanning"><span class="glyphicon glyphicon-check"></span>&nbsp;Valider planning</button>
</div>
</form>
<!--edit stage -->
<div class="modal fade" id="editPlanning" role="dialog" aria-labelledby="confirmCreateLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content ">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">Planning ${type} du ${date}</h4>
</div>
<div class="modal-body">
<!-- The form is placed inside the body of modal -->
<form id="edit-planning-moto" class="form-horizontal" action="" method="post"
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="control-label col-xs-3">Groupe</label>
<div class="col-sm-8 col-md-7">
<select class="form-control" name="GROUPE" id="select-group" disabled>
<tal:block tal:repeat="key [x for x in groupe.keys()]">
<option tal:attributes="selected key==stage.GROUPE and 'selected' or None" value="${key}" >${groupe[key]}</option>
</tal:block>
</select>
</div>
</div>
<div class="form-group" id="form-code">
<label class="col-sm-3 control-label">Libellé </label>
<div class="col-sm-8 col-md-7">
<input type="text" class="form-control"
data-fv-notempty="true"
data-fv-notempty-message="Le libellé est obligatoire"
id="LIBELLE" name="LIBELLE" value="${stage.LIBELLE}" />
<span id="text-error-message" style="font-size:11px;color:#D9534F;"></span>
</div>
</div>
<div class="form-group" id="form-code">
<label class="col-md-3 col-sm-3 control-label" style="margin-top:8px">Total places Plateau : </label>
<div class="col-sm-8 col-md-2" style="margin-top:8px">
<input type="number" class="form-control" id="TOTAL" value="${stage.TOTAL}" name="TOTAL" />
<span id="text-error-message" style="font-size:11px;color:#D9534F;"></span>
</div>
<label class="col-sm-3 col-md-2 control-label" style="margin-top:8px" >Total plateau inscrits</label>
<div class="col-sm-8 col-md-3" style="margin-top:8px">
<input type="number" class="form-control" id="DISPO" value="${stage.TOTAL-stage.DISPO}" name="DISPO" disabled/>
<span id="text-error-message" style="font-size:11px;color:#D9534F;"></span>
</div>
</div>
<div class="form-group" id="form-code">
<label class="col-md-3 col-sm-3 control-label" style="margin-top:8px">Total places Route : </label>
<div class="col-sm-8 col-md-2" style="margin-top:8px">
<input type="number" class="form-control" id="ROUTE" value="${stage.ROUTE}" name="ROUTE" />
<span id="text-error-message" style="font-size:11px;color:#D9534F;"></span>
</div>
<label class="col-sm-3 col-md-2 control-label" style="margin-top:8px" >Total Route inscrits</label>
<div class="col-sm-8 col-md-3" style="margin-top:8px">
<input type="number" class="form-control" id="ROUTE_DISPO" value="${stage.ROUTE-stage.ROUTE_DISPO}" name="ROUTE_DISPO" disabled/>
<span id="text-error-message" style="font-size:11px;color:#D9534F;"></span>
</div>
</div>
<div class="form-group">
<div class="col-xs-8 col-xs-offset-3">
<button type="button" class="btn btn-default" data-dismiss="modal" style="margin-top:8px">Annuler</button>
<button type="button" id="deleteRdv" tal:condition="code == 9" class="btn btn-danger" data-dismiss="modal" data-toggle="modal" data-target="#deletePlanning" style="margin-top:8px">Supprimer</button>
<button type="submit" id="submitRdv" class="btn btn-primary" name="form.updated" style="margin-top:8px">Enregistrer</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<!-- validate -->
<div class="modal fade" tal:condition="code == 9" id="validatePlanning" tabindex="-1" role="dialog" aria-labelledby="modalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<form action="" method="post" >
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" id="modalLabel">Validation</h4>
</div>
<div class="modal-body">
Après la validation, aucune modification ne sera possible.
</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.validated" >Confirmer</button>
</div>
</div>
</form>
</div>
</div>
<!-- modal -->
<div class="modal fade" id="deletePlanning" tal:condition="code == 9" tabindex="-1" role="dialog" aria-labelledby="modalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<form action="" method="post" >
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" id="modalLabel">Suppression</h4>
</div>
<div class="modal-body">
Confirmez-vous la supression de ce planning ?
</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" >Confirmer</button>
</div>
</div>
</form>
</div>
</div>
<!-- modal -->
<div class="modal fade" id="deleteEleveStage" tal:condition="code == 9" tabindex="-1" role="dialog" aria-labelledby="modalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<form action="${url}" method="post" >
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" id="modalLabel">Suppression</h4>
</div>
<div class="modal-body">
Confirmez-vous la supression de ces eleves dans ce stage?
</div>
<div class="modal-footer">
<input type="hidden" value="" id="deleted_selected_inputs" name="deleted_selected_inputs" />
<button type="submit" class="btn btn-secondary" data-dismiss="modal">Fermer</button>
<button type="submit" class="btn btn-danger" name="form.deleted_selected" >Confirmer</button>
</div>
</div>
</form>
</div>
</div>
<br />
</div><!-- content -->
<div metal:fill-slot="additional_scripts">
<script src="//gyrocode.github.io/jquery-datatables-checkboxes/1.2.11/js/dataTables.checkboxes.min.js"></script>
<script type="text/javascript">
var dataSet = ${dt_data};
$(document).ready(function() {
$.fn.dataTable.moment('DD/MM/YYYY');
var table = $('#motos_list').DataTable({
data: dataSet,
pageLength: 100,
bLengthChange: false,
language: {
url: 'https://cdn.datatables.net/plug-ins/1.10.16/i18n/French.json'
},
columnDefs: [
{ className: "text-center", "targets": [0,1,2,6,10] },
{ className: "text-right", "targets": [5] },
{ 'targets': 0,
'checkboxes': {
'selectRow': true,
'selectCallback': function(td, cellData, rowData, row, col) {
getAlldata();
},
}
},
{ targets: 4,
"render": function (data, type, full, meta) {
// ajouter un link vers la fiche élève
return '<a href="/fiche_eleve/' + data.substr(0, 6) + '">' + data + '</a>';
},
},
{ targets: 11,
"render": function (data, type, full, meta) {
// ajouter un link vers le formulaire
return '<a href="/motos_edit/${type}/${date}/${grp}/' + full[0] +
'" class="btn btn-primary btn-sm"><span class="glyphicon glyphicon-pencil"></span>' + '</a>';
},
},
],
select: {
'style': 'multi'
},
order: [[1, 'asc']],
createdRow: function( row, data, dataIndex ) {
if ( data[5].slice(-1) == "E" ) {
$('td', row).eq(5).css('background-color', 'Orange');
}
if ( data[9] == "VAL" ) {
$('td', row).eq(9).css('background-color', 'LightGreen');
}
if ( data[10] > "1" ) {
$('td', row).eq(10).css('background-color', 'Crimson').css('color', 'white');
}
},
});
// Handle form submission event
$('#frm-motos_list').on('submit', function(e){
var form = this;
var rows_selected = table.column(0).checkboxes.selected();
// Iterate over all selected checkboxes
$.each(rows_selected, function(index, rowId){
// Create a hidden element
$(form).append(
$('<input>')
.attr('type', 'hidden')
.attr('name', 'id' + index)
.val(rowId)
);
});
});
$('#edit-planning-moto').formValidation({
fields: {
TOTAL: {
validators: {
callback: {
message: 'Total devrait superieur ou egalé à ce qui est inscrit',
callback: function(input) {
var dispo = parseInt(${stage.DISPO})
return dispo <= parseInt(input)
}
}
}
},
ROUTE: {
validators: {
callback: {
message: 'Total route devrait superieur ou egalé à ce qui est inscrit',
callback: function(input) {
var dispo = parseInt(${stage.ROUTE_DISPO})
return dispo <= parseInt(input)
}
}
}
},
}
});
function getAlldata(data){
selecteds = table.data().toArray()
var selectdIds = table.column(0).checkboxes.selected().toArray()
var filtered = selecteds.filter(function(e){
return e[12] === 'N' && selectdIds.includes(e[0])
})
if(selecteds.length === 0 || filtered.length > 0){
$('#deleted_selected').removeClass('hide');
}
else{
$('#deleted_selected').addClass('hide');
}
$('#deleted_selected_inputs').val(selectdIds.join('-'))
}
});
</script>
</div>
</metal:block>