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