///////////////////////////////////////////////// // 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;