diff --git a/app/calcul.py b/app/calcul.py
index 3802ee2..ec8bff8 100644
--- a/app/calcul.py
+++ b/app/calcul.py
@@ -27,6 +27,7 @@ DEFAULT_FACTEURS_ASTREINTE = [
]
_EPOCH_DATE = date(2000, 1, 1)
+JOURS_COURTS = ["Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dim"]
def hhmm_to_minutes(val: str | None) -> int:
@@ -495,7 +496,11 @@ def compute_week(pointages: list[dict], conges: list[dict], heures_jour_min: int
if (dec and dec["total_min"] > 0) or forfait:
as_jours.append({
"date": p["date"],
+ "jour": JOURS_COURTS[datetime.strptime(p["date"], "%Y-%m-%d").weekday()],
"events": dec["events"] if dec else [],
+ "total_min": dec["total_min"] if dec else 0,
+ "total_h": dec["total_h"] if dec else "",
+ "total_pondere_h": dec["total_pondere_h"] if dec else "",
"forfait_min": forfait,
"forfait_h": minutes_to_hhmm(forfait) if forfait else "",
})
diff --git a/app/templates/_soldes.html b/app/templates/_soldes.html
index 596fa66..30221b0 100644
--- a/app/templates/_soldes.html
+++ b/app/templates/_soldes.html
@@ -54,7 +54,11 @@
{% for j in result.astreinte.jours %}
-
{{ j.date[8:] }}/{{ j.date[5:7] }}
+
+ {{ j.jour }} {{ j.date[8:] }}/{{ j.date[5:7] }}
+ {% if j.forfait_min %}forfait + {{ j.forfait_h }}{% endif %}
+ {% if j.total_min %}astreinte {{ j.total_h }} → {{ j.total_pondere_h }} pondérées{% endif %}
+
{% for ev in j.events %}
{{ ev.debut }} → {{ ev.fin }}
@@ -68,12 +72,11 @@
{% endif %}
{% endfor %}
- {% if j.forfait_min %}
forfait + {{ j.forfait_h }}
{% endif %}
{% endfor %}
{% for c in result.astreinte.categories %}{{ c.nom }} : {{ c.min_h }} ×{{ c.facteur_txt }} = {{ c.pondere_h }}{% endfor %}
- {% if result.astreinte.total_forfait_min %}forfaits + {{ result.astreinte.total_forfait_h }}{% endif %}
+ {% if result.astreinte.total_forfait_min %}forfaits + {{ result.astreinte.total_forfait_h }} (dans le travaillé){% endif %}
total {{ result.astreinte.total_h }} → {{ result.astreinte.total_pondere_h }} pondérées
diff --git a/app/templates/base.html b/app/templates/base.html
index 146051b..8290f06 100644
--- a/app/templates/base.html
+++ b/app/templates/base.html
@@ -580,7 +580,15 @@
margin: -.15rem 0 .45rem;
}
.as-decompte-help b { color: var(--text); font-weight: 500; }
- .as-ev { display: flex; flex-wrap: wrap; gap: .45rem; align-items: baseline; padding: .12rem 0; }
+ .as-ev {
+ display: flex;
+ flex-wrap: wrap;
+ gap: .45rem;
+ align-items: baseline;
+ padding: .12rem 0 .12rem .6rem;
+ margin: .2rem 0 .2rem .25rem;
+ border-left: 2px solid var(--rule-l);
+ }
.as-ev-h { font-family: var(--mono); }
.as-ev-desc { color: var(--muted); font-style: italic; }
.as-ev-q {
@@ -592,7 +600,11 @@
.as-ev-cat, .as-cat { color: var(--accent); font-family: var(--mono); font-size: 11px; }
.as-forfait { font-family: var(--mono); color: var(--muted); font-size: 11px; }
.as-ev-pond { font-family: var(--mono); color: var(--accent-2); }
- .as-jour-date { font-family: var(--mono); font-weight: 500; margin-right: .4rem; }
+ .as-jour { padding: .35rem 0; border-top: 1px dashed var(--rule-l); }
+ .as-jour:first-of-type { border-top: none; padding-top: .1rem; }
+ .as-jour-head { display: flex; flex-wrap: wrap; gap: .5rem; align-items: baseline; }
+ .as-jour-date { font-family: var(--mono); font-weight: 500; }
+ .as-jour-total { font-family: var(--mono); color: var(--muted); font-size: 11px; margin-left: auto; }
.as-totaux {
border-top: 1px dashed var(--rule);
margin-top: .4rem;