initial upload

This commit is contained in:
2023-06-22 10:34:18 +02:00
parent 6df897b44d
commit 5c621cf669
1030 changed files with 355394 additions and 49 deletions

View File

@@ -0,0 +1,64 @@
<metal:block use-macro="main_template">
<div metal:fill-slot="content">
<div class="col-md-2">Permis : <b>${permis}</b></div>
<div class="col-md-2">Total unités : <b>${total_unites}</b></div>
<div class="col-md-3">Accompagnateur : <b>${accompgntr}</b></div>
<div class="col-md-5">Lieu : <b>${lieu_exa}</b></div>
<table id="examens_list" class="table table-condensed table-striped table-bordered">
<thead>
<tr>
<th>Agence</th>
<th>Prénom Nom</th>
<th>Nom JF</th>
<th>Filière</th>
<th>Moniteur</th>
<th>Téléphone</th>
<th>ETG OK</th>
<th>Indice</th>
</tr>
</thead>
</table>
<br />
<br />
<script type="text/javascript">
var dataSet = ${dt_data};
$(document).ready(function() {
$.fn.dataTable.moment('DD-MM-YYYY');
$('#examens_list').DataTable({
data: dataSet,
pageLength: 100,
bLengthChange: false,
language: {
url: 'https://cdn.datatables.net/plug-ins/1.10.16/i18n/French.json'
},
columnDefs: [
{ "targets": 1,
"render": function (data, type, full, meta) {
// ajouter un link vers le formulaire
return '<a href="/fiche_eleve/' + data.substr(0, 6) + '">' + data + '</a>';
},
},
],
createdRow: function( row, data, dataIndex ) {
if ( data[1].slice(0,1) == "0" ) {
if ( data[1].slice(0,6) == "000080") {
$('td', row).eq(0).css('background-color', 'Gold');
} else {
$('td', row).eq(0).css('background-color', 'OrangeRed');
}
}
},
});
});
</script>
</div><!-- content -->
</metal:block>

View File

@@ -0,0 +1,70 @@
<metal:block use-macro="main_template">
<div metal:fill-slot="content">
<div class="container">
<div class="row">
<form method="POST" id="frm" class="form-horizontal">
<div class="form-group">
<label class="control-label col-sm-3">Type d'examen : </label>
<div class="col-sm-3">
<select class="form-control" id="permis" name="permis" onChange="$('#frm').submit()">
<tal:block tal:repeat="item types_permis">
<option value="${item}" tal:attributes="selected permis==item and 'selected' or None">${item}</option>
</tal:block>
</select>
</div>
<div class="col-sm-6">
<a href="${request.application_url}/results_import" tal:condition="layout.isAdmin()"
class="btn btn-success" role="button" >
<span class="glyphicon glyphicon-import"></span> Import résultats</a>
</div>
</div>
</form>
</div>
<div id="calendar"></div>
<br />
</div>
<br />
<br />
</div><!-- content -->
<div metal:fill-slot="additional_scripts">
<!-- Bootstrap Fullcalendar plugin -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.9.0/fullcalendar.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar-scheduler/1.9.4/scheduler.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.9.0/locale/fr.js"></script>
<script>
$(document).ready(function() {
var datePlan = '${datePlan}';
$('#calendar').fullCalendar({
schedulerLicenseKey: 'GPL-My-Project-Is-Open-Source',
locale: 'fr',
header: {
left: 'agendaWeek month listWeek',
center: 'prev title next',
right: 'today'
},
allDaySlot: false,
defaultView: 'month',
defaultDate: moment(datePlan),
hiddenDays: [0], // hide sunday
height: 'auto',
minTime: "07:00:00",
maxTime: "21:00:00",
displayEventTime: true,
timeFormat: 'H:mm',
events:${calendar_events},
eventRender: function(event, element){
element.find('.fc-title').append("<br/>" + event.description);
},
});
});
</script>
</div>
</metal:block>

View File

@@ -0,0 +1,45 @@
<metal:block use-macro="main_template">
<div metal:fill-slot="content">
<div class="alert alert-danger" tal:condition="message" tal:content="message" />
<div class="row">
<form id="result_del-form" action="${url}" method="post" class="form-horizontal">
<div class="form-group">
<div class="col-sm-offset-2 col-sm-8">
<p class="form-control-static">Voulez-vous supprimer le message ?</p>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-8">
<button class="btn btn-warning" type="submit" name="form.submitted">
<span class="glyphicon glyphicon-trash"></span>&nbsp;Supprimer</button>
<a href="${request.application_url}/results_import" class="btn btn-default" role="button">
<span class="glyphicon glyphicon-chevron-left"></span>&nbsp;Annuler</a>
</div>
</div>
</form>
<br />
<br />
</div> <!-- row -->
<script>
$(document).ready(function() {
$('#result_del-form').formValidation({
framework: 'bootstrap',
message: 'This value is not valid',
icon: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
});
$('form input').on('keypress', function(e) {
return e.which !== 13;
});
});
</script>
</div>
</metal:block>

View File

@@ -0,0 +1,71 @@
<metal:block use-macro="main_template">
<div metal:fill-slot="content">
<table class="table table-striped table-bordered table-condensed">
<thead>
<tr>
<th>Date</th>
<th>Expéditeur</th>
<th>Objet</th>
<th></th>
</tr>
</thead>
<tr tal:repeat="item emails">
<td>${item.email_date.strftime('%d %b, %H:%M')}</td>
<td>${item.email_from}</td>
<td>${item.email_subject}</td>
<td class="text-center">
<a href="${request.application_url}/result_del/${item.email_uid}"
class="btn btn-warning btn-sm"><i class="glyphicon glyphicon-trash"></i> (${item.email_uid})</a>
</td>
</tr>
</table>
<form id="motos_edit-form" class="form-horizontal" action="${url}" 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">
<div class="col-xs-8">
<a href="${request.application_url}/examens_schd/today/B" class="btn btn-default" role="button">
<span class="glyphicon glyphicon-chevron-left"></span> Retour</a>
&nbsp;
<button class="btn btn-success" type="submit" name="form.import" tal:condition="emails">
<span class="glyphicon glyphicon-import"></span>&nbsp;Import resultats (${len(emails)})</button>
</div>
</div>
</form>
<h2>Résultats d'examen mis à jour</h2>
<table class="table table-striped table-bordered table-condensed">
<thead>
<tr>
<th>Date exa</th>
<th>Code - Nom élève</th>
<th>Permis</th>
<th>Résultat</th>
</tr>
</thead>
<tr tal:repeat="item examens_maj">
<td>${item.DATE.strftime('%d %b')}</td>
<td><a href="${request.application_url}/fiche_eleve/${item.CD_CLI}">${item.CD_CLI} - ${item.NOM}</a></td>
<td>${item.PERMIS}</td>
<td>${item.libelle}</td>
</tr>
</table>
<br />
<br />
<script type="text/javascript">
$('#generateButton').on('click', function(){
$('i.gly-spin').removeClass('gly-spin');
$('i').addClass('gly-spin');
});
</script>
</div><!-- content -->
</metal:block>