feat: impression galerie utilisateur (enable/quota/max_copies)
🚀 Deploy — JH Photomaton / 🔍 Vérification (push) Has been cancelled
🚀 Deploy — JH Photomaton / 🍓 Deploy sur le Pi (push) Has been cancelled

This commit is contained in:
2026-07-17 17:44:47 +02:00
parent 4388503102
commit d6642c2519
3 changed files with 101 additions and 1 deletions
+19
View File
@@ -83,6 +83,10 @@ class PrintConfig:
script_path: str = "/home/pi/photobooth-data/script/script_print.sh"
default_copies: int = 1
printers: list = field(default_factory=list)
# Impression depuis la galerie utilisateur
user_print_enabled: bool = False
user_print_quota: int = 0 # 0 = illimité
user_print_max_copies: int = 1 # copies max par demande
@dataclass
@@ -209,6 +213,21 @@ class ConfigService:
self._config.event.slug = slug
self._config.event.started_at = started_at
def save_user_print_config(self, enabled: bool, quota: int, max_copies: int):
with open(self.path, encoding="utf-8") as f:
raw = yaml.safe_load(f) or {}
raw.setdefault("print", {}).update({
"user_print_enabled": enabled,
"user_print_quota": quota,
"user_print_max_copies": max_copies,
})
with open(self.path, "w", encoding="utf-8") as f:
yaml.dump(raw, f, allow_unicode=True, default_flow_style=False)
if self._config:
self._config.print.user_print_enabled = enabled
self._config.print.user_print_quota = quota
self._config.print.user_print_max_copies = max_copies
def save_print_mode(self, mode: str):
with open(self.path, encoding="utf-8") as f:
raw = yaml.safe_load(f) or {}