Règle les heures hebdomadaires et le nombre de jours via la config globale
Le quota quotidien est désormais dérivé d'heures_semaine / jours_par_semaine
au lieu d'être saisi directement. Rétrocompatible avec les anciennes configs
qui utilisent encore heures_jour.
💘 Generated with Crush
Assisted-by: Crush:glm-5.2
This commit is contained in:
@ -10,7 +10,8 @@ DATA_DIR = Path("/data")
|
||||
CONFIG_FILE = DATA_DIR / "config.json"
|
||||
|
||||
DEFAULT_CONFIG = {
|
||||
"heures_jour": 7.8, # 7h48 = 39h/semaine
|
||||
"heures_semaine": 39.0, # heures hebdomadaires visées
|
||||
"jours_par_semaine": 5, # jours travaillés dans la semaine — heures_jour en est dérivé
|
||||
"log_level": "DEBUG", # DEBUG, INFO, WARNING ou ERROR
|
||||
"allowed_email_domain": "", # ex: "sdv.fr" — seules ces adresses peuvent se connecter
|
||||
"base_url": "", # ex: "https://pointeuse.sdv.fr" — utilisée pour les liens emails (anti open-redirect via Host header)
|
||||
@ -89,7 +90,16 @@ def load_or_create_secret() -> bytes:
|
||||
|
||||
|
||||
def heures_jour_min() -> int:
|
||||
return int(float(load_config().get("heures_jour", 7.8)) * 60)
|
||||
"""Minutes attendues par jour, dérivées d'`heures_semaine` et `jours_par_semaine`.
|
||||
|
||||
Rétrocompat : si `heures_semaine` est absent mais `heures_jour` présent,
|
||||
on utilise l'ancienne clé.
|
||||
"""
|
||||
cfg = load_config()
|
||||
jours = int(cfg.get("jours_par_semaine", 5)) or 5
|
||||
if "heures_semaine" in cfg:
|
||||
return int(float(cfg["heures_semaine"]) * 60 / jours)
|
||||
return int(float(cfg.get("heures_jour", 7.8)) * 60)
|
||||
|
||||
|
||||
# ── Pointages ─────────────────────────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user