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

379 lines
20 KiB
JavaScript

/////////////////////////////////////////////////
// STAGE NATIONAL
// [DOMAIN]/stagenational
/////////////////////////////////////////////////
/////////////////////////////////////////////////
// LOGGING
/////////////////////////////////////////////////
const logger = require("../public/js/app/logger_stagenat");
/////////////////////////////////////////////////
// APPELS DES MODULES
/////////////////////////////////////////////////
const path = require("path");
const express = require('express');
const router = express.Router();
// CALCUL DE DATE
const moment = require('moment');
moment.locale('fr');
let now = moment().format("YYYY-MM-DD HH:mm:ss");
////////////////////////////////////////////////////
// FILE NAME
////////////////////////////////////////////////////
const filename = path.parse(__filename).base;
/////////////////////////////////////////////////
// APPELS DES FONCTIONS
/////////////////////////////////////////////////
const SN_checkidentifiant = require("../controllers/stage_national/stn_identifierController");
const SN_checkinfos = require("../controllers/stage_national/stn_formulaireController");
const post_payer_accompte = require("../controllers/stage_national/stn_payeracompteController");
const SN_retour_stripe = require("../controllers/stage_national/stn_retourstripeController");
/////////////////////////////////////////////////
// 1 - PAGE CHECK IDENTIFIANT
// AFFICHAGE DE LA PAGE
// URL du stage donné au public /stagenational 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
res.redirect('/stagenational/identifier');
});
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;
//}
// DATE LIMITE D'INSCRIPTION
// Date de process.env.sn_date_limite non incluse dans la période d'inscription
if (now > process.env.sn_date_limite) {
logger.info("DATE LIMITE DEPASSÉE", { numsession: req.session.id, label: filename});
req.session.datelimitedepass = "oui";
res.locals.datelimitedepass = "oui";
} else {
logger.info("DATE LIMITE NON DEPASSÉE", { numsession: req.session.id, label: filename});
req.session.datelimitedepass = "non";
res.locals.datelimitedepass = "non";
}
// affichage du template ejs /views/page_templates/inscription_accueil.ejs
res.render('stagenat/page_templates/inscrip_formulaire_identifier');
});
// SCRIPT SUR CLIC "S'INSCRIRE" POUR CHECKER IDENTIFIANT
router.post('/identifier', SN_checkidentifiant.SN_checkidentifiant);
/////////////////////////////////////////////////
// 2 - SAISIE DU FORMULAIRE D'INSCRIPTION AU STAGE
router.get('/formulaire', function(req, res) {
if (req.session.err_mineur == "oui") {
res.locals.err_mineur = 'Vous ne pouvez pas inscrire un enfant de moins de 14 ans (âge au premier jour du stage) sans adulte pour l\'accompagner.';
req.session.err_mineur = "non";
}
if (req.session.err_campado_capa == "oui") {
res.locals.err_campado_capa = "Il n'y a plus de place disponible pour inscrire une personne en Camp Ado";
req.session.err_campado_capa = "non";
}
logger.info("res.locals.err_campado_capa : " + res.locals.err_mineur, { numsession: req.session.id, label: filename});
logger.info("req.session.err_campado_capa : " + req.session.err_campado_capa, { numsession: req.session.id, label: filename});
res.locals.identifiant = req.session.identifiant;
logger.info("req.session.association_suzuki : " + req.session.association_suzuki);
res.locals.association_suzuki = req.session.association_suzuki;
// INITIALISÉ LES VARIABLES DE SESSION AVANT DE REMPLIR LE FORMULAIRE
req.session.adherent_nom = "";
req.session.adherent_prenom = "";
req.session.adherent_adresse_rue = "";
req.session.adherent_adresse_complement = "";
req.session.adherent_adresse_codepostal = "";
req.session.adherent_adresse_ville = "";
req.session.adherent_adresse_pays = "";
req.session.adherent_telephone_mobile = "";
req.session.adherent_telephone_fixe = "";
req.session.adherent_mail = "";
req.session.hebergement = "";
req.session.commentaire_adherent = "";
req.body.adherent_nom = "";
req.body.adherent_prenom = "";
req.body.adherent_adresse_rue = "";
req.body.adherent_adresse_complement = "";
req.body.adherent_adresse_codepostal = "";
req.body.adherent_adresse_ville = "";
req.body.adherent_adresse_pays = "";
req.body.adherent_telephone = "";
req.body.adherent_mail = "";
req.body.hebergement = "";
req.body.commentaire_adherent = "";
for (let toto = 1; toto < 7; toto++) {
req.session[`personne_${toto}_nom`] = "";
req.session[`personne_${toto}_prenom`] = "";
req.session[`personne_${toto}_prise_charge_nom`] = "";
req.session[`personne_${toto}_datenaissance`] = "";
req.session[`personne_${toto}_transport_mode`] = "";
req.session[`personne_${toto}_transport_arret`] = "";
req.session[`personne_${toto}_role`] = "";
req.session[`personne_${toto}_profil`] = "";
req.session[`personne_${toto}_instrument`] = "";
req.session[`personne_${toto}_instrument_ensemble`] = "";
req.session[`personne_${toto}_instrument_collectif`] = "";
req.session[`personne_${toto}_cahier`] = "";
req.session[`personne_${toto}_piece`] = "";
req.session[`personne_${toto}_prof`] = "";
req.session[`personne_${toto}_mail_prof`] = "";
req.session[`personne_${toto}_option_coursindividuel`] = "";
req.session[`personne_${toto}_option_decouvrealto`] = "";
req.session[`personne_${toto}_option_concertsolo_cahier`] = "";
req.session[`personne_${toto}_option_concertsolo_piece`] = "";
req.session[`personne_${toto}_activite_1`] = "";
req.session[`personne_${toto}_activite_2`] = "";
req.session[`personne_${toto}_age`] = undefined;
req.session[`personne_${toto}_opt_chantchoral`] = "";
req.session[`personne_${toto}_opt_dalcroze`] = "";
req.session[`personne_${toto}_opt_eveil`] = "";
req.session[`personne_${toto}_opt_collectif`] = "";
req.session[`personne_${toto}_opt_ensemble`] = "";
req.session[`personne_${toto}_opt_particulier`] = "";
for (let i = 1; i <= 5; i++) {
req.session[`personne_${toto}_activite_${i}`] = "";
req.body[`personne_${toto}_activite_${i}`] = "";
}
req.body[`personne_${toto}_nom`] = "";
req.body[`personne_${toto}_prenom`] = "";
req.body[`personne_${toto}_prise_charge_nom`] = "";
req.body[`personne_${toto}_datenaissance`] = "";
req.body[`personne_${toto}_transport_mode`] = "";
req.body[`personne_${toto}_transport_arret`] = "";
req.body[`personne_${toto}_role`] = "";
req.body[`personne_${toto}_profil`] = "";
req.body[`personne_${toto}_instrument`] = "";
req.body[`personne_${toto}_instrument_ensemble`] = "";
req.body[`personne_${toto}_instrument_collectif`] = "";
req.body[`personne_${toto}_cahier`] = "";
req.body[`personne_${toto}_piece`] = "";
req.body[`personne_${toto}_prof`] = "";
req.body[`personne_${toto}_mail_prof`] = "";
req.body[`personne_${toto}_option_coursindividuel`] = "";
req.body[`personne_${toto}_option_decouvrealto`] = "";
req.body[`personne_${toto}_option_concertsolo_cahier`] = "";
req.body[`personne_${toto}_option_concertsolo_piece`] = "";
req.body[`personne_${toto}_activite_1`] = "";
req.body[`personne_${toto}_activite_2`] = "";
}
// affichage du template ejs /views/page_templates/inscription_accueil.ejs
res.render('stagenat/page_templates/inscrip_formulaire');
});
// SCRIPT SUR CLIC "VALIDER" APRÈS AVOIR REMPLI LE FORMULAIRE
router.post('/formulaire', SN_checkinfos.SN_checkinfos);
/////////////////////////////////////////////////
// 3 - AFFICHER PAGE RÉCAP
router.get('/recap', function(req, res) {
req.session.onpeutcontinuer = "non";
res.locals.identifiant = req.session.identifiant;
res.locals.association_suzuki = req.session.association_suzuki;
if (req.session.hebergement == 'flocons verts partagé') {
res.locals.hebergement = "Centre les Flocons Verts - hébergement partagé";
}
if (req.session.hebergement == 'flocons verts non partagé') {
res.locals.hebergement = "Centre les Flocons Verts - hébergement non partagé";
}
if (req.session.hebergement == 'independant') {
res.locals.hebergement = "indépendant";
}
for (let toto = 1; toto < 7; toto++) {
if (req.session["personne_"+toto+"_nom"]) {
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+"_prise_charge_nom"] = req.session["personne_"+toto+"_prise_charge_nom"];
res.locals["personne_"+toto+"_profilage"] = req.session["personne_"+toto+"_profilage"];
// AFFICHER ACTIVITÉ
if (req.session["personne_"+toto+"_role"] === 'accompagnant_activite_adulte') {
res.locals["personne_"+toto+"_role"] = "accompagnant adulte avec activité";
res.locals["personne_"+toto+"_categorie"] = "accompagnant adulte avec activité";
} else if (req.session["personne_"+toto+"_role"] === 'accompagnant') {
res.locals["personne_"+toto+"_role"] = "accompagnant sans activité";
res.locals["personne_"+toto+"_categorie"] = "accompagnant sans activité";
} else if (req.session["personne_"+toto+"_role"] === 'accompagnant_activite_enfant') {
res.locals["personne_"+toto+"_role"] = "Accompagnant enfant avec activité";
res.locals["personne_"+toto+"_categorie"] = "Accompagnant enfant avec activité";
} else if (req.session["personne_"+toto+"_role"] === 'instrumentiste_camp') {
res.locals["personne_"+toto+"_role"] = "instrumentiste";
res.locals["personne_"+toto+"_categorie"] = "instrumentiste";
} else if (req.session["personne_"+toto+"_role"] === 'prof_invite') {
res.locals["personne_"+toto+"_role"] = "Professeur invité";
res.locals["personne_"+toto+"_categorie"] = "Professeur invité";
} else {
res.locals["personne_"+toto+"_role"] = req.session["personne_"+toto+"_role"];
res.locals["personne_"+toto+"_categorie"] = req.session["personne_"+toto+"_role"];
}
if (req.session["personne_"+toto+"_profil"] == 'professeur') {
res.locals["personne_"+toto+"_profil"] = "professeur";
}
if (req.session["personne_"+toto+"_profil"] == 'non_professeur') {
res.locals["personne_"+toto+"_profil"] = "externe";
}
if (req.session["personne_"+toto+"_profil"] == 'Camp ado') {
res.locals["personne_"+toto+"_profil"] = "Camp ado";
}
// AFFICHER MODE DE TRANSPORT
res.locals["personne_"+toto+"_transport_mode"] = req.session["personne_"+toto+"_transport_mode"];
if (req.session["personne_"+toto+"_transport_arret"] == 'arret_7_quai_lassagne_lyon') {
res.locals["personne_"+toto+"_transport_arret"] = "7 quai Lassagne Lyon";
}
if (req.session["personne_"+toto+"_transport_arret"] == 'arret_partdieu_lyon') {
res.locals["personne_"+toto+"_transport_arret"] = "Gare Part Dieu Lyon";
}
// AFFICHER INSTRUMENT
res.locals["personne_"+toto+"_instrument"] = req.session["personne_"+toto+"_instrument"];
res.locals["personne_"+toto+"_instrument_ensemble"] = req.session["personne_"+toto+"_instrument_ensemble"];
res.locals["personne_"+toto+"_instrument_collectif"] = req.session["personne_"+toto+"_instrument_collectif"];
res.locals["personne_"+toto+"_cahier"] = req.session["personne_"+toto+"_cahier"];
res.locals["personne_"+toto+"_option_concertsolo_cahier"] = req.session["personne_"+toto+"_option_concertsolo_cahier"];
res.locals["personne_"+toto+"_option_concertsolo_piece"] = req.session["personne_"+toto+"_option_concertsolo_piece"];
res.locals["personne_"+toto+"_option_decouvrealto"] = req.session["personne_"+toto+"_option_decouvrealto"];
// AFFICHER COUT
res.locals["personne_"+toto+"_cout_hebergement"] = req.session["personne_"+toto+"_cout_hebergement"];
res.locals["personne_"+toto+"_cout_transport"] = req.session["personne_"+toto+"_cout_transport"];
res.locals["personne_"+toto+"_eveil_cout"] = req.session["personne_"+toto+"_eveil_cout"];
res.locals["personne_"+toto+"_dalcroze_cout"] = req.session["personne_"+toto+"_dalcroze_cout"];
res.locals["personne_"+toto+"_chant_cout"] = req.session["personne_"+toto+"_chant_cout"];
res.locals["personne_"+toto+"_observation_cout"] = req.session["personne_"+toto+"_observation_cout"];
res.locals["personne_"+toto+"_cours_cout"] = req.session["personne_"+toto+"_cours_cout"];
res.locals["personne_"+toto+"_coursindividuel_cout"] = req.session["personne_"+toto+"_coursindividuel_cout"];
res.locals["personne_"+toto+"_option_decouvrealto_cout"] = req.session["personne_"+toto+"_option_decouvrealto_cout"];
res.locals["personne_"+toto+"_collectif_cout"] = req.session["personne_"+toto+"_collectif_cout"];
res.locals["personne_"+toto+"_ensemble_cout"] = req.session["personne_"+toto+"_ensemble_cout"];
res.locals["personne_"+toto+"_particulier_cout"] = req.session["personne_"+toto+"_particulier_cout"];
}
}
res.locals.frais_dossier = req.session.frais_dossier
res.locals.cout_total = req.session.cout_total;
res.locals.remise = req.session.remise;
res.locals.accompte_frais_bancaire = req.session.accompte_frais_bancaire;
res.locals.montant_accompte = req.session.montant_accompte;
res.locals.cout_total_dalcroze_surplace = req.session.cout_total_dalcroze_surplace;
res.locals.cout_supplement_hebergement = req.session.cout_supplement_hebergement;
if (req.session.montant_accompte > 1) {
res.render('stagenat/page_templates/recap');
}
if (req.session.montant_accompte < 1) {
res.render('stagenat/page_templates/recapssacompte');
}
});
// PAGE RÉCAP - CLICK SUR LE BOUTON MODIFIER
// EN CAS DE LIEN avec plusieurs / comme /stagenational/recap, il faut rappeler le premier (ici /stagenational)
// voir l'URL du POST dans l'onglet network de Chrome (type = document)
router.post('/post_recap_modifier', function(req, res){
res.redirect('/stagenational/identifier');
});
// PAGE RÉCAP - CLICK SUR LE BOUTON PAYER ACCOMPTE
router.post('/post_payer_accompte', post_payer_accompte.post_payer_accompte);
// PAGE RÉCAP - CLICK SUR LE BOUTON ENREGISTRER
//router.post('/post_enregistrer_inscrip_ssacompte', post_enregistrer_inscrip_ssacompte);
router.post('/post_enregistrer_inscrip_ssacompte', post_payer_accompte.post_payer_accompte);
/////////////////////////////////////////////////
// 4 - PAIEMENT DE L'ACOMPTE
router.get('/paiement_reussi', SN_retour_stripe.SN_accompte_reussi);
router.get('/paiement_annule', SN_retour_stripe.SN_accompte_annule);
/////////////////////////////////////////////////
// 4 - SANS ACOMPTE INSCRIPTION RÉUSSIE
router.get('/inscription_reussi', function(req, res) {
res.locals.identifiant = req.session.identifiant;
logger.info("req.session.association_suzuki : " + req.session.association_suzuki);
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.hebergement = req.session.hebergement;
res.locals.commentaire_adherent = req.session.commentaire_adherent;
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+"_prise_charge_nom"] = req.session["personne_"+toto+"_prise_charge_nom"];
res.locals["personne_"+toto+"_profilage"] = req.session["personne_"+toto+"_profilage"];
res.locals["personne_"+toto+"_categorie"] = req.session["personne_"+toto+"_categorie"];
res.locals["personne_"+toto+"_profil"] = req.session["personne_"+toto+"_profil"];
res.locals["personne_"+toto+"_transport_mode"] = req.session["personne_"+toto+"_transport_mode"];
res.locals["personne_"+toto+"_transport_arret"] = req.session["personne_"+toto+"_transport_arret"]
res.locals["personne_"+toto+"_instrument"] = req.session["personne_"+toto+"_instrument"];
res.locals["personne_"+toto+"_instrument_ensemble"] = req.session["personne_"+toto+"_instrument_ensemble"];
res.locals["personne_"+toto+"_instrument_collectif"] = req.session["personne_"+toto+"_instrument_collectif"];
res.locals["personne_"+toto+"_cahier"] = req.session["personne_"+toto+"_cahier"];
res.locals["personne_"+toto+"_option_coursindividuel"] = req.session["personne_"+toto+"_option_coursindividuel"];
res.locals["personne_"+toto+"_option_concertsolo"] = req.session["personne_"+toto+"_option_concertsolo"];
res.locals["personne_"+toto+"_activite_1"] = req.session["personne_"+toto+"_activite_1"];
res.locals["personne_"+toto+"_activite_2"] = req.session["personne_"+toto+"_activite_2"];
res.locals["personne_"+toto+"_cout_hebergement"] = req.session["personne_"+toto+"_cout_hebergement"];
res.locals["personne_"+toto+"_cout_transport"] = req.session["personne_"+toto+"_cout_transport"];
res.locals["personne_"+toto+"_activite_cout"] = req.session["personne_"+toto+"_activite_cout"];
res.locals["personne_"+toto+"_observation_cout"] = req.session["personne_"+toto+"_observation_cout"];
res.locals["personne_"+toto+"_cours_cout"] = req.session["personne_"+toto+"_cours_cout"];
}
res.locals.cout_total = req.session.cout_total;
res.locals.frais_dossier = req.session.frais_dossier;
res.locals.accompte_frais_bancaire = req.session.accompte_frais_bancaire;
res.locals.montant_accompte = req.session.montant_accompte;
res.locals.cout_total_dalcroze_surplace = req.session.cout_total_dalcroze_surplace;
// affichage du template ejs /views/page_templates/inscription_accueil.ejs
res.render('stagenat/page_templates/inscription_reussi');
});
/////////////////////////////////////////////////
// EXPORT DE MODULE POUR QU'IL SOIT LU DANS LES AUTRES FICHIERS JS
/////////////////////////////////////////////////
module.exports = router;