total_1ère

This commit is contained in:
2026-07-20 16:33:04 +02:00
parent dd49ba357b
commit d49cf88d99
275 changed files with 63607 additions and 5599 deletions

View File

@@ -0,0 +1,273 @@
/////////////////////////////////////////////////
// STAGE NATIONAL
// [DOMAIN]/concert
/////////////////////////////////////////////////
/////////////////////////////////////////////////
// LOGGING
/////////////////////////////////////////////////
const logger = require("../public/js/app/logger_concert");
/////////////////////////////////////////////////
// APPELS DES MODULES
/////////////////////////////////////////////////
const express = require('express');
const router = express.Router();
/////////////////////////////////////////////////
// APPELS DES FONCTIONS
/////////////////////////////////////////////////
const affiche_identifier_controller = require("../controllers/concert_annuel/affiche_identiferController");
const identifier_controller = require("../controllers/concert_annuel/identiferController");
const inscription_familleController = require("../controllers/concert_annuel/inscription_familleController");
const inscription_listeattente = require("../controllers/concert_annuel/inscription_listeattenteController");
const payerController = require("../controllers/concert_annuel/payerController");
const retourStripeController = require("../controllers/concert_annuel/retourStripeController");
const recup_gs_controller = require("../controllers/concert_annuel/maj_gs_concertController");
const weez_controller = require("../controllers/concert_annuel/weez_concertController");
const ajout_controller = require("../controllers/concert_annuel/ajout_concertController");
//const weez_controller = require("../controllers/concert_annuel/weeztoken_concertController");
/////////////////////////////////////////////////
/////////////////////////////////////////////////
// ROUTES
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/////////////////////////////////////////////////
// 1 - AFFICHER PAGE CHECK IDENTIFIANT
/////////////////////////////////////////////////
router.get('/', function(req, res) {
logger.info("on est dans la page web CONCERT (concertRouter.js)", { numsession: req.session.id });
// rediriger vers la page de saisie de l'identifiant
res.redirect('/concert/identifier');
});
/////////////////////////////////////////////////
// 1. QUAND ON ARRIVE SUR LA PAGE CHECK IDENTIFIANT :
// AFFICHAGE DU NOMBRE DE PLACES RESTANTES
/////////////////////////////////////////////////
router.get('/identifier', affiche_identifier_controller.openidentifiant);
/////////////////////////////////////////////////
// 2. SAISIE DU L'IDENTIFIANT
// VÉRIFICATION SI L'IDENTIFIANT EST ADHÉRENT
/////////////////////////////////////////////////
// CLIC "S'INSCRIRE" => VÉRIFICATION IDENTIFIANT
router.post('/identifier', identifier_controller.checkidentifiant);
/////////////////////////////////////////////////
// 3 - PAGE INSCRIPTION FAMILLE
/////////////////////////////////////////////////
router.get('/inscription_famille', function(req, res) {
logger.info("on est dans la page web CONCERT inscription famille (concertRouter.js)", { numsession: req.session.id });
res.locals.identifiant = req.session.identifiant;
res.locals.association_suzuki = req.session.association_suzuki;
res.locals.spectateur_nb_restantes = req.session.spectateur_nb_restantes;
console.log("res.locals.spectateur_nb_restantes = ", res.locals.spectateur_nb_restantes)
res.locals.encadr_parent_nb_restantes = req.session.encadr_parent_nb_restantes;
res.locals.tout_instrument_nb_restantes = req.session.tout_instrument_nb_restantes;
res.locals.piano_nb_restantes = req.session.piano_nb_restantes;
res.locals.alto_nb_restantes = req.session.alto_nb_restantes;
res.locals.flute_nb_restantes = req.session.flute_nb_restantes;
res.locals.trompette_nb_restantes = req.session.trompette_nb_restantes;
res.locals.harpe_nb_restantes = req.session.harpe_nb_restantes;
res.locals.violon1_nb_restantes = req.session.violon1_nb_restantes;
res.locals.violon2_nb_restantes = req.session.violon2_nb_restantes;
res.locals.violoncelle1_nb_restantes = req.session.violoncelle1_nb_restantes;
res.locals.violoncelle2_nb_restantes = req.session.violoncelle2_nb_restantes;
res.locals.deja_inscrit_concert = req.session.deja_inscrit_concert;
res.locals.quota_spectateur = req.session.quota_spectateur;
res.locals.quota_concertiste = req.session.quota_concertiste;
res.render('concert/page_templates/inscrip_formulaire_famille');
});
// SCRIPT SUR CLIC "VALIDER" APRÈS AVOIR REMPLI LE FORMULAIRE
router.post('/inscription_famille', inscription_familleController.inscription_famille);
/////////////////////////////////////////////////
// !!!! NON UTILISÉ
//
// 3 bis - PAGE AJOUT BILLET POUR FAMILLE DÉJA INSCRITE
/////////////////////////////////////////////////
router.get('/ajout_billet', function(req, res) {
logger.info("on est dans la page web CONCERT ajout billet (concertRouter.js)", { numsession: req.session.id });
res.locals.identifiant = req.session.identifiant;
res.locals.association_suzuki = req.session.association_suzuki;
res.locals.spectateur_nb_restantes = req.session.spectateur_nb_restantes;
res.locals.encadr_parent_nb_restantes = req.session.encadr_parent_nb_restantes;
res.render('concert/page_templates/ajout_billet');
});
/////////////////////////////////////////////////
// 3 ter - PAGE LISTE ATTENTE
/////////////////////////////////////////////////
router.get('/listeattente', function(req, res) {
logger.info("on est dans la page web CONCERT listeattente (concertRouter.js)", { numsession: req.session.id });
res.locals.identifiant = req.session.identifiant;
res.locals.association_suzuki = req.session.association_suzuki;
res.locals.piano_nb_restantes = req.session.piano_nb_restantes;
res.locals.alto_nb_restantes = req.session.alto_nb_restantes;
res.locals.flute_nb_restantes = req.session.flute_nb_restantes;
res.locals.trompette_nb_restantes = req.session.trompette_nb_restantes;
res.locals.harpe_nb_restantes = req.session.harpe_nb_restantes;
res.locals.violon1_nb_restantes = req.session.violon1_nb_restantes;
res.locals.violon2_nb_restantes = req.session.violon2_nb_restantes;
res.locals.violoncelle1_nb_restantes = req.session.violoncelle1_nb_restantes;
res.locals.violoncelle2_nb_restantes = req.session.violoncelle2_nb_restantes;
res.render('concert/page_templates/inscrip_liste_attente');
});
// SCRIPT SUR CLIC "VALIDER" APRÈS AVOIR REMPLI LE FORMULAIRE LISTE D'ATTENTE
router.post('/listeattente', inscription_listeattente.inscription_listeattente);
/////////////////////////////////////////////////
// 4 - PAGE RECAP
// enregistrement dans la BD des participants
// Envoie vers Stripe
/////////////////////////////////////////////////
router.get('/inscription_recap', function(req, res) {
logger.info("on est dans la page web CONCERT Récapitulatif inscription (concertRouter.js)", { numsession: req.session.id });
res.locals.identifiant = req.session.identifiant;
res.locals.association_suzuki = req.session.association_suzuki;
res.locals.hebergement_ville = req.session.hebergement_ville;
res.locals.hebergement_nb = req.session.hebergement_nb;
res.locals.spectateur_nb_place = req.session.spectateur_nb_place;
res.locals.cout_concertiste = req.session.cout_concertiste;
res.locals.cout_spectateur = req.session.cout_spectateur;
res.locals.montant_total = req.session.montant_total;
res.locals.don = req.session.don;
for (let toto = 1; toto < 5; toto++) {
if (req.session["eleve_"+toto+"_nom"]){
res.locals["eleve_"+toto+"_numero"] = toto;
res.locals["eleve_"+toto+"_nom"] = req.session["eleve_"+toto+"_nom"];
res.locals["eleve_"+toto+"_prenom"] = req.session["eleve_"+toto+"_prenom"];
res.locals["eleve_"+toto+"_age"] = req.session["eleve_"+toto+"_age"];
res.locals["eleve_"+toto+"_instrument"] = req.session["eleve_"+toto+"_instrument"];
res.locals["eleve_"+toto+"_cahier"] = req.session["eleve_"+toto+"_cahier"];
res.locals["eleve_"+toto+"_piece"] = req.session["eleve_"+toto+"_piece"];
res.locals["eleve_"+toto+"_prof_nom"] = req.session["eleve_"+toto+"_prof_nom"];
res.locals["eleve_"+toto+"_prof_mail"] = req.session["eleve_"+toto+"_prof_mail"];
}
}
for (let toto = 1; toto < 5; toto++) {
if (req.session["encadrant_"+toto+"_nom"]){
res.locals["encadrant_"+toto+"_numero"] = toto;
res.locals["encadrant_"+toto+"_type"] = req.session["encadrant_"+toto+"_type"];
res.locals["encadrant_"+toto+"_nom"] = req.session["encadrant_"+toto+"_nom"];
res.locals["encadrant_"+toto+"_prenom"] = req.session["encadrant_"+toto+"_prenom"];
res.locals["encadrant_"+toto+"_telephone_mobile"] = req.session["encadrant_"+toto+"_telephone_mobile"];
res.locals["encadrant_"+toto+"_mail"] = req.session["encadrant_"+toto+"_mail"];
res.locals["encadrant_"+toto+"_prof_instrument"] = req.session["encadrant_"+toto+"_prof_instrument"];
}
}
console.log("req.session.montant_total = ", req.session.montant_total);
if (req.session.montant_total > 0){
res.render('concert/page_templates/inscrip_recap_famille.ejs');
} else {
res.render('concert/page_templates/inscrip_recap_famille_sanspaiement.ejs');
}
});
// CLIC sur PAYER
router.post('/post_payer', payerController.payer);
// CLIC sur VALIDER pour inscription sans paiement
router.post('/post_valid_recap', payerController.payer);
/////////////////////////////////////////////////
// 5 - RETOUR STRIPE
// enregistrement dans la BD des participants
/////////////////////////////////////////////////
router.get('/concert_paiement/reussi', retourStripeController.retour_bank);
router.get('/concert_paiement/annule', retourStripeController.retour_bank);
/////////////////////////////////////////////////
// GOOGLE SHEET
// DÉCHARGEMENT DES DONNÉES DANS GOOGLE SHEET
/////////////////////////////////////////////////
router.get('/maj_googlesheet', function(req, res) {
logger.info("on est dans la page web maj_googlesheet (concertRouter.js)", { numsession: req.session.id });
// Pour afficher le résultats des requêtes de récupérations
res.locals.message = req.session.message;
res.locals.message2 = req.session.message2;
// il faut initialiser les variables après les avoir copiées dans la variable d'affichage pour ne pas laisser un chiffre
req.session.message = undefined;
req.session.message2 = undefined;
res.render('concert/page_templates/maj_googlesheet.ejs');
});
/////////////////////////////////////////////////
// ADMIN
router.get('/admin', 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('concert/page_templates/admin');
});
// CLIC "S'INSCRIRE" => VÉRIFICATION IDENTIFIANT
router.post('/ajout', ajout_controller.checkidentifiant);
router.get('/admin/inscription_famille', function(req, res) {
logger.info("on est dans la page web CONCERT AJOUT inscription famille (concertRouter.js)", { numsession: req.session.id });
res.locals.identifiant = req.session.identifiant;
res.locals.association_suzuki = req.session.association_suzuki;
res.locals.spectateur_nb_restantes = req.session.spectateur_nb_restantes;
console.log("res.locals.spectateur_nb_restantes = ", res.locals.spectateur_nb_restantes)
res.locals.encadr_parent_nb_restantes = req.session.encadr_parent_nb_restantes;
res.locals.tout_instrument_nb_restantes = req.session.tout_instrument_nb_restantes;
res.locals.piano_nb_restantes = req.session.piano_nb_restantes;
res.locals.alto_nb_restantes = req.session.alto_nb_restantes;
res.locals.flute_nb_restantes = req.session.flute_nb_restantes;
res.locals.trompette_nb_restantes = req.session.trompette_nb_restantes;
res.locals.harpe_nb_restantes = req.session.harpe_nb_restantes;
res.locals.violon1_nb_restantes = req.session.violon1_nb_restantes;
res.locals.violon2_nb_restantes = req.session.violon2_nb_restantes;
res.locals.violoncelle1_nb_restantes = req.session.violoncelle1_nb_restantes;
res.locals.violoncelle2_nb_restantes = req.session.violoncelle2_nb_restantes;
res.locals.deja_inscrit_concert = req.session.deja_inscrit_concert;
res.locals.quota_spectateur = req.session.quota_spectateur;
res.locals.quota_concertiste = req.session.quota_concertiste;
res.render('concert/page_templates/ajout_formulaire_famille');
});
/////////////////////////////////////////////////
// TEST
/////////////////////////////////////////////////
// CLIC SUR LE BOUTON "Mettre à jour GSheet"
router.post('/onglet_adherent', recup_gs_controller.recup_gs);
// CLIC SUR LE BOUTON "Envoyer" à Weezevent
router.post('/envoie_weezevent', weez_controller.weez_envoie);
/////////////////////////////////////////////////
// EXPORT DE MODULE POUR QU'IL SOIT LU DANS LES AUTRES FICHIERS JS
/////////////////////////////////////////////////
module.exports = router;