Choix du nombre d'exemplaires a l'impression

- Boutons +/- pour choisir le nombre d'exemplaires (1 a copies_max)
- copies_max configurable dans le backoffice (defaut: 5)
- Backend limite les copies au max configure

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-21 23:15:10 +01:00
parent f9c600c026
commit bffdf52c56
6 changed files with 95 additions and 10 deletions

View File

@@ -1,11 +1,31 @@
/* Module partage - Impression, email, QR code */
let nbExemplaires = 1;
let copiesMax = 5;
function ouvrirImpression() {
copiesMax = config.impression?.copies_max || 5;
nbExemplaires = 1;
document.getElementById('nb-exemplaires').textContent = nbExemplaires;
document.getElementById('form-impression').classList.remove('cache');
}
function fermerImpression() {
document.getElementById('form-impression').classList.add('cache');
}
function changerExemplaires(delta) {
nbExemplaires = Math.max(1, Math.min(copiesMax, nbExemplaires + delta));
document.getElementById('nb-exemplaires').textContent = nbExemplaires;
}
async function lancerImpression() {
if (!photoFinale) return;
afficherStatut('Impression en cours...', 'succes');
const resultat = await apiPost('/api/imprimer', { photo: photoFinale });
fermerImpression();
afficherStatut(`Impression de ${nbExemplaires} exemplaire(s)...`, 'succes');
const resultat = await apiPost('/api/imprimer', { photo: photoFinale, copies: nbExemplaires });
if (resultat.succes) {
afficherStatut('Photo envoyee a l\'imprimante !', 'succes');
afficherStatut(`${nbExemplaires} exemplaire(s) envoye(s) a l'imprimante !`, 'succes');
} else {
afficherStatut('Erreur d\'impression', 'erreur');
}