total_1ère
This commit is contained in:
218
controllers/concert_annuel/inscription_familleController.js
Normal file
218
controllers/concert_annuel/inscription_familleController.js
Normal file
@@ -0,0 +1,218 @@
|
||||
/////////////////////////////////////////////////
|
||||
// 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_famille = async function (req, res) {
|
||||
|
||||
logger.info("======================================", { label: filename });
|
||||
logger.info("======== FUNCTION inscription_famille ==========", { 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
|
||||
/////////////////////////////////////////////////
|
||||
|
||||
// EST_CE QUE LA PERSONNE VIENT DE AJOUT BILLET
|
||||
//req.session.ajout_billet = req.body.ajout_billet;
|
||||
//logger.info("////// AJOUT BILLET req.session.ajout_billet = " + req.session.ajout_billet, { numsession: req.session.id, label: filename});
|
||||
|
||||
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;
|
||||
if (req.session.deja_inscrit_concert == "non") {
|
||||
req.session.adherent_mail = req.body.adherent_mail;
|
||||
}
|
||||
|
||||
req.session.hebergement_ville = req.body.hebergement_ville;
|
||||
|
||||
if (req.body.hebergement_nb > 0) {
|
||||
req.session.hebergement_nb = req.body.hebergement_nb;
|
||||
} else {
|
||||
req.session.hebergement_nb = 0;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
req.session.commentaire_adherent = req.body.commentaire_adherent;
|
||||
|
||||
for (let toto = 1; toto < 5; toto++) {
|
||||
if (req.body["eleve_"+toto+"_nom"]){
|
||||
req.session["eleve_"+toto+"_nom"] = req.body["eleve_"+toto+"_nom"];
|
||||
req.session["eleve_"+toto+"_prenom"] = req.body["eleve_"+toto+"_prenom"];
|
||||
req.session["eleve_"+toto+"_age"] = req.body["eleve_"+toto+"_age"];
|
||||
req.session["eleve_"+toto+"_instrument"] = req.body["eleve_"+toto+"_instrument"];
|
||||
req.session["eleve_"+toto+"_cahier"] = req.body["eleve_"+toto+"_cahier"];
|
||||
req.session["eleve_"+toto+"_piece"] = req.body["eleve_"+toto+"_piece"];
|
||||
req.session["eleve_"+toto+"_prof_nom"] = req.body["eleve_"+toto+"_prof_nom"];
|
||||
req.session["eleve_"+toto+"_prof_mail"] = req.body["eleve_"+toto+"_prof_mail"];
|
||||
cout_concertiste += 23;
|
||||
if (req.session["eleve_"+toto+"_instrument"] == "Piano") {piano_compteur++}
|
||||
if (req.session["eleve_"+toto+"_instrument"] == "Alto") {alto_compteur++}
|
||||
if (req.session["eleve_"+toto+"_instrument"] == "Flute") {flute_compteur++}
|
||||
if (req.session["eleve_"+toto+"_instrument"] == "Trompette") {trompette_compteur++}
|
||||
if (req.session["eleve_"+toto+"_instrument"] == "Harpe") {harpe_compteur++}
|
||||
if (req.session["eleve_"+toto+"_instrument"] == "Violon" && (req.session["eleve_"+toto+"_cahier"]=="Cahier 1" || req.session["eleve_"+toto+"_cahier"]=="Cahier 2" || req.session["eleve_"+toto+"_cahier"]=="Cahier 3" || req.session["eleve_"+toto+"_cahier"]=="Cahier 4" || req.session["eleve_"+toto+"_cahier"]=="Cahier 5")) {violon1_compteur++}
|
||||
if (req.session["eleve_"+toto+"_instrument"] == "Violon" && (req.session["eleve_"+toto+"_cahier"]=="Cahier 6" || req.session["eleve_"+toto+"_cahier"]=="Cahier 7" || req.session["eleve_"+toto+"_cahier"]=="Cahier 8" || req.session["eleve_"+toto+"_cahier"]=="Cahier 9" || req.session["eleve_"+toto+"_cahier"]=="Cahier 10")) {violon2_compteur++}
|
||||
if (req.session["eleve_"+toto+"_instrument"] == "Violoncelle" && (req.session["eleve_"+toto+"_cahier"]=="Cahier 1" || req.session["eleve_"+toto+"_cahier"]=="Cahier 2" || req.session["eleve_"+toto+"_cahier"]=="Cahier 3" || req.session["eleve_"+toto+"_cahier"]=="Cahier 4")) {violoncelle1_compteur++}
|
||||
if (req.session["eleve_"+toto+"_instrument"] == "Violoncelle" && (req.session["eleve_"+toto+"_cahier"]=="Cahier 5" || req.session["eleve_"+toto+"_cahier"]=="Cahier 6" || req.session["eleve_"+toto+"_cahier"]=="Cahier 7" || req.session["eleve_"+toto+"_cahier"]=="Cahier 8" || req.session["eleve_"+toto+"_cahier"]=="Cahier 9" || req.session["eleve_"+toto+"_cahier"]=="Cahier 10")) {violoncelle2_compteur++}
|
||||
|
||||
} else {
|
||||
req.session["eleve_"+toto+"_nom"] = undefined;
|
||||
req.session["eleve_"+toto+"_prenom"] = undefined;
|
||||
req.session["eleve_"+toto+"_age"] = undefined;
|
||||
req.session["eleve_"+toto+"_instrument"] = undefined;
|
||||
req.session["eleve_"+toto+"_cahier"] = undefined;
|
||||
req.session["eleve_"+toto+"_piece"] = undefined;
|
||||
req.session["eleve_"+toto+"_prof_nom"] = undefined;
|
||||
req.session["eleve_"+toto+"_prof_mail"] = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
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.cout_concertiste = cout_concertiste;
|
||||
req.session.cout_spectateur = cout_spectateur;
|
||||
req.session.montant_commande = cout_concertiste + cout_spectateur;
|
||||
req.session.montant_total = cout_concertiste + 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 (piano_compteur > req.session.piano_nb_restantes || alto_compteur > req.session.alto_nb_restantes || flute_compteur > req.session.flute_nb_restantes || trompette_compteur > req.session.trompette_nb_restantes || harpe_compteur > req.session.harpe_nb_restantes || violon1_compteur > req.session.violon1_nb_restantes || violon2_compteur > req.session.violon2_nb_restantes || violoncelle1_compteur > req.session.violoncelle1_nb_restantes || violoncelle2_compteur > req.session.violoncelle2_nb_restantes) {
|
||||
logger.info("Plus de parent encadrant demandé que de restant", { numsession: req.session.id, label: filename});
|
||||
req.session.err_mail_form_adhesion_1 = 'Vous avez réservé plus de places élève concertiste que de places restantes. Veuillez recommencer.';
|
||||
affiche_page_identifier();
|
||||
} else {
|
||||
if (encadrant_compteur < 1 && cout_concertiste < 1 && req.session.deja_inscrit_concert == "non") {
|
||||
logger.info("pas d'encadrant ni de concertiste", { 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();
|
||||
} else {
|
||||
res.redirect('/concert/inscription_recap');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/////////////////////////////////////////////////
|
||||
// EXPORT DES MODULES POUR QU'ILS PUISSENT LUS PAR LES AUTRES FICHIERS JS
|
||||
/////////////////////////////////////////////////
|
||||
|
||||
module.exports = {
|
||||
inscription_famille
|
||||
}
|
||||
Reference in New Issue
Block a user