initial upload
This commit is contained in:
275
aem_gestion/templates/planning/circuit_list.pt
Normal file
275
aem_gestion/templates/planning/circuit_list.pt
Normal file
@@ -0,0 +1,275 @@
|
||||
<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">
|
||||
<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> ${button_title}</button>
|
||||
</div>
|
||||
<div class="col-xs-4">
|
||||
<select class="form-control" id="cd_mon" name="cd_mon">
|
||||
<div tal:repeat="item moniteurs">
|
||||
<option value="${item.CD_MON}" tal:attributes="selected cd_mon == item.CD_MON and 'selected' or None">${item.NOM} - ${item.CD_MON}</option>
|
||||
</div>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-xs-3">
|
||||
<button class="btn btn-primary" type="submit" name="form.circuit">
|
||||
<span class="glyphicon glyphicon-pencil"></span> Mon. CIRCUIT</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-xs-12">
|
||||
(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>Circ</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;">
|
||||
<a class="btn btn-success" tal:condition="stage.VALIDE != 'O'" href="/motos_edit/${type}/${date}/${grp}/0"><span class="glyphicon glyphicon-user"></span> 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> 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> 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">×</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">×</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">×</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>
|
||||
<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
|
||||
}
|
||||
},
|
||||
{ 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)
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</metal:block>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user