Some checks failed
Auto Tag Develop / tag (push) Has been cancelled
| Numéro du ticket | Titre du ticket | |------------------|-----------------| | | | ## Description de la PR ## Modification du .env ## Check list - [ ] Pas de régression - [ ] TU/TI/TF rédigée - [ ] TU/TI/TF OK - [ ] CHANGELOG modifié Reviewed-on: #7 Co-authored-by: tristan <tristan@yuno.malio.fr> Co-committed-by: tristan <tristan@yuno.malio.fr>
152 lines
4.7 KiB
Twig
152 lines
4.7 KiB
Twig
<!doctype html>
|
|
<html lang="fr">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>{{ employeeName }} - {{ year }}</title>
|
|
|
|
<style>
|
|
@page { size: A4 portrait; margin: 4mm; }
|
|
|
|
html, body {
|
|
margin: 0;
|
|
padding: 2mm;
|
|
font-family: Helvetica, sans-serif;
|
|
font-size: 9px;
|
|
}
|
|
|
|
h1 {
|
|
text-align: center;
|
|
font-size: 16px;
|
|
margin: 0 0 4mm 0;
|
|
}
|
|
|
|
h2 {
|
|
font-size: 12px;
|
|
margin: 4mm 0 2mm 0;
|
|
padding: 2px 6px;
|
|
background: #e8e8e8;
|
|
}
|
|
|
|
table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
table-layout: auto;
|
|
border: 2px solid #0a0a0a;
|
|
}
|
|
|
|
th, td {
|
|
border: 1px solid #0a0a0a;
|
|
padding: 2px 4px;
|
|
vertical-align: middle;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
thead th {
|
|
text-align: center;
|
|
font-weight: 700;
|
|
font-size: 9px;
|
|
background: #d9e2f3;
|
|
}
|
|
|
|
td { font-size: 9px; }
|
|
td.date { text-align: left; font-weight: bold; }
|
|
td.absence { text-align: left; color: #c00; }
|
|
td.time { text-align: center; }
|
|
td.presence { text-align: center; }
|
|
td.total { text-align: center; font-weight: bold; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
|
|
<h1>{{ employeeName }} - {{ year }}</h1>
|
|
|
|
{% for segment in segments %}
|
|
{% if segments|length > 1 %}
|
|
<h2>{{ segment.contractName ?? 'Contrat inconnu' }}{% if segment.mode == 'driver' %} (Chauffeur){% endif %}</h2>
|
|
{% endif %}
|
|
|
|
{% if segment.mode == 'presence' %}
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Date</th>
|
|
<th>Absence</th>
|
|
<th>Présence matin</th>
|
|
<th>Présence après-midi</th>
|
|
<th>Total</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for row in segment.rows %}
|
|
<tr>
|
|
<td class="date">{{ row.date }}</td>
|
|
<td class="absence">{{ row.absenceLabel ?? '' }}</td>
|
|
<td class="presence">{{ row.presentMorning ? 'X' : '' }}</td>
|
|
<td class="presence">{{ row.presentAfternoon ? 'X' : '' }}</td>
|
|
<td class="total">{{ row.total }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
{% elseif segment.mode == 'driver' %}
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Date</th>
|
|
<th>Absence</th>
|
|
<th>Heures jour</th>
|
|
<th>Heures nuit</th>
|
|
<th>Heures atelier</th>
|
|
<th>Total</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for row in segment.rows %}
|
|
<tr>
|
|
<td class="date">{{ row.date }}</td>
|
|
<td class="absence">{{ row.absenceLabel ?? '' }}</td>
|
|
<td class="time">{{ row.dayHours }}</td>
|
|
<td class="time">{{ row.nightHours }}</td>
|
|
<td class="time">{{ row.workshopHours }}</td>
|
|
<td class="total">{{ row.total }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
{% else %}
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Date</th>
|
|
<th>Absence</th>
|
|
<th>Début matin</th>
|
|
<th>Fin matin</th>
|
|
<th>Début après-midi</th>
|
|
<th>Fin après-midi</th>
|
|
<th>Début soir</th>
|
|
<th>Fin soir</th>
|
|
<th>Total</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for row in segment.rows %}
|
|
<tr>
|
|
<td class="date">{{ row.date }}</td>
|
|
<td class="absence">{{ row.absenceLabel ?? '' }}</td>
|
|
<td class="time">{{ row.morningFrom }}</td>
|
|
<td class="time">{{ row.morningTo }}</td>
|
|
<td class="time">{{ row.afternoonFrom }}</td>
|
|
<td class="time">{{ row.afternoonTo }}</td>
|
|
<td class="time">{{ row.eveningFrom }}</td>
|
|
<td class="time">{{ row.eveningTo }}</td>
|
|
<td class="total">{{ row.total }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
</body>
|
|
</html>
|