///////////////////////////////////////////////// // LOGGING ///////////////////////////////////////////////// const logger = require("../../public/js/app/logger_concert"); ///////////////////////////////////////////////// // APPELS DES MODULES ///////////////////////////////////////////////// const path = require("path"); const fs = require("fs"); // CALCUL DE DATE const moment = require('moment'); // ENVOIE MAIL GOOGLE MAIL const nodemailer = require('nodemailer'); // CONNECTION BASE DE DONNÉES const mysql = require('mysql2'); const mysql_promise = require('mysql2/promise'); ///////////////////////////////////////////////// // APPELS DES FONCTIONS ///////////////////////////////////////////////// const sleep = require("./../../modules/sleep"); //////////////////////////////////////////////////// // FILE NAME //////////////////////////////////////////////////// const filename = path.parse(__filename).base; //////////////////////////////////////////////////// // CONNECTION DB //////////////////////////////////////////////////// async function connect_DB_promise() { return db_connection_promise = await mysql_promise.createConnection({ host: process.env.db_connection_host, port: process.env.db_connection_port, user: process.env.db_connection_user, password: process.env.db_connection_password, database: process.env.db_connection_database }); } ///////////////////////////////////////////////// // 3 - PAGE INSCRIPTION FAMILLE ///////////////////////////////////////////////// const inscription_spectateur_tous_recap = async function (req, res) { logger.info("======================================", { label: filename }); logger.info("======== FUNCTION inscription_spectateur_tous_recap ==========", { label: filename }); logger.info("======================================", { label: filename }); // VARIABLES let cout_concertiste = 0; let cout_spectateur = 0; let montant_total = 0; let montant_commande = 0; let don = 0; let encadrant_compteur = 0; let piano_compteur = 0; let alto_compteur = 0; let flute_compteur = 0; let trompette_compteur = 0; let harpe_compteur = 0; let violon1_compteur = 0; let violon2_compteur = 0; let violoncelle1_compteur = 0; let violoncelle2_compteur = 0; function affiche_page_identifier() { //////////////////////////////////////////////////// // AFFIHER LA PAGE /identifier // AFFICHAGE DES ERREURS // EN CAS DE RETOUR SUR LA PAGE AVEC ERREUR : // - SI IDENTIFIANT NON ADHÉRENT // - SI RIEN SAISIE //////////////////////////////////////////////////// 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; } res.render('concert/page_templates/erreur'); }; ///////////////////////////////////////////////// // RÉCUPÉRER LES INFORMATIONS SAISIES DANS LE FORMULAIRE ///////////////////////////////////////////////// req.session.identifiant = req.body.identifiant_adherent; req.session.association_suzuki = req.body.association_suzuki; req.session.adherent_nom = req.body.adherent_nom; req.session.adherent_prenom = req.body.adherent_prenom; req.session.adherent_telephone_mobile = req.body.adherent_telephone_mobile; req.session.adherent_mail = req.body.adherent_mail; if (req.body.spectateur_nb_place > 0) { req.session.spectateur_nb_place = req.body.spectateur_nb_place; cout_spectateur = 20 * req.session.spectateur_nb_place; } else { req.session.spectateur_nb_place = 0; } for (let toto = 1; toto < 5; toto++) { if (req.body["encadrant_"+toto+"_nom"]){ req.session["encadrant_"+toto+"_type"] = req.body["encadrant_"+toto+"_type"]; req.session["encadrant_"+toto+"_nom"] = req.body["encadrant_"+toto+"_nom"]; req.session["encadrant_"+toto+"_prenom"] = req.body["encadrant_"+toto+"_prenom"]; req.session["encadrant_"+toto+"_telephone_mobile"] = req.body["encadrant_"+toto+"_telephone_mobile"]; req.session["encadrant_"+toto+"_mail"] = req.body["encadrant_"+toto+"_mail"]; req.session["encadrant_"+toto+"_prof_instrument"] = req.body["encadrant_"+toto+"_prof_instrument"]; encadrant_compteur++; } else { req.session["encadrant_"+toto+"_type"] = undefined; req.session["encadrant_"+toto+"_nom"] = undefined; req.session["encadrant_"+toto+"_prenom"] = undefined; req.session["encadrant_"+toto+"_telephone_mobile"] = undefined; req.session["encadrant_"+toto+"_mail"] = undefined; req.session["encadrant_"+toto+"_prof_instrument"] = undefined; } } if (req.body.don && req.body.don > 0) {req.session.don = req.body.don;} else {req.session.don = 0;} ///////////////////////////////////////////////// // RÉCAP TARIF ///////////////////////////////////////////////// req.session.montant_commande = cout_spectateur; req.session.montant_total = cout_spectateur + parseInt(req.session.don); ///////////////////////////////////////////////// // ENVOIE VERS PAGE SUIVANTE // SI PAS DE CONCERTISTE OU PAS D'ENCADRANT ON NE PEUT PAS AVANCER // Par ex si on n'inscrit que des spectateurs ///////////////////////////////////////////////// if (req.session.montant_total > 0 || encadrant_compteur > 0) { req.session.deja_inscrit_concert = "oui"; res.redirect('/concert/inscription_recap'); } else { logger.info("montant de la commande inférieur à 0 OU 0 encadrant", { numsession: req.session.id, label: filename}); req.session.err_mail_form_adhesion_1 = "Veuillez réserver au moins un élève concertiste ou une personne encadrante"; affiche_page_identifier(); } } ///////////////////////////////////////////////// // EXPORT DES MODULES POUR QU'ILS PUISSENT LUS PAR LES AUTRES FICHIERS JS ///////////////////////////////////////////////// module.exports = { inscription_spectateur_tous_recap }