Files
aduzuki/routes/rassemblementRouter.js
2026-07-20 16:33:04 +02:00

174 lines
7.5 KiB
JavaScript

/////////////////////////////////////////////////
// RASSEMBLEMENT IDF
/////////////////////////////////////////////////
/////////////////////////////////////////////////
// LOGGING
/////////////////////////////////////////////////
const logger = require("../public/js/app/logger");
/////////////////////////////////////////////////
// APPELS DES MODULES
/////////////////////////////////////////////////
const express = require('express');
const router = express.Router();
const path = require("path");
////////////////////////////////////////////////////
// FILE NAME
////////////////////////////////////////////////////
const filename = path.parse(__filename).base;
/////////////////////////////////////////////////
// APPELS DES FONCTIONS
/////////////////////////////////////////////////
const {
RI_checkidentifiant,
RI_checkinfos,
post_recap_modifier,
post_payer_ri,
RI_accompte_reussi,
RI_accompte_annule,
RI_post_valid_ss_paiement
} = require("../controllers/rassemblementController");
/////////////////////////////////////////////////
// ROUTES
/////////////////////////////////////////////////
/////////////////////////////////////////////////
// 1 - PAGE CHECK IDENTIFIANT
// AFFICHAGE DE LA PAGE
// URL du stage donné au public /rassemblementidf pour une url facile à mémoriser
// derrière on dirige vers la page d'identification
router.get('/', function(req, res) {
// rediriger vers la page de saisie de l'identifiant
// 🔚 FIN DES INSCRIPTIONS ON MET EN COMMENTAIRE LA LIGNE CI DESSOUS
// res.redirect('/rassemblementidf/identifier');
// 🔚 FIN DES INSCRIPTIONS
// ON DIRIGE VERS LA PAGE "INSCRIPTION TERMINÉE"
res.render('rassemblementidf/page_templates/fermeture');
});
router.get('/identifier', function(req, res) {
if (req.session.err_mail_form_adhesion_1) {
res.locals.err_mail_form_adhesion_1 = req.session.err_mail_form_adhesion_1;
res.locals.err_mail_form_adhesion_2 = req.session.err_mail_form_adhesion_2;
res.locals.err_mail_form_adhesion_3 = req.session.err_mail_form_adhesion_3;
// on supprime le contenu après affichage
req.session.err_mail_form_adhesion_1 = undefined;
req.session.err_mail_form_adhesion_2 = undefined;
req.session.err_mail_form_adhesion_3 = undefined;
}
// affichage du template ejs /views/page_templates/inscription_accueil.ejs
res.render('rassemblementidf/page_templates/inscrip_formulaire_identifier');
//res.render('rassemblementidf/page_templates/panne');
});
// SCRIPT SUR CLIC "S'INSCRIRE" POUR CHECKER IDENTIFIANT
router.post('/identifier', RI_checkidentifiant);
/////////////////////////////////////////////////
// 2 - SAISIE DU FORMULAIRE D'INSCRIPTION AU STAGE
router.get('/formulaire', function(req, res) {
res.locals.identifiant = req.session.identifiant;
res.locals.association_suzuki = req.session.association_suzuki;
res.locals.adherent_nom = req.session.adherent_nom;
res.locals.adherent_prenom = req.session.adherent_prenom;
res.locals.adherent_adresse_rue = req.session.adherent_adresse_rue;
res.locals.adherent_adresse_complement = req.session.adherent_adresse_complement;
res.locals.adherent_adresse_codepostal = req.session.adherent_adresse_codepostal;
res.locals.adherent_adresse_ville = req.session.adherent_adresse_ville;
res.locals.adherent_adresse_pays = req.session.adherent_adresse_pays;
res.locals.adherent_telephone_mobile = req.session.adherent_telephone_mobile;
res.locals.adherent_telephone_fixe = req.session.adherent_telephone_fixe;
res.locals.adherent_mail = req.session.adherent_mail;
res.locals.bus_nb = req.session.bus_nb;
res.locals.accompagnant_nom = req.session.accompagnant_nom;
res.locals.accompagnant_prenom = req.session.accompagnant_prenom;
// affichage du template ejs /views/page_templates/inscription_accueil.ejs
res.render('rassemblementidf/page_templates/inscrip_formulaire');
});
// SCRIPT SUR CLIC "VALIDER" APRÈS AVOIR REMPLI LE FORMULAIRE
router.post('/formulaire', RI_checkinfos);
/////////////////////////////////////////////////
// 3 - AFFICHER PAGE RÉCAP
router.get('/recap', function(req, res) {
res.locals.identifiant = req.session.identifiant;
res.locals.association_suzuki = req.session.association_suzuki;
res.locals.adherent_nom = req.session.adherent_nom;
res.locals.adherent_prenom = req.session.adherent_prenom;
res.locals.adherent_adresse_rue = req.session.adherent_adresse_rue;
res.locals.adherent_adresse_complement = req.session.adherent_adresse_complement;
res.locals.adherent_adresse_codepostal = req.session.adherent_adresse_codepostal;
res.locals.adherent_adresse_ville = req.session.adherent_adresse_ville;
res.locals.adherent_adresse_pays = req.session.adherent_adresse_pays;
res.locals.adherent_telephone_mobile = req.session.adherent_telephone_mobile;
res.locals.adherent_telephone_fixe = req.session.adherent_telephone_fixe;
res.locals.adherent_mail = req.session.adherent_mail;
res.locals.bus_nb = req.session.bus_nb;
for (let toto = 1; toto < 7; toto++) {
res.locals["personne_"+toto+"_numero"] = toto;
res.locals["personne_"+toto+"_nom"] = req.session["personne_"+toto+"_nom"];
res.locals["personne_"+toto+"_prenom"] = req.session["personne_"+toto+"_prenom"];
res.locals["personne_"+toto+"_datenaissance"] = req.session["personne_"+toto+"_datenaissance"];
res.locals["personne_"+toto+"_age"] = req.session["personne_"+toto+"_age"];
res.locals["personne_"+toto+"_role"] = req.session["personne_"+toto+"_role"];
if (req.session["personne_"+toto+"_role"] === "instrumentiste") {
res.locals["infoaccompagnant"] = "oui";
logger.info("infoaccompagnant : " + res.locals["infoaccompagnant"], { numsession: req.session.id, label: filename});
}
res.locals["personne_"+toto+"_instrument"] = req.session["personne_"+toto+"_instrument"];
res.locals["personne_"+toto+"_cahier"] = req.session["personne_"+toto+"_cahier"];
res.locals["personne_"+toto+"_piece"] = req.session["personne_"+toto+"_piece"];
res.locals["personne_"+toto+"_prof"] = req.session["personne_"+toto+"_prof"];
res.locals["personne_"+toto+"_repas"] = req.session["personne_"+toto+"_repas"];
}
res.locals.cout_rassemblement = req.session.cout_rassemblement;
res.locals.cout_repas = req.session.cout_repas;
res.locals.accompte_frais_bancaire = req.session.accompte_frais_bancaire;
res.locals.cout_total = req.session.cout_total;
// affichage du template ejs /views/page_templates/inscription_accueil.ejs
res.render('rassemblementidf/page_templates/recap');
});
// PAGE RÉCAP - CLICK SUR LE BOUTON MODIFIER
// EN CAS DE LIEN avec plusieurs / comme /stagenational/recap, il faut rappeler le premier (ici /stagenational)
// vir l'URL du POST dans l'onglet network de Chrome (type = document)
router.post('/post_recap_modifier', post_recap_modifier);
// PAGE RÉCAP - CLICK SUR LE BOUTON PAYER
router.post('/post_payer_ri', post_payer_ri);
// PAGE RÉCAP - CLICK SUR LE BOUTON VALIDER (pas de paiement)
router.post('/post_recap_valid_ss_paiement', RI_post_valid_ss_paiement);
/////////////////////////////////////////////////
// 4 - PAIEMENT DE L'ACOMPTE
router.get('/paiement_reussi', RI_accompte_reussi);
router.get('/paiement_annule', RI_accompte_annule);
/////////////////////////////////////////////////
// EXPORT DE MODULE POUR QU'IL SOIT LU DANS LES AUTRES FICHIERS JS
/////////////////////////////////////////////////
module.exports = router;