1633 lines
94 KiB
JavaScript
1633 lines
94 KiB
JavaScript
/////////////////////////////////////////////////
|
||
// LOGGING
|
||
/////////////////////////////////////////////////
|
||
const logger = require("../public/js/app/logger");
|
||
logger.info("NOUS SOMMES DANS LE FICHIER : " + __filename);
|
||
|
||
/////////////////////////////////////////////////
|
||
// APPELS DES MODULES
|
||
/////////////////////////////////////////////////
|
||
|
||
const moment = require('moment');
|
||
const ejs = require('ejs');
|
||
var nodemailer = require('nodemailer');
|
||
const path = require("path");
|
||
const stripe = require('stripe')(process.env.STRIPE_PRIVATE_KEY);
|
||
var pdf = require("pdf-creator-node");
|
||
var fs = require("fs");
|
||
|
||
/////////////////////////////////////////////////
|
||
// GOOGLE SHEET PARAMETERS
|
||
/////////////////////////////////////////////////
|
||
const { GoogleSpreadsheet } = require('google-spreadsheet');
|
||
const GS_creds_stagean = require('../inscriptionsafps-53b60452f63d.json');
|
||
const GS_stagean = new GoogleSpreadsheet('1STdRD5lXP316hgtdQfNqcqSQavzaoOXDMOqmfqPc3_0');
|
||
|
||
|
||
/////////////////////////////////////////////////
|
||
// VARIABLES GLOBALES
|
||
/////////////////////////////////////////////////
|
||
|
||
|
||
/////////////////////////////////////////////////
|
||
// PAGE 1
|
||
// http://localhost:8888/stagenational/identifier
|
||
//
|
||
// RECHERCHE SI PERSONNE DÉJA INSCRITE
|
||
// SI NON INSCRITE
|
||
// RECHERCHE SI ADHÉRENTE DANS BD AFPS
|
||
//
|
||
/////////////////////////////////////////////////
|
||
|
||
const SN_checkidentifiant = async function(req, res) {
|
||
|
||
/////////////////////////////////////////////////
|
||
// RECHERCHE SI PERSONNE DÉJA INSCRITE
|
||
// DANS BD DU STAGE ANNUEL
|
||
logger.info("======================================");
|
||
logger.info("======== FUNCTION SN_checkidentifiant ==========");
|
||
logger.info("======================================");
|
||
|
||
await GS_stagean.useServiceAccountAuth(GS_creds_stagean);
|
||
await GS_stagean.loadInfo(); // loads document properties and worksheets
|
||
logger.info("NOM FICHIER SHEET: " + GS_stagean.title, { numsession: req.session.id });
|
||
const GS_SN_sheet = GS_stagean.sheetsByTitle['inscription_web'];
|
||
logger.info("NOM DU TABLEAU (ONGLET): "+GS_SN_sheet.title); //NOM DU TABLEAU (ONGLET)
|
||
|
||
const GS_SN_rows = await GS_SN_sheet.getRows();
|
||
|
||
// mettre les identifiants dans un array
|
||
let lesidentifiants = new Array;
|
||
let compteur = GS_SN_sheet.rowCount - 1;
|
||
console.log("compteur: ",compteur);
|
||
|
||
for (let i=0; i<compteur; i++) {
|
||
lesidentifiants[i] = GS_SN_rows[i].identifiant;
|
||
}
|
||
|
||
// afficher le array
|
||
console.log("VOICI LA LISTE DES IDENTIFIANTS");
|
||
logger.info("VOICI LA LISTE DES IDENTIFIANTS");
|
||
console.info(lesidentifiants);
|
||
logger.info(lesidentifiants);
|
||
|
||
// recherche l'identifiant saisi dans le array de tous les identifiants de la Google Sheet
|
||
// ON RÉCUPÈRE L'IDENTIFIANT SAISIE DANS LE FORMULAIRE
|
||
|
||
// EST-CE QUE L'IDENTIFIANT EST SAISI ?
|
||
logger.info("identifiant saisi : "+req.body.identifiant);
|
||
if (req.body.identifiant) {
|
||
|
||
// IDENTIFIANT SAISI
|
||
req.session.identifiant = req.body.identifiant;
|
||
logger.info("req.body.identifiant : " + req.body.identifiant, { numsession: req.session.id });
|
||
logger.info("req.session.identifiant : " + req.session.identifiant, { numsession: req.session.id });
|
||
|
||
// EST-CE QUE L'IDENTIFIANT SAISI EST DÉJA INSCRIT AU STAGE
|
||
if (lesidentifiants.includes(req.body.identifiant) === true) {
|
||
// DÉJA INSCRIT AU STAGE
|
||
req.session.err_mail_form_adhesion_1 = "Cette identifiant est déjà inscrit pour le stage national 2023.";
|
||
req.session.err_mail_form_adhesion_2 = "Pour tout problème veuillez contacter l’Association.";
|
||
req.session.err_mail_form_adhesion_3 = "";
|
||
res.redirect('/stagenational/identifier');
|
||
} else {
|
||
// NON ENCORE INSCRIT AU STAGE
|
||
|
||
// COCHÉ AUTRE PAYS
|
||
logger.info("Etat case à coché autre pays : " + req.body.check_autrepays, { numsession: req.session.id });
|
||
if (req.body.check_autrepays){
|
||
req.session.err_mail_form_adhesion_1 = "Vous n'êtes pas encore inscrit au stage";
|
||
req.session.err_mail_form_adhesion_2 = "Vous ètes membre Suzuki d'un autre pays";
|
||
req.session.err_mail_form_adhesion_3 = "Nous allons vous diriger vers le formulaire d'inscription";
|
||
res.redirect('/stagenational/formulaire');
|
||
}
|
||
|
||
// COCHÉ AUTRE NON ADHÉRENT
|
||
logger.info("Etat case à coché non adhérent : " + req.body.check_nonadherent, { numsession: req.session.id });
|
||
if (req.body.check_nonadherent){
|
||
req.session.err_mail_form_adhesion_1 = "Etre adhérent (et posséder un identifiant) à une association de la pédagogie Suzuki est obligatoire pour toute famille ou personne qui souhaite participer au stage";
|
||
req.session.err_mail_form_adhesion_2 = 'Pour adhérer à l\'association Française pour la Pédagogie Suzuki <a target="_blank" href="https://www.adhesion.afpedagogiesuzuki.fr/inscription/adhesion"><span class="souligne">Cliquez ici</span></a>';
|
||
req.session.err_mail_form_adhesion_3 = 'Vous pouvez également adhérer à l\'association de votre pays. <a target="_blank" href="https://www.europeansuzuki.org/countries/"><span class="souligne">Vous trouverez ici les pays européens</span></a>';
|
||
res.redirect('/stagenational/identifier');
|
||
}
|
||
|
||
// SI RIEN COCHÉ
|
||
if (typeof req.body.check_autrepays === 'undefined' && typeof req.body.check_nonadherent === 'undefined') {
|
||
|
||
// ON VA VOIR S'IL EST DANS LA BD DES ADHÉRENTS
|
||
|
||
// BASE DE DONNÉES DES ADHÉRENTS
|
||
// 2 SHEETS
|
||
|
||
const GS_creds_adhe = require('../testapi336520-3105cc3caa46.json');
|
||
const GS_adhe = new GoogleSpreadsheet('1BhpYj-KtsyC8inXIDVl-zldDYRuhEqPwBFvP45FtJkI');
|
||
await GS_adhe.useServiceAccountAuth(GS_creds_adhe);
|
||
await GS_adhe.loadInfo(); // loads document properties and worksheets
|
||
console.log("NOM FICHIER SHEET: ",GS_adhe.title); //nom du fichier
|
||
const GS_adh_sheet = GS_adhe.sheetsByTitle['adhesion_annuelle_web'];
|
||
const GS_adh_sheet_asslocales = GS_adhe.sheetsByTitle['adhesion_ass_locales'];
|
||
const GS_adh_rows = await GS_adh_sheet.getRows();
|
||
const GS_adh_rows_asslocales = await GS_adh_sheet_asslocales.getRows();
|
||
|
||
let lesidentifiants_adh = new Array;
|
||
let compteur_adh = GS_adh_sheet.rowCount - 1;
|
||
let compteur_adh_asslocales = GS_adh_sheet_asslocales.rowCount - 1;
|
||
|
||
// RÉCUPÉRER LES IDENTIFIANTS DU TABLEAU adhesion_annuelle_web
|
||
for (let i=0; i<compteur_adh; i++) {
|
||
lesidentifiants_adh.push({identifiant : GS_adh_rows[i].identifiant, association : "AFPS", Adhesion_paye : GS_adh_rows[i].Adhesion_paye});
|
||
}
|
||
// RÉCUPÉRER LES IDENTIFIANTS DU TABLEAU adhesion_ass_locales
|
||
for (let i=0; i<compteur_adh_asslocales; i++) {
|
||
lesidentifiants_adh.push({identifiant : GS_adh_rows_asslocales[i].identifiant, association : GS_adh_rows_asslocales[i].association, Adhesion_paye : GS_adh_rows_asslocales[i].Adhesion_paye });
|
||
}
|
||
console.log("ARRAY lesidentifiants_adh :");
|
||
console.info(lesidentifiants_adh);
|
||
|
||
// RECHERCHE DE L'IDENTIFIANT SAISI DANS LE ARRAY
|
||
const adherent_resultat = lesidentifiants_adh.find( adherent => adherent.identifiant === req.session.identifiant);
|
||
|
||
if (adherent_resultat){
|
||
logger.info("Identifiant trouvé dans la base des adhésions : " + adherent_resultat.identifiant, { numsession: req.session.id });
|
||
logger.info("Adhésion payé : " + adherent_resultat.Adhesion_paye, { numsession: req.session.id });
|
||
if (adherent_resultat.Adhesion_paye === "paye" || adherent_resultat.Adhesion_paye === "attente"){
|
||
logger.info("Identifiant trouvé et payé dans la base des adhésions", { numsession: req.session.id });
|
||
req.session.err_mail_form_adhesion_1 = "Cet identifiant est bien inscrit dans les adhésions 2022/2023.";
|
||
req.session.err_mail_form_adhesion_2 = "Nous pouvons donc procéder à l'inscription au stage.";
|
||
req.session.err_mail_form_adhesion_3 = "Vous allez être rediriger vers le formulaire.";
|
||
|
||
req.session.association = adherent_resultat.association;
|
||
|
||
console.log("NOM FICHIER SHEET: ",adherent_resultat);
|
||
console.log("adherent_resultat association : ",adherent_resultat.association);
|
||
console.log("adherent_resultat identifiant : ",adherent_resultat.identifiant);
|
||
|
||
res.redirect('/stagenational/formulaire');
|
||
} else {
|
||
logger.info("Identifiant trouvé mais NON payé dans la base des adhésions", { numsession: req.session.id });
|
||
req.session.err_mail_form_adhesion_1 = "Cet identifiant n'a pas payé l'adhésion 2022/2023.";
|
||
req.session.err_mail_form_adhesion_2 = "Vous devez adhérer avant de vous inscrire au stage";
|
||
req.session.err_mail_form_adhesion_3 = 'Pour adhérer à l\'association Française pour la Pédagogie Suzuki <a target="_blank" href="https://www.adhesion.afpedagogiesuzuki.fr/inscription/adhesion"><span class="souligne">Cliquez ici</span></a>';
|
||
res.redirect('/stagenational/identifier');
|
||
|
||
}
|
||
} else {
|
||
logger.info("Identifiant NON trouvé dans la base des adhésions", { numsession: req.session.id });
|
||
req.session.err_mail_form_adhesion_1 = "Cet identifiant N'EST PAS inscrit dans les adhésions 2022/2023.";
|
||
req.session.err_mail_form_adhesion_2 = "Vous devez adhérer avant de vous inscrire au stage";
|
||
req.session.err_mail_form_adhesion_3 = 'Pour adhérer à l\'association Française pour la Pédagogie Suzuki <a target="_blank" href="https://www.adhesion.afpedagogiesuzuki.fr/inscription/adhesion"><span class="souligne">Cliquez ici</span></a>';
|
||
res.redirect('/stagenational/identifier');
|
||
|
||
}
|
||
}
|
||
|
||
}
|
||
} else {
|
||
// IDENTIFIANT NON SAISI
|
||
req.session.err_mail_form_adhesion_1 = "Etre adhérent (et posséder un identifiant) à une association de la pédagogie Suzuki est obligatoire pour toute famille ou personne qui souhaite participer au stage";
|
||
req.session.err_mail_form_adhesion_2 = 'Pour adhérer à l\'association Française pour la Pédagogie Suzuki <a target="_blank" href="https://www.adhesion.afpedagogiesuzuki.fr/inscription/adhesion"><span class="souligne">Cliquez ici</span></a>';
|
||
req.session.err_mail_form_adhesion_3 = 'Vous pouvez également adhérer à l\'association de votre pays. <a target="_blank" href="https://www.europeansuzuki.org/countries/"><span class="souligne">Vous trouverez ici les pays européens</span></a>';
|
||
res.redirect('/stagenational/identifier');
|
||
}
|
||
|
||
}
|
||
|
||
|
||
/////////////////////////////////////////////////
|
||
// PAGE 2
|
||
// http://localhost:8888/stagenational/formulaire
|
||
//
|
||
// RECUPERATION CHAMPS SAISIS
|
||
// CALCUL AGE
|
||
// CALCUL DU PRIX
|
||
// AFFICHER PAGE RECAP
|
||
//
|
||
/////////////////////////////////////////////////
|
||
|
||
const SN_checkinfos = async function(req, res) {
|
||
|
||
logger.info("======================================");
|
||
logger.info("======== FUNCTION post_form_stagenat ==========");
|
||
logger.info("======================================");
|
||
|
||
// RÉCUPÉRATION DES DONNÉES DU FORMULAIRE DANS LA SESSION EN COURS
|
||
req.session.association = req.body.association;
|
||
logger.info("req.session.association : " + req.session.association, { numsession: req.session.id });
|
||
logger.info("req.session.montant_accompte = " + req.session.montant_accompte, { numsession: req.session.id });
|
||
req.session.adherent_nom = req.body.adherent_nom;
|
||
req.session.adherent_prenom = req.body.adherent_prenom;
|
||
req.session.adherent_adresse_rue = req.body.adherent_adresse_rue;
|
||
req.session.adherent_adresse_complement = req.body.adherent_adresse_complement;
|
||
req.session.adherent_adresse_codepostal = req.body.adherent_adresse_codepostal;
|
||
req.session.adherent_adresse_ville = req.body.adherent_adresse_ville;
|
||
req.session.adherent_adresse_pays = req.body.adherent_adresse_pays;
|
||
req.session.adherent_telephone_mobile = req.body.adherent_telephone_mobile;
|
||
req.session.adherent_telephone_fixe = req.body.adherent_telephone_fixe;
|
||
req.session.adherent_mail = req.body.adherent_mail;
|
||
req.session.hebergement = req.body.hebergement;
|
||
req.session.commentaire_adherent = req.body.commentaire_adherent;
|
||
|
||
//// INITIALISATION DES MONTANTS PAR FAMILLE
|
||
req.session["cout_total"] = 0;
|
||
req.session.frais_dossier = 0;
|
||
req.session["cout_total_hebergement"] = 0;
|
||
req.session["cout_total_transport"] = 0;
|
||
req.session.cout_total_dalcroze = 0;
|
||
req.session.cout_total_percussion = 0;
|
||
req.session.cout_total_chant = 0;
|
||
req.session.cout_total_dalcroze_surplace = 0;
|
||
req.session.cout_total_percussion_surplace = 0;
|
||
req.session.cout_total_observation = 0;
|
||
req.session.cout_total_cours = 0;
|
||
req.session.cout_total_campado = 0;
|
||
req.session.accompte_frais_bancaire = 0;
|
||
req.session.remise = "";
|
||
req.session.montant_accompte = 0;
|
||
logger.info("req.session.montant_accompte = " + req.session.montant_accompte, { numsession: req.session.id });
|
||
logger.info("req.session.cout_total_dalcroze_surplace = " + req.session.cout_total_dalcroze_surplace, { numsession: req.session.id });
|
||
|
||
var adulte_trouve = "non";
|
||
|
||
for (let toto = 1; toto < 7; toto++) {
|
||
req.session["personne_"+toto+"_nom"] = req.body["personne_"+toto+"_nom"];
|
||
logger.info('req.session["personne_"'+toto+'"_nom"]' + req.session["personne_"+toto+"_nom"], { numsession: req.session.id });
|
||
req.session["personne_"+toto+"_prenom"] = req.body["personne_"+toto+"_prenom"];
|
||
console.log('req.session["personne_"'+toto+'"_prenom"] =',req.session["personne_"+toto+"_prenom"]);
|
||
req.session["personne_"+toto+"_datenaissance"] = req.body["personne_"+toto+"_datenaissance"];
|
||
console.log('req.session["personne_"'+toto+'"_datenaissance"]', req.session["personne_"+toto+"_datenaissance"]);
|
||
|
||
req.session["personne_"+toto+"_transport_mode"] = req.body["personne_"+toto+"_transport_mode"];
|
||
console.log('req.session["personne_"'+toto+'"_transport_mode"]',req.session["personne_"+toto+"_transport_mode"]);
|
||
req.session["personne_"+toto+"_transport_arret"] = req.body["personne_"+toto+"_transport_arret"];
|
||
console.log('req.session["personne_"'+toto+'"_transport_arret"]',req.session["personne_"+toto+"_transport_arret"]);
|
||
req.session["personne_"+toto+"_categorie"] = req.body["personne_"+toto+"_categorie"];
|
||
console.log('req.session["personne_"'+toto+'"_categorie"]',req.session["personne_"+toto+"_categorie"]);
|
||
req.session["personne_"+toto+"_profil"] = req.body["personne_"+toto+"_profil"];
|
||
console.log('req.session["personne_"'+toto+'"_profil"]',req.session["personne_"+toto+"_profil"]);
|
||
req.session["personne_"+toto+"_instrument"] = req.body["personne_"+toto+"_instrument"];
|
||
console.log('req.session["personne_"'+toto+'"_instrument"]',req.session["personne_"+toto+"_instrument"]);
|
||
req.session["personne_"+toto+"_cahier"] = req.body["personne_"+toto+"_cahier"];
|
||
console.log('req.session["personne_"'+toto+'"_cahier"]',req.session["personne_"+toto+"_cahier"]);
|
||
req.session["personne_"+toto+"_piece"] = req.body["personne_"+toto+"_piece"];
|
||
console.log('req.session["personne_"'+toto+'"_piece"]',req.session["personne_"+toto+"_piece"]);
|
||
req.session["personne_"+toto+"_prof"] = req.body["personne_"+toto+"_prof"];
|
||
console.log('req.session["personne_"'+toto+'"_prof"]',req.session["personne_"+toto+"_prof"]);
|
||
req.session["personne_"+toto+"_mail_prof"] = req.body["personne_"+toto+"_mail_prof"];
|
||
console.log('req.session["personne_"'+toto+'"_mail_prof"]',req.session["personne_"+toto+"_mail_prof"]);
|
||
req.session["personne_"+toto+"_option_coursindividuel"] = req.body["personne_"+toto+"_option_coursindividuel"];
|
||
console.log('req.session["personne_"'+toto+'"_option_coursindividuel"]',req.session["personne_"+toto+"_option_coursindividuel"]);
|
||
req.session["personne_"+toto+"_option_concertsolo"] = req.body["personne_"+toto+"_option_concertsolo"];
|
||
console.log('req.session["personne_"'+toto+'"_option_concertsolo"]',req.session["personne_"+toto+"_option_concertsolo"]);
|
||
req.session["personne_"+toto+"_option_concertsolo_cahier"] = req.body["personne_"+toto+"_option_concertsolo_cahier"];
|
||
console.log('req.session["personne_"'+toto+'"_option_concertsolo_cahier"]',req.session["personne_"+toto+"_option_concertsolo_cahier"]);
|
||
req.session["personne_"+toto+"_option_concertsolo_piece"] = req.body["personne_"+toto+"_option_concertsolo_piece"];
|
||
console.log('req.session["personne_"'+toto+'"_option_concertsolo_piece"]',req.session["personne_"+toto+"_option_concertsolo_piece"]);
|
||
req.session["personne_"+toto+"_activite_1"] = req.body["personne_"+toto+"_activite_1"];
|
||
console.log('req.session["personne_"'+toto+'"_activite_1"]',req.session["personne_"+toto+"_activite_1"]);
|
||
req.session["personne_"+toto+"_activite_2"] = req.body["personne_"+toto+"_activite_2"];
|
||
console.log('req.session["personne_"'+toto+'"_activite_2"]',req.session["personne_"+toto+"_activite_2"]);
|
||
|
||
// CALCUL ÂGE PERSONNE AU 20 aout 2023
|
||
// CALCUL PROFIL AGE DE LA PERSONNE AU 20 aout 2023
|
||
console.log('req.session["personne_"'+toto+'"_datenaissance"]', req.session["personne_"+toto+"_datenaissance"]);
|
||
if (req.session["personne_"+toto+"_datenaissance"]) {
|
||
logger.info('req.session["personne_"'+toto+'"_datenaissance"] : ' + req.session["personne_"+toto+"_datenaissance"], { numsession: req.session.id });
|
||
let datenaissance_concat = req.session["personne_"+toto+"_datenaissance"];
|
||
logger.info("datenaissance_concat : " + datenaissance_concat, { numsession: req.session.id });
|
||
|
||
var an=datenaissance_concat.substr(6,4); // l'année (les quatre premiers caractères de la chaîne à partir de 6)
|
||
var mois=datenaissance_concat.substr(3,2);// On selectionne le mois de la date de naissance
|
||
var day= datenaissance_concat.substr(0,2); // On selectionne la jour de la date de naissance
|
||
|
||
var birthDate = new Date(an + "-" + mois + "-" + day);
|
||
|
||
var debutstage = new Date('2023-08-20');
|
||
logger.info("birthDate : " + birthDate, { numsession: req.session.id });
|
||
logger.info("debutstage : " + debutstage, { numsession: req.session.id });
|
||
|
||
var age = debutstage.getFullYear() - birthDate.getFullYear();
|
||
logger.info("age : " + age, { numsession: req.session.id });
|
||
var m = debutstage.getMonth() - birthDate.getMonth();
|
||
console.log("m = ",m);
|
||
if (m < 0 || (m === 0 && debutstage.getDate() < birthDate.getDate())) {
|
||
logger.info("debutstage.getDate() = " + debutstage.getDate(), { numsession: req.session.id });
|
||
age--;
|
||
}
|
||
|
||
req.session["personne_"+toto+"_age"] = age;
|
||
logger.info('age : ' + age, { numsession: req.session.id });
|
||
|
||
// CALCUL PROFIL_AGE DE LA PERSONNE AU 20 aout 2023
|
||
req.session["personne_"+toto+"_profilage"] = (age < 3) ? "moins_3ans": (age >= 3 && age <= 5) ? "3-5ans": (age >= 6 && age <= 11) ? "6-11ans": (age >= 12 && age <= 15) ? "12-15ans" : (age >= 16 && age <= 17) ? "16-17ans" : "adulte";
|
||
logger.info('req.session["personne_"'+toto+'"_profilage"]' + req.session["personne_"+toto+"_profilage"], { numsession: req.session.id });
|
||
|
||
// Pour camp ado : on vérifie s'il y a un adulte ou non
|
||
|
||
if (req.session["personne_"+toto+"_age"] > 17) {
|
||
adulte_trouve = "oui";
|
||
logger.info("adulte_trouve : " + adulte_trouve, { numsession: req.session.id });
|
||
};
|
||
|
||
///////////////////////
|
||
// TARIF PAR PERSONNE
|
||
|
||
//// INITIALISATION DES MONTANTS PAR PERSONNE
|
||
req.session["personne_"+toto+"_cout_hebergement"] = 0;
|
||
req.session["personne_"+toto+"_cout_transport"] = 0;
|
||
req.session["personne_"+toto+"_activite_cout"] = 0;
|
||
req.session["personne_"+toto+"_observation_cout"] = 0;
|
||
req.session["personne_"+toto+"_cours_cout"] = 0;
|
||
req.session["personne_"+toto+"_campado_cout"] = 0;
|
||
|
||
|
||
// FLOCONS VERT COUT PAR PERSONNE
|
||
|
||
if (req.session.hebergement == "flocons verts") {
|
||
logger.info("CALCUL HEBERGEMENT : " + req.session.hebergement, { numsession: req.session.id });
|
||
console.log('req.session["personne_"+toto+"_age"] =',req.session["personne_"+toto+"_age"]);
|
||
// ADULTE
|
||
if (req.session["personne_"+toto+"_age"] > 15) {
|
||
console.log("AGE > 17");
|
||
req.session["personne_"+toto+"_cout_hebergement"] = 290;
|
||
req.session["cout_total"] += 290;
|
||
console.log(typeof req.session["cout_total"]);
|
||
req.session["cout_total_hebergement"] += 290;
|
||
console.log ("cout_total = ", req.session["cout_total"]);
|
||
}
|
||
if (req.session["personne_"+toto+"_age"] >= 12 && req.session["personne_"+toto+"_age"] <= 15) {
|
||
console.log("12 < AGE > 15");
|
||
req.session["personne_"+toto+"_cout_hebergement"] = 261;
|
||
req.session["cout_total"] += 261;
|
||
req.session["cout_total_hebergement"] += 261;
|
||
console.log ("cout_total = ", req.session["cout_total"]);
|
||
}
|
||
if (req.session["personne_"+toto+"_age"] >= 6 && req.session["personne_"+toto+"_age"] <= 11) {
|
||
console.log("6 < AGE > 11");
|
||
req.session["personne_"+toto+"_cout_hebergement"] = 232;
|
||
req.session["cout_total"] += 232;
|
||
req.session["cout_total_hebergement"] += 232;
|
||
console.log ("cout_total = ", req.session["cout_total"]);
|
||
}
|
||
if (req.session["personne_"+toto+"_age"] >= 3 && req.session["personne_"+toto+"_age"] <= 5) {
|
||
console.log("3 < AGE > 5");
|
||
req.session["personne_"+toto+"_cout_hebergement"] = 174;
|
||
req.session["cout_total_hebergement"] += 174;
|
||
req.session["cout_total"] += 174;
|
||
console.log ("cout_total = ", req.session["cout_total"]);
|
||
}
|
||
}
|
||
console.log ('req.session["personne_"+toto+"_cout_hebergement"] = ', req.session["personne_"+toto+"_cout_hebergement"]);
|
||
console.log ("cout_total_hebergement = ", req.session["cout_total_hebergement"]);
|
||
console.log ("cout_total = ", req.session["cout_total"]);
|
||
|
||
// CAR COUT PAR PERSONNE
|
||
if (req.session["personne_"+toto+"_transport_mode"] == "car") {
|
||
req.session["personne_"+toto+"_cout_transport"] = 55;
|
||
req.session["cout_total_transport"] += 55;
|
||
req.session["cout_total"] += 55;
|
||
}
|
||
console.log ("cout_total_transport = ", req.session["cout_total_transport"]);
|
||
console.log ("cout_total = ", req.session["cout_total"]);
|
||
|
||
// ACTIVITE COUT PAR PERSONNE
|
||
if (req.session["personne_"+toto+"_activite_1"]) {
|
||
if (req.session["personne_"+toto+"_activite_1"] == "dalcroze" && req.session["personne_"+toto+"_age"] < 18) {
|
||
req.session.cout_total_dalcroze += 75;
|
||
req.session["personne_"+toto+"_activite_cout"] += 75;
|
||
req.session["cout_total"] += 75;
|
||
}
|
||
if (req.session["personne_"+toto+"_activite_1"] == "dalcroze" && req.session["personne_"+toto+"_age"] > 17) {
|
||
req.session.cout_total_dalcroze_surplace += 75;
|
||
logger.info("req.session.cout_total_dalcroze_surplace ACTIVITE 1 = " + req.session.cout_total_dalcroze_surplace, { numsession: req.session.id });
|
||
}
|
||
|
||
if (req.session["personne_"+toto+"_activite_1"] == "percussions" && req.session["personne_"+toto+"_age"] < 18) {
|
||
req.session.cout_total_percussion += 75;
|
||
req.session["personne_"+toto+"_activite_cout"] += 75;
|
||
req.session["cout_total"] += 75;
|
||
}
|
||
if (req.session["personne_"+toto+"_activite_1"] == "percussions" && req.session["personne_"+toto+"_age"] > 17) {
|
||
req.session.cout_total_percussion_surplace += 75;
|
||
}
|
||
|
||
if (req.session["personne_"+toto+"_activite_1"] == "chant" && req.session["personne_"+toto+"_age"] < 12 ) {
|
||
req.session.cout_total_chant += 75;
|
||
req.session["personne_"+toto+"_activite_cout"] += 75;
|
||
req.session["cout_total"] += 75;
|
||
}
|
||
|
||
|
||
|
||
}
|
||
if (req.session["personne_"+toto+"_activite_2"]) {
|
||
if (req.session["personne_"+toto+"_activite_2"] == "dalcroze" && req.session["personne_"+toto+"_age"] < 18) {
|
||
req.session.cout_total_dalcroze += 75;
|
||
req.session["personne_"+toto+"_activite_cout"] += 75;
|
||
req.session["cout_total"] += 75;
|
||
}
|
||
if (req.session["personne_"+toto+"_activite_2"] == "dalcroze" && req.session["personne_"+toto+"_age"] > 17) {
|
||
req.session.cout_total_dalcroze_surplace += 75;
|
||
logger.info("req.session.cout_total_dalcroze_surplace ACTIVITE 2 = " + req.session.cout_total_dalcroze_surplace, { numsession: req.session.id });
|
||
}
|
||
|
||
if (req.session["personne_"+toto+"_activite_2"] == "percussions" && req.session["personne_"+toto+"_age"] < 18) {
|
||
req.session.cout_total_percussion += 75;
|
||
req.session["personne_"+toto+"_activite_cout"] += 75;
|
||
req.session["cout_total"] += 75;
|
||
}
|
||
if (req.session["personne_"+toto+"_activite_2"] == "percussions" && req.session["personne_"+toto+"_age"] > 17) {
|
||
req.session.cout_total_percussion_surplace += 75;
|
||
}
|
||
|
||
if (req.session["personne_"+toto+"_activite_2"] == "chant" && req.session["personne_"+toto+"_age"] < 12 ) {
|
||
req.session.cout_total_chant += 75;
|
||
req.session["personne_"+toto+"_activite_cout"] += 75;
|
||
req.session["cout_total"] += 75;
|
||
}
|
||
|
||
}
|
||
console.log ("cout_total = ", req.session["cout_total"]);
|
||
console.log ("cout_total_percussion = ", req.session.cout_total_percussion);
|
||
console.log ("cout_total_dalcroze = ", req.session.cout_total_dalcroze);
|
||
console.log ("cout_total_chant = ", req.session.cout_total_chant);
|
||
|
||
|
||
// observateur cout par personne
|
||
if (req.session["personne_"+toto+"_categorie"] == "observateur" && req.session["personne_"+toto+"_profil"] == "non_professeur") {
|
||
req.session["personne_"+toto+"_observation_cout"] = 30;
|
||
req.session.cout_total_observation += 30;
|
||
req.session["cout_total"] += 30;
|
||
}
|
||
console.log ("cout_total = ", req.session["cout_total"]);
|
||
console.log ("cout_total_observation = ", req.session.cout_total_observation);
|
||
|
||
// INSTRUMENTISTE PAR PERSONNE
|
||
let date1 = new Date('2023-04-30');
|
||
let date2 = new Date();
|
||
console.log('date1 =',date1);
|
||
console.log('date2 =',date2);
|
||
console.log('date2 - date1 =',date2 - date1);
|
||
if (req.session["personne_"+toto+"_categorie"] == "instrumentiste") {
|
||
console.log("IF INSTRUMENTISTE");
|
||
if (req.session["personne_"+toto+"_instrument"]== "alto" || req.session["personne_"+toto+"_instrument"]== "violon" || req.session["personne_"+toto+"_instrument"] == "violoncelle" ) {
|
||
console.log("IF INSTRUMENTISTE ALTO V V");
|
||
console.log("date supérieur au 01/05/2023");
|
||
req.session["personne_"+toto+"_cours_cout"] = 300;
|
||
req.session.cout_total_cours += 300;
|
||
req.session["cout_total"] += 300;
|
||
if (req.session["personne_"+toto+"_option_coursindividuel"] == "cours individuel") {
|
||
if (req.session["personne_"+toto+"_cahier"]=="Cahier 1" || req.session["personne_"+toto+"_cahier"]=="Cahier 2" || req.session["personne_"+toto+"_cahier"]=="Cahier 3") {
|
||
req.session["personne_"+toto+"_cours_cout"] += 45;
|
||
req.session.cout_total_cours += 45;
|
||
req.session["cout_total"] += 45;
|
||
} else {
|
||
req.session["personne_"+toto+"_cours_cout"] += 65;
|
||
req.session.cout_total_cours += 65;
|
||
req.session["cout_total"] += 65;
|
||
}
|
||
}
|
||
}
|
||
|
||
if (req.session["personne_"+toto+"_instrument"]== "piano") {
|
||
if (req.session["personne_"+toto+"_cahier"]=="Cahier 1") {
|
||
req.session["personne_"+toto+"_cours_cout"] = 320;
|
||
req.session.cout_total_cours += 320;
|
||
req.session["cout_total"] += 320;
|
||
} else if (req.session["personne_"+toto+"_cahier"]=="Cahier 2" || req.session["personne_"+toto+"_cahier"]=="Cahier 3" || req.session["personne_"+toto+"_cahier"]=="Cahier 4") {
|
||
req.session["personne_"+toto+"_cours_cout"] = 340;
|
||
req.session.cout_total_cours += 340;
|
||
req.session["cout_total"] += 340;
|
||
} else {
|
||
req.session["personne_"+toto+"_cours_cout"] = 370;
|
||
req.session.cout_total_cours += 370;
|
||
req.session["cout_total"] += 370;
|
||
}
|
||
}
|
||
console.log ("cout_total = ", req.session["cout_total"]);
|
||
console.log ("cout_total_cours = ", req.session.cout_total_cours);
|
||
console.log('req.session["personne_"'+toto+'"_cours_cout"]',req.session["personne_"+toto+"_cours_cout"]);
|
||
|
||
if (date2 < date1) {
|
||
console.log("date inférieur au 01/05/2023 on enlève 20 euros");
|
||
req.session.cout_total_cours -= 20;
|
||
req.session["personne_"+toto+"_cours_cout"] -= 20;
|
||
req.session["cout_total"] -= 20;
|
||
req.session.remise = "Remise pour inscription avant le 30 avril 23h59.";
|
||
console.log ("req.session.remise = ", req.session.remise);
|
||
}
|
||
logger.info("cout_total = " + req.session["cout_total"], { numsession: req.session.id });
|
||
console.log ("cout_total_cours = ", req.session.cout_total_cours);
|
||
console.log('req.session["personne_"'+toto+'"_cours_cout"]',req.session["personne_"+toto+"_cours_cout"]);
|
||
|
||
// ACCOMPTE + 100 PAR INSTRUMENTISTE
|
||
req.session.montant_accompte += 100;
|
||
logger.info("req.session.montant_accompte = " + req.session.montant_accompte, { numsession: req.session.id });
|
||
}
|
||
logger.info("req.session.montant_accompte = " + req.session.montant_accompte, { numsession: req.session.id });
|
||
}
|
||
}
|
||
|
||
/////////////////////////////////
|
||
// CAMP ADO
|
||
console.log("/////////////////////////////////");
|
||
logger.info("// CAMP ADO");
|
||
console.log("adulte_trouve : ", adulte_trouve);
|
||
let compteur_ado = 0
|
||
logger.info("compteur_ado au départ : " + compteur_ado, { numsession: req.session.id });
|
||
|
||
if (adulte_trouve == "non" && req.session.hebergement == "flocons verts") {
|
||
for (let toto = 1; toto < 7; toto++) {
|
||
if (req.session["personne_"+toto+"_age"] >= 14 && req.session["personne_"+toto+"_age"] < 18) {
|
||
req.session["personne_"+toto+"_profil"] = "Camp ado";
|
||
req.session["personne_"+toto+"_campado_cout"] = 100;
|
||
req.session.cout_total_campado += 100;
|
||
req.session["cout_total"] += 100;
|
||
compteur_ado ++;
|
||
logger.info("compteur_ado incrémenté : " + compteur_ado, { numsession: req.session.id });
|
||
|
||
} else if (req.session["personne_"+toto+"_age"] < 14) {
|
||
req.session.err_mineur = 'Vous ne pouvez inscrire un enfant de moins de 14 ans (âge au premier jour du stage) sans adulte pour l\'accompagner. Age de la personne saisi : '+req.session["personne_"+toto+"_age"]+' ans ('+req.session["personne_"+toto+"_datenaissance"]+')';
|
||
console.log("adding session_err_mineur : ",req.session.err_mineur);
|
||
}
|
||
console.log('req.session["personne_"'+toto+'"_profil"]',req.session["personne_"+toto+"_profil"]);
|
||
}
|
||
|
||
//////////////////////////////////
|
||
// VÉRIFICATION DU NOMBRE D'ADO DISPO DANS GOOGLE SHEET
|
||
await GS_stagean.useServiceAccountAuth(GS_creds_stagean);
|
||
await GS_stagean.loadInfo(); // loads document properties and worksheets
|
||
console.log("NOM FICHIER SHEET: ",GS_stagean.title); //nom du fichier
|
||
const GS_SN_sheet_campado = GS_stagean.sheetsByTitle['campado'];
|
||
logger.info("NOM DU TABLEAU (ONGLET): " + GS_SN_sheet_campado.title, { numsession: req.session.id });
|
||
await GS_SN_sheet_campado.loadCells('B1:B2');
|
||
const GS_SN_sheet_campado_b2 = GS_SN_sheet_campado.getCellByA1('B2');
|
||
|
||
logger.info("CONTENU DE LA CELLULE B2 : " + GS_SN_sheet_campado_b2.value, { numsession: req.session.id });
|
||
if (GS_SN_sheet_campado_b2.value < compteur_ado) {
|
||
req.session.err_mineur = "Il n'y a plus de place disponible pour inscrire une personne en Camp Ado";
|
||
logger.info("Il n'y a plus de place disponible pour inscrire une personne en Camp Ado", { numsession: req.session.id });
|
||
}
|
||
}
|
||
req.session.compteur_ado = compteur_ado;
|
||
logger.info("req.session.compteur_ado : " + req.session.compteur_ado, { numsession: req.session.id });
|
||
|
||
if (req.session.err_mineur) {
|
||
logger.info("existing session_err_mineur : " + req.session.err_mineur, { numsession: req.session.id });
|
||
res.redirect('/stagenational/formulaire');
|
||
} else {
|
||
//////////////////////////////////
|
||
// FRAIS DE DOSIER
|
||
req.session.frais_dossier = 30;
|
||
req.session["cout_total"] += 30;
|
||
|
||
//////////////////////////////////
|
||
// ACOMPTE
|
||
// Si acompte est de 0 on lui met 100 (par ex si c'est un observateur)
|
||
logger.info("req.session.montant_accompte = " + req.session.montant_accompte, { numsession: req.session.id });
|
||
if (req.session.montant_accompte < 100 && req.session["cout_total"] > 100 ) {
|
||
req.session.montant_accompte = 100;
|
||
logger.info("req.session.montant_accompte = " + req.session.montant_accompte, { numsession: req.session.id });
|
||
}
|
||
|
||
//////////////////////////////////
|
||
// FRAIS bancaire
|
||
// 1,4 % + 0,25 € pour l'Espace économique européen (hors UK)
|
||
if (req.session.montant_accompte > 99) {
|
||
req.session.accompte_frais_bancaire = 0.25;
|
||
req.session.accompte_frais_bancaire += req.session.montant_accompte * 0.014;
|
||
req.session.accompte_frais_bancaire = Math.round(req.session.accompte_frais_bancaire * 100) / 100;
|
||
req.session["cout_total"] += req.session.accompte_frais_bancaire;
|
||
}
|
||
|
||
|
||
logger.info("cout_total_campado = " + req.session.cout_total_campado, { numsession: req.session.id });
|
||
console.log ("cout_total = ", req.session["cout_total"]);
|
||
console.log ("montant_accompte = ", req.session.montant_accompte);
|
||
|
||
// RECAP SANS ACOMPTE À PAYER
|
||
if (req.session.montant_accompte < 100) {
|
||
logger.info("REDIRECTION VERS RÉCAP SANS ACOMMPTE (montant_accompte) = " + req.session.montant_accompte, { numsession: req.session.id });
|
||
res.redirect('/stagenational/recapssacompte');
|
||
}
|
||
// RECAP AVEC ACOMPTE À PAYER
|
||
if (req.session.montant_accompte > 99) {
|
||
logger.info("REDIRECTION VERS RÉCAP AVEC ACOMMPTE (montant_accompte) = " + req.session.montant_accompte, { numsession: req.session.id });
|
||
res.redirect('/stagenational/recap');
|
||
}
|
||
}
|
||
}
|
||
|
||
/////////////////////////////////////////////////
|
||
// PAGE 3
|
||
// http://localhost:8888/stagenational/recap
|
||
//
|
||
// Bouton modifier
|
||
//
|
||
/////////////////////////////////////////////////
|
||
|
||
// CLICK SUR BOUTON MODIFIER
|
||
const post_recap_modifier = async function(req, res) {
|
||
res.redirect('/stagenational/identifier');
|
||
}
|
||
|
||
|
||
|
||
/////////////////////////////////////////////////
|
||
// PAYER ACCOMPTE
|
||
//
|
||
// Enregistrement des infos dans la Google Sheet avant le paiement
|
||
// (car le redirect après le paiement vers la page "réussi" ou "annulé" initialise une autre session qui fait perdre le cookie précédent et les infos saisies)
|
||
// Payer accompte par carte bancaire
|
||
// STIPE
|
||
//
|
||
/////////////////////////////////////////////////
|
||
|
||
// CLICK SUR BOUTON PAYER ACCOMPTE PAGE RECAP
|
||
const post_payer_accompte = async function(req, res, next) {
|
||
|
||
logger.info("======================================");
|
||
logger.info("======== FUNCTION post_payer_accompte ==========");
|
||
logger.info("======================================");
|
||
|
||
|
||
//////////////////////////////////
|
||
// AJOUT INFO DANS LA GOOGLE SHEET
|
||
|
||
|
||
await GS_stagean.useServiceAccountAuth(GS_creds_stagean);
|
||
await GS_stagean.loadInfo(); // loads document properties and worksheets
|
||
logger.info("NOM FICHIER SHEET : " + GS_stagean.title, { numsession: req.session.id });
|
||
const GS_SN_sheet = GS_stagean.sheetsByTitle['inscription_web'];
|
||
logger.info("NOM DU TABLEAU (ONGLET): " + GS_SN_sheet.title, { numsession: req.session.id });
|
||
|
||
// DATE DE L'INSCRIPTION
|
||
moment().format();
|
||
moment.locale('fr');
|
||
var date_formattee = moment().format('L')
|
||
console.log("date_formattee:", date_formattee);
|
||
|
||
// AJOUTER UNE LIGNE DANS LA GOOGLE SHEET
|
||
logger.info("/ AJOUTER UNE LIGNE DANS LA GOOGLE SHEET", { numsession: req.session.id });
|
||
logger.info("req.session.identifiant : " + req.session.identifiant, { numsession: req.session.id });
|
||
logger.info("req.session.adherent_nom : " + req.session.adherent_nom, { numsession: req.session.id });
|
||
const moreRows = await GS_SN_sheet.addRows([
|
||
{
|
||
'saison': "2022/2023",
|
||
'identifiant': req.session.identifiant,
|
||
'association_suzuki': req.session.association,
|
||
'inscription_date': date_formattee,
|
||
'adherent_nom': req.session.adherent_nom,
|
||
'adherent_prenom': req.session.adherent_prenom,
|
||
'inscription_accompte_paiement_montant': req.session.montant_accompte,
|
||
'cout_total': req.session.cout_total,
|
||
'remise': req.session.remise,
|
||
'frais_dossier': req.session.frais_dossier,
|
||
'cout_total_hebergement': req.session.cout_total_hebergement,
|
||
'cout_total_transport': req.session.cout_total_transport,
|
||
'cout_total_dalcroze': req.session.cout_total_dalcroze,
|
||
'cout_total_dalcroze_surplace': req.session.cout_total_dalcroze_surplace,
|
||
'cout_total_percussion': req.session.cout_total_percussion,
|
||
'cout_total_percussion_surplace': req.session.cout_total_percussion_surplace,
|
||
'cout_total_chant': req.session.cout_total_chant,
|
||
'cout_total_observation': req.session.cout_total_observation,
|
||
'cout_total_cours': req.session.cout_total_cours,
|
||
'cout_total_campado': req.session.cout_total_campado,
|
||
'accompte_frais_bancaire': req.session.accompte_frais_bancaire,
|
||
'adherent_adresse_rue': req.session.adherent_adresse_rue,
|
||
'adherent_adresse_complement': req.session.adherent_adresse_complement,
|
||
'adherent_adresse_codepostal': req.session.adherent_adresse_codepostal,
|
||
'adherent_adresse_ville': req.session.adherent_adresse_ville,
|
||
'adherent_adresse_pays': req.session.adherent_adresse_pays,
|
||
'adherent_telephone_fixe': req.session.adherent_telephone_fixe,
|
||
'adherent_telephone_mobile': req.session.adherent_telephone_mobile,
|
||
'adherent_mail': req.session.adherent_mail,
|
||
'hebergement': req.session.hebergement,
|
||
'commentaire_adherent': req.session.commentaire_adherent,
|
||
'personne_1_nom': req.session.personne_1_nom,
|
||
'personne_1_prenom': req.session.personne_1_prenom,
|
||
'personne_1_datenaissance': req.session.personne_1_datenaissance,
|
||
'personne_1_age': req.session.personne_1_profilage,
|
||
'personne_1_transport_mode': req.session.personne_1_transport_mode,
|
||
'personne_1_transport_arret': req.session.personne_1_transport_arret,
|
||
'personne_1_categorie': req.session.personne_1_categorie,
|
||
'personne_1_profil': req.session.personne_1_profil,
|
||
'personne_1_instrument': req.session.personne_1_instrument,
|
||
'personne_1_cahier': req.session.personne_1_cahier,
|
||
'personne_1_piece': req.session.personne_1_piece,
|
||
'personne_1_prof': req.session.personne_1_prof,
|
||
'personne_1_mail_prof': req.session.personne_1_mail_prof,
|
||
'personne_1_option_coursindividuel': req.session.personne_1_option_coursindividuel,
|
||
'personne_1_option_concertsolo': req.session.personne_1_option_concertsolo,
|
||
'personne_1_option_concertsolo_cahier': req.session.personne_1_option_concertsolo_cahier,
|
||
'personne_1_option_concertsolo_piece': req.session.personne_1_option_concertsolo_piece,
|
||
'personne_1_activite_1': req.session.personne_1_activite_1,
|
||
'personne_1_activite_2': req.session.personne_1_activite_2,
|
||
'personne_2_nom': req.session.personne_2_nom,
|
||
'personne_2_prenom': req.session.personne_2_prenom,
|
||
'personne_2_datenaissance': req.session.personne_2_datenaissance,
|
||
'personne_2_age': req.session.personne_2_profilage,
|
||
'personne_2_transport_mode': req.session.personne_2_transport_mode,
|
||
'personne_2_transport_arret': req.session.personne_2_transport_arret,
|
||
'personne_2_categorie': req.session.personne_2_categorie,
|
||
'personne_2_profil': req.session.personne_2_profil,
|
||
'personne_2_instrument': req.session.personne_2_instrument,
|
||
'personne_2_cahier': req.session.personne_2_cahier,
|
||
'personne_2_piece': req.session.personne_2_piece,
|
||
'personne_2_prof': req.session.personne_2_prof,
|
||
'personne_2_mail_prof': req.session.personne_2_mail_prof,
|
||
'personne_2_option_coursindividuel': req.session.personne_2_option_coursindividuel,
|
||
'personne_2_option_concertsolo': req.session.personne_2_option_concertsolo,
|
||
'personne_2_option_concertsolo_cahier': req.session.personne_2_option_concertsolo_cahier,
|
||
'personne_2_option_concertsolo_piece': req.session.personne_2_option_concertsolo_piece,
|
||
'personne_2_activite_1': req.session.personne_2_activite_1,
|
||
'personne_2_activite_2': req.session.personne_2_activite_2,
|
||
'personne_3_nom': req.session.personne_3_nom,
|
||
'personne_3_prenom': req.session.personne_3_prenom,
|
||
'personne_3_datenaissance': req.session.personne_3_datenaissance,
|
||
'personne_3_age': req.session.personne_3_profilage,
|
||
'personne_3_transport_mode': req.session.personne_3_transport_mode,
|
||
'personne_3_transport_arret': req.session.personne_3_transport_arret,
|
||
'personne_3_categorie': req.session.personne_3_categorie,
|
||
'personne_3_profil': req.session.personne_3_profil,
|
||
'personne_3_instrument': req.session.personne_3_instrument,
|
||
'personne_3_cahier': req.session.personne_3_cahier,
|
||
'personne_3_piece': req.session.personne_3_piece,
|
||
'personne_3_prof': req.session.personne_3_prof,
|
||
'personne_3_mail_prof': req.session.personne_3_mail_prof,
|
||
'personne_3_option_coursindividuel': req.session.personne_3_option_coursindividuel,
|
||
'personne_3_option_concertsolo': req.session.personne_3_option_concertsolo,
|
||
'personne_3_option_concertsolo_cahier': req.session.personne_3_option_concertsolo_cahier,
|
||
'personne_3_option_concertsolo_piece': req.session.personne_3_option_concertsolo_piece,
|
||
'personne_3_activite_1': req.session.personne_3_activite_1,
|
||
'personne_3_activite_2': req.session.personne_3_activite_2,
|
||
'personne_4_nom': req.session.personne_4_nom,
|
||
'personne_4_prenom': req.session.personne_4_prenom,
|
||
'personne_4_datenaissance': req.session.personne_4_datenaissance,
|
||
'personne_4_age': req.session.personne_4_profilage,
|
||
'personne_4_transport_mode': req.session.personne_4_transport_mode,
|
||
'personne_4_transport_arret': req.session.personne_4_transport_arret,
|
||
'personne_4_categorie': req.session.personne_4_categorie,
|
||
'personne_4_profil': req.session.personne_4_profil,
|
||
'personne_4_instrument': req.session.personne_4_instrument,
|
||
'personne_4_cahier': req.session.personne_4_cahier,
|
||
'personne_4_piece': req.session.personne_4_piece,
|
||
'personne_4_prof': req.session.personne_4_prof,
|
||
'personne_4_mail_prof': req.session.personne_4_mail_prof,
|
||
'personne_4_option_coursindividuel': req.session.personne_4_option_coursindividuel,
|
||
'personne_4_option_concertsolo': req.session.personne_4_option_concertsolo,
|
||
'personne_4_option_concertsolo_cahier': req.session.personne_4_option_concertsolo_cahier,
|
||
'personne_4_option_concertsolo_piece': req.session.personne_4_option_concertsolo_piece,
|
||
'personne_4_activite_1': req.session.personne_4_activite_1,
|
||
'personne_4_activite_2': req.session.personne_4_activite_2,
|
||
'personne_5_nom': req.session.personne_5_nom,
|
||
'personne_5_prenom': req.session.personne_5_prenom,
|
||
'personne_5_datenaissance': req.session.personne_5_datenaissance,
|
||
'personne_5_age': req.session.personne_5_profilage,
|
||
'personne_5_transport_mode': req.session.personne_5_transport_mode,
|
||
'personne_5_transport_arret': req.session.personne_5_transport_arret,
|
||
'personne_5_categorie': req.session.personne_5_categorie,
|
||
'personne_5_profil': req.session.personne_5_profil,
|
||
'personne_5_instrument': req.session.personne_5_instrument,
|
||
'personne_5_cahier': req.session.personne_5_cahier,
|
||
'personne_5_piece': req.session.personne_5_piece,
|
||
'personne_5_prof': req.session.personne_5_prof,
|
||
'personne_5_mail_prof': req.session.personne_5_mail_prof,
|
||
'personne_5_option_coursindividuel': req.session.personne_5_option_coursindividuel,
|
||
'personne_5_option_concertsolo': req.session.personne_5_option_concertsolo,
|
||
'personne_5_option_concertsolo_cahier': req.session.personne_5_option_concertsolo_cahier,
|
||
'personne_5_option_concertsolo_piece': req.session.personne_5_option_concertsolo_piece,
|
||
'personne_5_activite_1': req.session.personne_5_activite_1,
|
||
'personne_5_activite_2': req.session.personne_5_activite_2,
|
||
'personne_6_nom': req.session.personne_6_nom,
|
||
'personne_6_prenom': req.session.personne_6_prenom,
|
||
'personne_6_datenaissance': req.session.personne_6_datenaissance,
|
||
'personne_6_age': req.session.personne_6_profilage,
|
||
'personne_6_transport_mode': req.session.personne_6_transport_mode,
|
||
'personne_6_transport_arret': req.session.personne_6_transport_arret,
|
||
'personne_6_categorie': req.session.personne_6_categorie,
|
||
'personne_6_profil': req.session.personne_6_profil,
|
||
'personne_6_instrument': req.session.personne_6_instrument,
|
||
'personne_6_cahier': req.session.personne_6_cahier,
|
||
'personne_6_piece': req.session.personne_6_piece,
|
||
'personne_6_prof': req.session.personne_6_prof,
|
||
'personne_6_mail_prof': req.session.personne_6_mail_prof,
|
||
'personne_6_option_coursindividuel': req.session.personne_6_option_coursindividuel,
|
||
'personne_6_option_concertsolo': req.session.personne_6_option_concertsolo,
|
||
'personne_6_option_concertsolo_cahier': req.session.personne_6_option_concertsolo_cahier,
|
||
'personne_6_option_concertsolo_piece': req.session.personne_6_option_concertsolo_piece,
|
||
'personne_6_activite_1': req.session.personne_6_activite_1,
|
||
'personne_6_activite_2': req.session.personne_6_activite_2,
|
||
|
||
},
|
||
]);
|
||
|
||
|
||
//////////////////////////////////
|
||
// PAIEMENT STRIPE
|
||
|
||
|
||
logger.info("req.session.montant_accompte: " + req.session.montant_accompte, { numsession: req.session.id });
|
||
console.log ("req.session.identifiant: ",req.session.identifiant);
|
||
console.log ("process.env.STRIPE_PRIVATE_KEY : ", process.env.STRIPE_PRIVATE_KEY);
|
||
|
||
|
||
// STRIPE - ETAPE 1 - CREER l'INTENTION DE PAIEMENT
|
||
logger.info("cookiesessionid AVANT Stripe :" + req.session.id, { numsession: req.session.id });
|
||
const session = await stripe.checkout.sessions.create({
|
||
metadata: {cookiesessionid: req.session.id, identifiant: req.session.identifiant},
|
||
customer_email: req.session.adherent_mail,
|
||
//There are four different submit types.
|
||
submit_type: 'pay',
|
||
//success_url: 'http://localhost:8888/inscription/adhesion_paiement/reussi?id={CHECKOUT_SESSION_ID}',
|
||
//cancel_url: 'http://localhost:8888/inscription/adhesion_paiement/annule?id={CHECKOUT_SESSION_ID}',
|
||
//success_url: 'https://www.adusuki.juliechaumard.paris/inscription/adhesion_paiement/reussi?id={CHECKOUT_SESSION_ID}',
|
||
//cancel_url: 'https://www.adusuki.juliechaumard.paris/inscription/adhesion_paiement/annule?id={CHECKOUT_SESSION_ID}',
|
||
//success_url: 'https://www.adhesion.afpedagogiesuzuki.fr/inscription/adhesion_paiement/reussi?id={CHECKOUT_SESSION_ID}',
|
||
//cancel_url: 'https://www.adhesion.afpedagogiesuzuki.fr/inscription/adhesion_paiement/annule?id={CHECKOUT_SESSION_ID}',
|
||
success_url: process.env.STRIPE_SN_SUCCESSURL,
|
||
cancel_url: process.env.STRIPE_SN_CANCELURL,
|
||
|
||
payment_method_types: ['card'],
|
||
line_items: [{
|
||
price_data: {
|
||
currency: 'eur',
|
||
product_data: {
|
||
name: 'Stage annuel accompte',
|
||
},
|
||
unit_amount: req.session.montant_accompte * 100,
|
||
},
|
||
quantity: 1,
|
||
},],
|
||
//Checkout has three modes: payment, subscription, or setup.
|
||
mode: 'payment'
|
||
|
||
});
|
||
|
||
console.log("session: ",session)
|
||
console.log("session.id: ",session.id);
|
||
logger.info("session.url: " + session.url, { numsession: req.session.id });
|
||
let url_stripe = session.url
|
||
res.redirect(session.url)
|
||
|
||
}
|
||
|
||
|
||
/////////////////////////////////////////////////
|
||
// CLICK SUR LE BOUTON ENREGISTRER PAGE RECAP SANS ACOMPTE
|
||
const post_enregistrer_inscrip_ssacompte = async function(req, res){
|
||
|
||
logger.info("======================================");
|
||
logger.info("======== FUNCTION post_enregistrer_inscrip_ssacompte ==========");
|
||
logger.info("======================================");
|
||
|
||
//////////////////////////////////
|
||
// AJOUT INFO DANS LA GOOGLE SHEET
|
||
|
||
|
||
await GS_stagean.useServiceAccountAuth(GS_creds_stagean);
|
||
await GS_stagean.loadInfo(); // loads document properties and worksheets
|
||
logger.info("NOM FICHIER SHEET : " + GS_stagean.title, { numsession: req.session.id });
|
||
const GS_SN_sheet = GS_stagean.sheetsByTitle['inscription_web'];
|
||
logger.info("NOM DU TABLEAU (ONGLET): " + GS_SN_sheet.title, { numsession: req.session.id });
|
||
|
||
// DATE DE L'INSCRIPTION
|
||
moment().format();
|
||
moment.locale('fr');
|
||
var date_formattee = moment().format('L')
|
||
console.log("date_formattee:", date_formattee);
|
||
|
||
// AJOUTER UNE LIGNE DANS LA GOOGLE SHEET
|
||
logger.info("/ AJOUTER UNE LIGNE DANS LA GOOGLE SHEET", { numsession: req.session.id });
|
||
logger.info("req.session.identifiant : " + req.session.identifiant, { numsession: req.session.id });
|
||
logger.info("req.session.adherent_nom : " + req.session.adherent_nom, { numsession: req.session.id });
|
||
const moreRows = await GS_SN_sheet.addRows([
|
||
{
|
||
'saison': "2022/2023",
|
||
'identifiant': req.session.identifiant,
|
||
'association_suzuki': req.session.association,
|
||
'inscription_date': date_formattee,
|
||
'adherent_nom': req.session.adherent_nom,
|
||
'adherent_prenom': req.session.adherent_prenom,
|
||
'inscription_accompte_paye': "pas d'acompte",
|
||
'inscription_accompte_paiement_montant': req.session.montant_accompte,
|
||
'cout_total': req.session.cout_total,
|
||
'remise': req.session.remise,
|
||
'cout_total_hebergement': req.session.cout_total_hebergement,
|
||
'cout_total_transport': req.session.cout_total_transport,
|
||
'cout_total_dalcroze': req.session.cout_total_dalcroze,
|
||
'cout_total_dalcroze_surplace': req.session.cout_total_dalcroze_surplace,
|
||
'cout_total_percussion': req.session.cout_total_percussion,
|
||
'cout_total_percussion_surplace': req.session.cout_total_percussion_surplace,
|
||
'cout_total_chant': req.session.cout_total_chant,
|
||
'cout_total_observation': req.session.cout_total_observation,
|
||
'cout_total_cours': req.session.cout_total_cours,
|
||
'cout_total_campado': req.session.cout_total_campado,
|
||
'accompte_frais_bancaire': req.session.accompte_frais_bancaire,
|
||
'adherent_adresse_rue': req.session.adherent_adresse_rue,
|
||
'adherent_adresse_complement': req.session.adherent_adresse_complement,
|
||
'adherent_adresse_codepostal': req.session.adherent_adresse_codepostal,
|
||
'adherent_adresse_ville': req.session.adherent_adresse_ville,
|
||
'adherent_adresse_pays': req.session.adherent_adresse_pays,
|
||
'adherent_telephone_fixe': req.session.adherent_telephone_fixe,
|
||
'adherent_telephone_mobile': req.session.adherent_telephone_mobile,
|
||
'adherent_mail': req.session.adherent_mail,
|
||
'hebergement': req.session.hebergement,
|
||
'commentaire_adherent': req.session.commentaire_adherent,
|
||
'personne_1_nom': req.session.personne_1_nom,
|
||
'personne_1_prenom': req.session.personne_1_prenom,
|
||
'personne_1_datenaissance': req.session.personne_1_datenaissance,
|
||
'personne_1_age': req.session.personne_1_profilage,
|
||
'personne_1_transport_mode': req.session.personne_1_transport_mode,
|
||
'personne_1_transport_arret': req.session.personne_1_transport_arret,
|
||
'personne_1_categorie': req.session.personne_1_categorie,
|
||
'personne_1_profil': req.session.personne_1_profil,
|
||
'personne_1_instrument': req.session.personne_1_instrument,
|
||
'personne_1_cahier': req.session.personne_1_cahier,
|
||
'personne_1_piece': req.session.personne_1_piece,
|
||
'personne_1_prof': req.session.personne_1_prof,
|
||
'personne_1_mail_prof': req.session.personne_1_mail_prof,
|
||
'personne_1_option_coursindividuel': req.session.personne_1_option_coursindividuel,
|
||
'personne_1_option_concertsolo': req.session.personne_1_option_concertsolo,
|
||
'personne_1_option_concertsolo_cahier': req.session.personne_1_option_concertsolo_cahier,
|
||
'personne_1_option_concertsolo_piece': req.session.personne_1_option_concertsolo_piece,
|
||
'personne_1_activite_1': req.session.personne_1_activite_1,
|
||
'personne_1_activite_2': req.session.personne_1_activite_2,
|
||
'personne_2_nom': req.session.personne_2_nom,
|
||
'personne_2_prenom': req.session.personne_2_prenom,
|
||
'personne_2_datenaissance': req.session.personne_2_datenaissance,
|
||
'personne_2_age': req.session.personne_2_profilage,
|
||
'personne_2_transport_mode': req.session.personne_2_transport_mode,
|
||
'personne_2_transport_arret': req.session.personne_2_transport_arret,
|
||
'personne_2_categorie': req.session.personne_2_categorie,
|
||
'personne_2_profil': req.session.personne_2_profil,
|
||
'personne_2_instrument': req.session.personne_2_instrument,
|
||
'personne_2_cahier': req.session.personne_2_cahier,
|
||
'personne_2_piece': req.session.personne_2_piece,
|
||
'personne_2_prof': req.session.personne_2_prof,
|
||
'personne_2_mail_prof': req.session.personne_2_mail_prof,
|
||
'personne_2_option_coursindividuel': req.session.personne_2_option_coursindividuel,
|
||
'personne_2_option_concertsolo': req.session.personne_2_option_concertsolo,
|
||
'personne_2_option_concertsolo_cahier': req.session.personne_2_option_concertsolo_cahier,
|
||
'personne_2_option_concertsolo_piece': req.session.personne_2_option_concertsolo_piece,
|
||
'personne_2_activite_1': req.session.personne_2_activite_1,
|
||
'personne_2_activite_2': req.session.personne_2_activite_2,
|
||
'personne_3_nom': req.session.personne_3_nom,
|
||
'personne_3_prenom': req.session.personne_3_prenom,
|
||
'personne_3_datenaissance': req.session.personne_3_datenaissance,
|
||
'personne_3_age': req.session.personne_3_profilage,
|
||
'personne_3_transport_mode': req.session.personne_3_transport_mode,
|
||
'personne_3_transport_arret': req.session.personne_3_transport_arret,
|
||
'personne_3_categorie': req.session.personne_3_categorie,
|
||
'personne_3_profil': req.session.personne_3_profil,
|
||
'personne_3_instrument': req.session.personne_3_instrument,
|
||
'personne_3_cahier': req.session.personne_3_cahier,
|
||
'personne_3_piece': req.session.personne_3_piece,
|
||
'personne_3_prof': req.session.personne_3_prof,
|
||
'personne_3_mail_prof': req.session.personne_3_mail_prof,
|
||
'personne_3_option_coursindividuel': req.session.personne_3_option_coursindividuel,
|
||
'personne_3_option_concertsolo': req.session.personne_3_option_concertsolo,
|
||
'personne_3_option_concertsolo_cahier': req.session.personne_3_option_concertsolo_cahier,
|
||
'personne_3_option_concertsolo_piece': req.session.personne_3_option_concertsolo_piece,
|
||
'personne_3_activite_1': req.session.personne_3_activite_1,
|
||
'personne_3_activite_2': req.session.personne_3_activite_2,
|
||
'personne_4_nom': req.session.personne_4_nom,
|
||
'personne_4_prenom': req.session.personne_4_prenom,
|
||
'personne_4_datenaissance': req.session.personne_4_datenaissance,
|
||
'personne_4_age': req.session.personne_4_profilage,
|
||
'personne_4_transport_mode': req.session.personne_4_transport_mode,
|
||
'personne_4_transport_arret': req.session.personne_4_transport_arret,
|
||
'personne_4_categorie': req.session.personne_4_categorie,
|
||
'personne_4_profil': req.session.personne_4_profil,
|
||
'personne_4_instrument': req.session.personne_4_instrument,
|
||
'personne_4_cahier': req.session.personne_4_cahier,
|
||
'personne_4_piece': req.session.personne_4_piece,
|
||
'personne_4_prof': req.session.personne_4_prof,
|
||
'personne_4_mail_prof': req.session.personne_4_mail_prof,
|
||
'personne_4_option_coursindividuel': req.session.personne_4_option_coursindividuel,
|
||
'personne_4_option_concertsolo': req.session.personne_4_option_concertsolo,
|
||
'personne_4_option_concertsolo_cahier': req.session.personne_4_option_concertsolo_cahier,
|
||
'personne_4_option_concertsolo_piece': req.session.personne_4_option_concertsolo_piece,
|
||
'personne_4_activite_1': req.session.personne_4_activite_1,
|
||
'personne_4_activite_2': req.session.personne_4_activite_2,
|
||
'personne_5_nom': req.session.personne_5_nom,
|
||
'personne_5_prenom': req.session.personne_5_prenom,
|
||
'personne_5_datenaissance': req.session.personne_5_datenaissance,
|
||
'personne_5_age': req.session.personne_5_profilage,
|
||
'personne_5_transport_mode': req.session.personne_5_transport_mode,
|
||
'personne_5_transport_arret': req.session.personne_5_transport_arret,
|
||
'personne_5_categorie': req.session.personne_5_categorie,
|
||
'personne_5_profil': req.session.personne_5_profil,
|
||
'personne_5_instrument': req.session.personne_5_instrument,
|
||
'personne_5_cahier': req.session.personne_5_cahier,
|
||
'personne_5_piece': req.session.personne_5_piece,
|
||
'personne_5_prof': req.session.personne_5_prof,
|
||
'personne_5_mail_prof': req.session.personne_5_mail_prof,
|
||
'personne_5_option_coursindividuel': req.session.personne_5_option_coursindividuel,
|
||
'personne_5_option_concertsolo': req.session.personne_5_option_concertsolo,
|
||
'personne_5_option_concertsolo_cahier': req.session.personne_5_option_concertsolo_cahier,
|
||
'personne_5_option_concertsolo_piece': req.session.personne_5_option_concertsolo_piece,
|
||
'personne_5_activite_1': req.session.personne_5_activite_1,
|
||
'personne_5_activite_2': req.session.personne_5_activite_2,
|
||
'personne_6_nom': req.session.personne_6_nom,
|
||
'personne_6_prenom': req.session.personne_6_prenom,
|
||
'personne_6_datenaissance': req.session.personne_6_datenaissance,
|
||
'personne_6_age': req.session.personne_6_profilage,
|
||
'personne_6_transport_mode': req.session.personne_6_transport_mode,
|
||
'personne_6_transport_arret': req.session.personne_6_transport_arret,
|
||
'personne_6_categorie': req.session.personne_6_categorie,
|
||
'personne_6_profil': req.session.personne_6_profil,
|
||
'personne_6_instrument': req.session.personne_6_instrument,
|
||
'personne_6_cahier': req.session.personne_6_cahier,
|
||
'personne_6_piece': req.session.personne_6_piece,
|
||
'personne_6_prof': req.session.personne_6_prof,
|
||
'personne_6_mail_prof': req.session.personne_6_mail_prof,
|
||
'personne_6_option_coursindividuel': req.session.personne_6_option_coursindividuel,
|
||
'personne_6_option_concertsolo': req.session.personne_6_option_concertsolo,
|
||
'personne_6_option_concertsolo_cahier': req.session.personne_6_option_concertsolo_cahier,
|
||
'personne_6_option_concertsolo_piece': req.session.personne_6_option_concertsolo_piece,
|
||
'personne_6_activite_1': req.session.personne_6_activite_1,
|
||
'personne_6_activite_2': req.session.personne_6_activite_2,
|
||
|
||
},
|
||
]);
|
||
|
||
|
||
//////////////////////////////////////////////////////////////////////////////
|
||
// CONFIRMATION PAR MAIL
|
||
|
||
console.log("MAIL ENVOI AVANT");
|
||
var transporter = nodemailer.createTransport({
|
||
service: 'gmail',
|
||
auth: {
|
||
// TEST JULIE
|
||
//user: 'juliechaumard@gmail.com',
|
||
//pass: 'etfq umof iwbx ltxk'
|
||
// SUZUKI
|
||
user: 'afps.inscription@gmail.com',
|
||
pass: 'vljxrkhwgljjracs'
|
||
}
|
||
});
|
||
var mail_objet = "ASSOCIATION FRANÇAISE POUR LA PÉDAGOGIE SUZUKI - STAGE ANNUEL 2022/2023 - ";
|
||
mail_objet += req.session.adherent_nom;
|
||
mail_html = "<p>Cher adhérent,</p><p>Félicitations ! Vous êtes désormais inscrit au stage annuel de l’Association Française pour la Pédagogie Suzuki (http://www.afpedagogiesuzuki.fr) qui se tiendra du 20 au 25 août 2023.</p>";
|
||
|
||
mail_html += "<br>";
|
||
mail_html += "<p>RÉCAPITULATIF :</p>";
|
||
mail_html += "<p>Identifiant Suzuki : ";
|
||
mail_html += req.session.identifiant;
|
||
mail_html += "</p><p>Association Suzuki : ";
|
||
mail_html += req.session.association;
|
||
mail_html += "</p><p>Mode d'hébergement : ";
|
||
mail_html += req.session.hebergement;
|
||
mail_html += "</p><br>";
|
||
for (let toto = 1; toto<7; toto++) {
|
||
if (req.session["personne_"+toto+"_nom"]) {
|
||
mail_html += "<p>Nom : ";
|
||
mail_html += req.session["personne_"+toto+"_nom"];
|
||
mail_html += " ";
|
||
mail_html += req.session["personne_"+toto+"_prenom"];
|
||
mail_html += "</p><p>Profile âge : ";
|
||
mail_html += req.session["personne_"+toto+"_age"];
|
||
mail_html += "</p><p>Catégorie : ";
|
||
mail_html += req.session["personne_"+toto+"_categorie"];
|
||
if (req.session["personne_"+toto+"_profil"]) {
|
||
mail_html += " ";
|
||
mail_html += req.session["personne_"+toto+"_profil"];
|
||
}
|
||
mail_html += "</p><p>Mode de transport : ";
|
||
mail_html += req.session["personne_"+toto+"_transport_mode"];
|
||
mail_html += " ";
|
||
mail_html += req.session["personne_"+toto+"_transport_arret"];
|
||
mail_html += "</p>";
|
||
if (req.session["personne_"+toto+"_instrument"]) {
|
||
mail_html += "<p>Instrument : ";
|
||
mail_html += req.session["personne_"+toto+"_instrument"];
|
||
mail_html += " ";
|
||
mail_html += req.session["personne_"+toto+"_cahier"];
|
||
mail_html += " ";
|
||
mail_html += req.session["personne_"+toto+"_option_coursindividuel"];
|
||
mail_html += "</p>";
|
||
}
|
||
if (req.session["personne_"+toto+"_activite_1"]) {
|
||
mail_html += "<p>Activité : ";
|
||
mail_html += req.session["personne_"+toto+"_activite_1"];
|
||
mail_html += " ";
|
||
mail_html += req.session["personne_"+toto+"_activite_2"];
|
||
mail_html += "</p>";
|
||
}
|
||
if (req.session["personne_"+toto+"_cout_hebergement"]) {
|
||
mail_html += "<p>Coût hébergement : ";
|
||
mail_html += req.session["personne_"+toto+"_cout_hebergement"];
|
||
mail_html += "</p>";
|
||
}
|
||
if (req.session["personne_"+toto+"_cout_transport"]) {
|
||
mail_html += "<p>Coût transport : ";
|
||
mail_html += req.session["personne_"+toto+"_cout_transport"];
|
||
mail_html += "</p>";
|
||
}
|
||
if (req.session["personne_"+toto+"_campado_cout"]) {
|
||
mail_html += "<p>Coût camp ado : ";
|
||
mail_html += req.session["personne_"+toto+"_campado_cout"];
|
||
mail_html += "</p>";
|
||
}
|
||
if (req.session["personne_"+toto+"_cours_cout"]) {
|
||
mail_html += "<p>Coût cours : ";
|
||
mail_html += req.session["personne_"+toto+"_cours_cout"];
|
||
mail_html += "</p>";
|
||
}
|
||
if (req.session["personne_"+toto+"_activite_cout"]) {
|
||
mail_html += "<p>Coût activité : ";
|
||
mail_html += req.session["personne_"+toto+"_activite_cout"];
|
||
mail_html += "</p>";
|
||
}
|
||
if (req.session["personne_"+toto+"_observation_cout"]) {
|
||
mail_html += "</p><p>Coût observation : ";
|
||
mail_html += req.session["personne_"+toto+"_observation_cout"];
|
||
mail_html += "</p>";
|
||
}
|
||
mail_html += "<br>";
|
||
}
|
||
}
|
||
|
||
mail_html += "<br>";
|
||
mail_html += "<p>Coût total : ";
|
||
mail_html += req.session.cout_total;
|
||
mail_html += "</p><p>Remise : ";
|
||
mail_html += req.session.remise;
|
||
mail_html += "</p><p>Frais bancaire de l'acompte : ";
|
||
mail_html += req.session.accompte_frais_bancaire;
|
||
mail_html += "</p>Montant de l'acompte versé : ";
|
||
mail_html += req.session.inscription_accompte_paiement_montant;
|
||
mail_html += "</p>";
|
||
|
||
if (req.session.cout_total_dalcroze_surplace > 0) {
|
||
mail_html += "<p>Coût activité Dalcroze adulte à payer sur place : ";
|
||
mail_html += req.session.cout_total_dalcroze_surplace;
|
||
mail_html += "€</p>";
|
||
}
|
||
if (req.session.cout_total_percussion_surplace > 0) {
|
||
mail_html += "<p>Coût activité percussions adulte à payer sur place : ";
|
||
mail_html += req.session.cout_total_percussion_surplace;
|
||
mail_html += "€</p>";
|
||
}
|
||
|
||
mail_html += "<p><br>Nous vous remercions pour votre intérêt et vous souhaitons une très bon stage !</p><p>Association Française pour la pédagogie Suzuki<br>Anne-Laure SAUVEGRAIN<br>Pôle organisation du stage</p>";
|
||
var mailOptions = {
|
||
from: 'afps.inscription@gmail.com',
|
||
to: req.session.adherent_mail,
|
||
subject: mail_objet,
|
||
html: mail_html,
|
||
};
|
||
transporter.sendMail(mailOptions, function(error, info){
|
||
if (error) {
|
||
logger.info("error : " + error, { numsession: req.session.id});
|
||
} else {
|
||
console.log('Email sent: ' + info.response);
|
||
}
|
||
});
|
||
console.log("MAIL ENVOI APRES");
|
||
|
||
|
||
// REDIRECTION VERS LA PAGE DE CONFIRMATION PAIEMENT CARTE BANCAIRE
|
||
res.locals.identifiant = req.session.identifiant;
|
||
res.locals.association = req.session.association;
|
||
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+"_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+"_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["personne_"+toto+"_campado_cout"] = req.session["personne_"+toto+"_campado_cout"];
|
||
}
|
||
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.inscription_accompte_paiement_montant;
|
||
|
||
if (!req.session.identifiant) {
|
||
res.locals.error = "Il y a eu une erreur lors de l'ajout de votre inscription dans la base de données du stage, veuillez contacter l'association Suzuki par mail pour le signaler à l'adresse StgNational@gmail.com";
|
||
}
|
||
|
||
res.render('stagenat/page_templates/inscription_reussi.ejs');
|
||
}
|
||
|
||
|
||
|
||
/////////////////////////////////////////////////
|
||
// RETOUR PAIEMENT REUSSI
|
||
const SN_accompte_reussi = async function(req, res){
|
||
|
||
logger.info("======================================");
|
||
logger.info("======== FUNCTION SN_accompte_reussi ==========");
|
||
logger.info("======================================");
|
||
|
||
// RETOUR STRIPE
|
||
var id = req.query.id;
|
||
|
||
logger.info("id : " + id, { numsession: req.session.id });
|
||
|
||
const session_stripe = await stripe.checkout.sessions.retrieve(id);
|
||
|
||
var customer_email = session_stripe.customer_email;
|
||
var payment_status = session_stripe.payment_status;
|
||
var amount_total = session_stripe.amount_total/100;
|
||
var stripe_customer = session_stripe.customer;
|
||
var stripe_payment_intent = session_stripe.payment_intent;
|
||
var payment_method_types = session_stripe.payment_method_types;
|
||
var stripe_status = session_stripe.status;
|
||
var identifiant = session_stripe.metadata.identifiant;
|
||
var CB_retour = "identifiant_adherent:"+identifiant+",payment_status:"+payment_status+",stripe_customer:"+stripe_customer+",stripe_payment_intent:"+stripe_payment_intent+",sessionID:"+session_stripe.id+",payment_method_types:"+payment_method_types+",amount_total:"+amount_total+",stripe_status:"+stripe_status;
|
||
logger.info("cookiesessionid APRES Stripe :" + session_stripe.metadata.cookiesessionid, { numsession: req.session.id });
|
||
var cookiesessionid = session_stripe.metadata.cookiesessionid;
|
||
console.log("customer_email: ", customer_email);
|
||
logger.info("payment_status : " + payment_status, { numsession: req.session.id });
|
||
console.log("stripe_customer: ", stripe_customer);
|
||
console.log("amount_total: ", amount_total);
|
||
console.log("stripe_payment_intent: ", stripe_payment_intent);
|
||
console.log("payment_method_types: ", payment_method_types);
|
||
console.log("payment_method_types: ", payment_method_types[0]);
|
||
console.log("stripe_status: ", stripe_status);
|
||
console.log("CB_retour: ", CB_retour);
|
||
|
||
|
||
|
||
//////////////////////////////////////////////////////////////////////////////
|
||
// RÉCUPÉRATION DES INFOS STAGIAIRES DANS LA GOOGLE SHEET
|
||
// MISE À JOUR DES INFORMATIONS SUR LE PAIEMENT DANS LA BASE DE DONNÉES GSHEET
|
||
|
||
|
||
await GS_stagean.useServiceAccountAuth(GS_creds_stagean);
|
||
await GS_stagean.loadInfo(); // loads document properties and worksheets
|
||
console.log("NOM FICHIER SHEET: ",GS_stagean.title); //nom du fichier
|
||
const GS_SN_sheet = GS_stagean.sheetsByTitle['inscription_web'];
|
||
logger.info("NOM DU TABLEAU (ONGLET): " + GS_SN_sheet.title, { numsession: req.session.id });
|
||
|
||
// on récupère le contenu de la GSheet dans un array nommé "infos_adherents"
|
||
const infos_adherents = await GS_SN_sheet.getRows();
|
||
// on récupère quelle ligne contient l'identifiant concerné pour mettre à jour cette ligne
|
||
let list_identifiants = new Array;
|
||
let compteur = GS_SN_sheet.rowCount - 1;
|
||
let rowToBeUpdate;
|
||
logger.info("identifiant TRANSMIS PAR STRIPE :" + identifiant, { numsession: req.session.id });
|
||
for (let i=0; i<compteur; i++) {
|
||
list_identifiants[i] = infos_adherents[i].identifiant;
|
||
|
||
if (infos_adherents[i].identifiant === identifiant){
|
||
logger.info("infos_adherents[i].identifiant TROUVE :" + infos_adherents[i].identifiant, { numsession: req.session.id });
|
||
logger.info("IDENTIFIANT TROUVÉ DANS LE ARRAY 'infos_adherents' à i = " + i, { numsession: req.session.id });
|
||
logger.info("infos_adherents[i].adherent_nom TROUVE :" + infos_adherents[i].adherent_nom, { numsession: req.session.id });
|
||
rowToBeUpdate = i;
|
||
}
|
||
}
|
||
logger.info("infos_adherents[i].adherent_nom TROUVE GARDE :" + infos_adherents[rowToBeUpdate].adherent_nom, { numsession: req.session.id });
|
||
|
||
// DATE DE DU PAIEMENT
|
||
moment().format();
|
||
moment.locale('fr');
|
||
var date_formattee = moment().format('L')
|
||
console.log("date_formattee:", date_formattee);
|
||
|
||
|
||
// MISE À JOUR DES INFORMATIONS SUR LE PAIEMENT DANS LA BASE DE DONNÉES GSHEET
|
||
logger.info("rowToBeUpdate :" + rowToBeUpdate, { numsession: req.session.id });
|
||
infos_adherents[rowToBeUpdate].inscription_accompte_paye = 'paye';
|
||
infos_adherents[rowToBeUpdate].inscription_accompte_paiement_mode = payment_method_types[0];
|
||
infos_adherents[rowToBeUpdate].inscription_accompte_paiement_CB_retour = CB_retour;
|
||
infos_adherents[rowToBeUpdate].inscription_accompte_paiement_date = date_formattee;
|
||
|
||
|
||
await infos_adherents[rowToBeUpdate].save(); // save updates
|
||
|
||
//// MISE A JOUR DU COMPTEUR CAMP ADO
|
||
let compteur_ado_a_ajouter = 0;
|
||
for (let i=1; i<7; i++) {
|
||
|
||
infos_adherents[rowToBeUpdate]["personne_"+i+"_profil"];
|
||
logger.info("infos_adherents[rowToBeUpdate].personne_+i+_profil :" + infos_adherents[rowToBeUpdate]["personne_"+i+"_profil"], { numsession: req.session.id });
|
||
|
||
if (infos_adherents[rowToBeUpdate]["personne_"+i+"_profil"] === "Camp ado"){
|
||
logger.info("CAMP ADO TROUVE = " + infos_adherents[rowToBeUpdate]["personne_"+i+"_profil"], { numsession: req.session.id });
|
||
compteur_ado_a_ajouter ++;
|
||
}
|
||
}
|
||
logger.info("compteur_ado_a_ajouter :" + compteur_ado_a_ajouter, { numsession: req.session.id });
|
||
if (compteur_ado_a_ajouter > 0) {
|
||
//await GS_stagean.useServiceAccountAuth(GS_creds_stagean);
|
||
//await GS_stagean.loadInfo(); // loads document properties and worksheets
|
||
logger.info("NOM FICHIER SHEET : " + GS_stagean.title, { numsession: req.session.id });
|
||
const GS_SN_sheet_campado = GS_stagean.sheetsByTitle['campado'];
|
||
logger.info("NOM DU TABLEAU (ONGLET): " + GS_SN_sheet_campado.title, { numsession: req.session.id });
|
||
await GS_SN_sheet_campado.loadCells('B1:B2');
|
||
const GS_SN_sheet_campado_b2 = GS_SN_sheet_campado.getCellByA1('B2');
|
||
logger.info("CONTENU DE LA CELLULE B2 : " + GS_SN_sheet_campado_b2.value, { numsession: req.session.id });
|
||
GS_SN_sheet_campado_b2.value -= compteur_ado_a_ajouter;
|
||
logger.info("CONTENU DE LA CELLULE B2 APRES SOUSTRACTION DU COMPTEUR ADO : " + GS_SN_sheet_campado_b2, { numsession: req.session.id });
|
||
await GS_SN_sheet_campado.saveUpdatedCells();
|
||
}
|
||
|
||
|
||
//////////////////////////////////////////////////////////////////////////////
|
||
// CONFIRMATION PAR MAIL
|
||
|
||
console.log("MAIL ENVOI AVANT");
|
||
var transporter = nodemailer.createTransport({
|
||
service: 'gmail',
|
||
auth: {
|
||
// TEST JULIE
|
||
//user: 'juliechaumard@gmail.com',
|
||
//pass: 'etfq umof iwbx ltxk'
|
||
// SUZUKI
|
||
user: 'afps.inscription@gmail.com',
|
||
pass: 'vljxrkhwgljjracs'
|
||
}
|
||
});
|
||
var mail_objet = "ASSOCIATION FRANÇAISE POUR LA PÉDAGOGIE SUZUKI - STAGE ANNUEL 2022/2023 - ";
|
||
mail_objet += infos_adherents[rowToBeUpdate].adherent_nom;
|
||
mail_html = "<p>Cher adhérent,</p><p>Félicitations ! Vous êtes désormais inscrit au stage annuel de l’Association Française pour la Pédagogie Suzuki (http://www.afpedagogiesuzuki.fr) qui se tiendra du 20 au 25 août 2023.</p>";
|
||
|
||
mail_html += "<br>";
|
||
mail_html += "<p>RÉCAPITULATIF :</p>";
|
||
mail_html += "<p>Identifiant Suzuki : ";
|
||
mail_html += identifiant;
|
||
mail_html += "</p><p>Association Suzuki : ";
|
||
mail_html += infos_adherents[rowToBeUpdate].association_suzuki;
|
||
mail_html += "</p><p>Mode d'hébergement : ";
|
||
mail_html += infos_adherents[rowToBeUpdate].hebergement;
|
||
mail_html += "</p><br>";
|
||
for (let toto = 1; toto<7; toto++) {
|
||
if (infos_adherents[rowToBeUpdate]["personne_"+toto+"_nom"]) {
|
||
mail_html += "<p>Nom : ";
|
||
mail_html += infos_adherents[rowToBeUpdate]["personne_"+toto+"_nom"];
|
||
mail_html += " ";
|
||
mail_html += infos_adherents[rowToBeUpdate]["personne_"+toto+"_prenom"];
|
||
mail_html += "</p><p>Profile âge : ";
|
||
mail_html += infos_adherents[rowToBeUpdate]["personne_"+toto+"_age"];
|
||
mail_html += "</p><p>Catégorie : ";
|
||
mail_html += infos_adherents[rowToBeUpdate]["personne_"+toto+"_categorie"];
|
||
if (infos_adherents[rowToBeUpdate]["personne_"+toto+"_profil"]) {
|
||
mail_html += " ";
|
||
mail_html += infos_adherents[rowToBeUpdate]["personne_"+toto+"_profil"];
|
||
}
|
||
mail_html += "</p><p>Mode de transport : ";
|
||
mail_html += infos_adherents[rowToBeUpdate]["personne_"+toto+"_transport_mode"];
|
||
mail_html += " ";
|
||
mail_html += infos_adherents[rowToBeUpdate]["personne_"+toto+"_transport_arret"];
|
||
mail_html += "</p>";
|
||
if (infos_adherents[rowToBeUpdate]["personne_"+toto+"_instrument"]) {
|
||
mail_html += "<p>Instrument : ";
|
||
mail_html += infos_adherents[rowToBeUpdate]["personne_"+toto+"_instrument"];
|
||
mail_html += " ";
|
||
mail_html += infos_adherents[rowToBeUpdate]["personne_"+toto+"_cahier"];
|
||
mail_html += " ";
|
||
mail_html += infos_adherents[rowToBeUpdate]["personne_"+toto+"_option_coursindividuel"];
|
||
mail_html += "</p>";
|
||
}
|
||
if (infos_adherents[rowToBeUpdate]["personne_"+toto+"_activite_1"]) {
|
||
mail_html += "<p>Activité : ";
|
||
mail_html += infos_adherents[rowToBeUpdate]["personne_"+toto+"_activite_1"];
|
||
mail_html += " ";
|
||
mail_html += infos_adherents[rowToBeUpdate]["personne_"+toto+"_activite_2"];
|
||
mail_html += "</p>";
|
||
}
|
||
if (infos_adherents[rowToBeUpdate]["personne_"+toto+"_cout_hebergement"]) {
|
||
mail_html += "<p>Coût hébergement : ";
|
||
mail_html += infos_adherents[rowToBeUpdate]["personne_"+toto+"_cout_hebergement"];
|
||
mail_html += "</p>";
|
||
}
|
||
if (infos_adherents[rowToBeUpdate]["personne_"+toto+"_cout_transport"]) {
|
||
mail_html += "<p>Coût transport : ";
|
||
mail_html += infos_adherents[rowToBeUpdate]["personne_"+toto+"_cout_transport"];
|
||
mail_html += "</p>";
|
||
}
|
||
if (infos_adherents[rowToBeUpdate]["personne_"+toto+"_campado_cout"]) {
|
||
mail_html += "<p>Coût camp ado : ";
|
||
mail_html += infos_adherents[rowToBeUpdate]["personne_"+toto+"_campado_cout"];
|
||
mail_html += "</p>";
|
||
}
|
||
if (infos_adherents[rowToBeUpdate]["personne_"+toto+"_cours_cout"]) {
|
||
mail_html += "<p>Coût cours : ";
|
||
mail_html += infos_adherents[rowToBeUpdate]["personne_"+toto+"_cours_cout"];
|
||
mail_html += "</p>";
|
||
}
|
||
if (infos_adherents[rowToBeUpdate]["personne_"+toto+"_activite_cout"]) {
|
||
mail_html += "<p>Coût activité : ";
|
||
mail_html += infos_adherents[rowToBeUpdate]["personne_"+toto+"_activite_cout"];
|
||
mail_html += "</p>";
|
||
}
|
||
if (infos_adherents[rowToBeUpdate]["personne_"+toto+"_observation_cout"]) {
|
||
mail_html += "</p><p>Coût observation : ";
|
||
mail_html += infos_adherents[rowToBeUpdate]["personne_"+toto+"_observation_cout"];
|
||
mail_html += "</p>";
|
||
}
|
||
mail_html += "<br>";
|
||
}
|
||
}
|
||
|
||
mail_html += "<br>";
|
||
mail_html += "<p>Coût total : ";
|
||
mail_html += infos_adherents[rowToBeUpdate].cout_total;
|
||
mail_html += "</p><p>Remise : ";
|
||
mail_html += infos_adherents[rowToBeUpdate].remise;
|
||
mail_html += "</p><p>Frais bancaire de l'acompte : ";
|
||
mail_html += infos_adherents[rowToBeUpdate].accompte_frais_bancaire;
|
||
mail_html += "</p>Montant de l'acompte versé : ";
|
||
mail_html += infos_adherents[rowToBeUpdate].inscription_accompte_paiement_montant;
|
||
mail_html += "</p>";
|
||
|
||
if (infos_adherents[rowToBeUpdate].cout_total_dalcroze_surplace > 0) {
|
||
mail_html += "<p>Coût activité Dalcroze adulte à payer sur place : ";
|
||
mail_html += infos_adherents[rowToBeUpdate].cout_total_dalcroze_surplace;
|
||
mail_html += "€</p>";
|
||
}
|
||
if (infos_adherents[rowToBeUpdate].cout_total_percussion_surplace > 0) {
|
||
mail_html += "<p>Coût activité percussions adulte à payer sur place : ";
|
||
mail_html += infos_adherents[rowToBeUpdate].cout_total_percussion_surplace;
|
||
mail_html += "€</p>";
|
||
}
|
||
|
||
mail_html += "<p><br>Nous vous remercions pour votre intérêt et vous souhaitons une très bon stage !</p><p>Association Française pour la pédagogie Suzuki<br>Anne-Laure SAUVEGRAIN<br>Pôle organisation du stage</p>";
|
||
var mailOptions = {
|
||
from: 'afps.inscription@gmail.com',
|
||
to: customer_email,
|
||
subject: mail_objet,
|
||
html: mail_html,
|
||
};
|
||
transporter.sendMail(mailOptions, function(error, info){
|
||
if (error) {
|
||
logger.info("error : " + error, { numsession: req.session.id});
|
||
} else {
|
||
console.log('Email sent: ' + info.response);
|
||
}
|
||
});
|
||
console.log("MAIL ENVOI APRES");
|
||
|
||
|
||
// REDIRECTION VERS LA PAGE DE CONFIRMATION PAIEMENT CARTE BANCAIRE
|
||
res.locals.identifiant = infos_adherents[rowToBeUpdate].identifiant;
|
||
res.locals.association = infos_adherents[rowToBeUpdate].association_suzuki;
|
||
res.locals.adherent_nom = infos_adherents[rowToBeUpdate].adherent_nom;
|
||
res.locals.adherent_prenom = infos_adherents[rowToBeUpdate].adherent_prenom;
|
||
res.locals.adherent_adresse_rue = infos_adherents[rowToBeUpdate].adherent_adresse_rue;
|
||
res.locals.adherent_adresse_complement = infos_adherents[rowToBeUpdate].adherent_adresse_complement;
|
||
res.locals.adherent_adresse_codepostal = infos_adherents[rowToBeUpdate].adherent_adresse_codepostal;
|
||
res.locals.adherent_adresse_ville = infos_adherents[rowToBeUpdate].adherent_adresse_ville;
|
||
res.locals.adherent_adresse_pays = infos_adherents[rowToBeUpdate].adherent_adresse_pays;
|
||
res.locals.adherent_telephone_mobile = infos_adherents[rowToBeUpdate].adherent_telephone_mobile;
|
||
res.locals.adherent_telephone_fixe = infos_adherents[rowToBeUpdate].adherent_telephone_fixe;
|
||
res.locals.adherent_mail = infos_adherents[rowToBeUpdate].adherent_mail;
|
||
res.locals.hebergement = infos_adherents[rowToBeUpdate].hebergement;
|
||
res.locals.commentaire_adherent = infos_adherents[rowToBeUpdate].commentaire_adherent;
|
||
|
||
|
||
for (let toto = 1; toto < 7; toto++) {
|
||
res.locals["personne_"+toto+"_numero"] = toto;
|
||
res.locals["personne_"+toto+"_nom"] = infos_adherents[rowToBeUpdate]["personne_"+toto+"_nom"];
|
||
res.locals["personne_"+toto+"_prenom"] = infos_adherents[rowToBeUpdate]["personne_"+toto+"_prenom"];
|
||
res.locals["personne_"+toto+"_profilage"] = infos_adherents[rowToBeUpdate]["personne_"+toto+"_profilage"];
|
||
res.locals["personne_"+toto+"_categorie"] = infos_adherents[rowToBeUpdate]["personne_"+toto+"_categorie"];
|
||
res.locals["personne_"+toto+"_profil"] = infos_adherents[rowToBeUpdate]["personne_"+toto+"_profil"];
|
||
res.locals["personne_"+toto+"_transport_mode"] = infos_adherents[rowToBeUpdate]["personne_"+toto+"_transport_mode"];
|
||
res.locals["personne_"+toto+"_transport_arret"] = infos_adherents[rowToBeUpdate]["personne_"+toto+"_transport_arret"]
|
||
res.locals["personne_"+toto+"_instrument"] = infos_adherents[rowToBeUpdate]["personne_"+toto+"_instrument"];
|
||
res.locals["personne_"+toto+"_cahier"] = infos_adherents[rowToBeUpdate]["personne_"+toto+"_cahier"];
|
||
res.locals["personne_"+toto+"_option_coursindividuel"] = infos_adherents[rowToBeUpdate]["personne_"+toto+"_option_coursindividuel"];
|
||
res.locals["personne_"+toto+"_option_concertsolo"] = infos_adherents[rowToBeUpdate]["personne_"+toto+"_option_concertsolo"];
|
||
res.locals["personne_"+toto+"_activite_1"] = infos_adherents[rowToBeUpdate]["personne_"+toto+"_activite_1"];
|
||
res.locals["personne_"+toto+"_activite_2"] = infos_adherents[rowToBeUpdate]["personne_"+toto+"_activite_2"];
|
||
res.locals["personne_"+toto+"_cout_hebergement"] = infos_adherents[rowToBeUpdate]["personne_"+toto+"_cout_hebergement"];
|
||
res.locals["personne_"+toto+"_cout_transport"] = infos_adherents[rowToBeUpdate]["personne_"+toto+"_cout_transport"];
|
||
res.locals["personne_"+toto+"_activite_cout"] = infos_adherents[rowToBeUpdate]["personne_"+toto+"_activite_cout"];
|
||
res.locals["personne_"+toto+"_observation_cout"] = infos_adherents[rowToBeUpdate]["personne_"+toto+"_observation_cout"];
|
||
res.locals["personne_"+toto+"_cours_cout"] = infos_adherents[rowToBeUpdate]["personne_"+toto+"_cours_cout"];
|
||
res.locals["personne_"+toto+"_campado_cout"] = infos_adherents[rowToBeUpdate]["personne_"+toto+"_campado_cout"];
|
||
}
|
||
res.locals.cout_total = infos_adherents[rowToBeUpdate].cout_total;
|
||
res.locals.remise = infos_adherents[rowToBeUpdate].remise;
|
||
res.locals.accompte_frais_bancaire = infos_adherents[rowToBeUpdate].accompte_frais_bancaire;
|
||
res.locals.montant_accompte = infos_adherents[rowToBeUpdate].inscription_accompte_paiement_montant;
|
||
|
||
if (!infos_adherents[rowToBeUpdate].identifiant) {
|
||
res.locals.error = "Il y a eu une erreur lors de l'ajout de votre inscription dans la base de données du stage, veuillez contacter l'association Suzuki par mail pour le signaler à l'adresse StgNational@gmail.com";
|
||
}
|
||
|
||
res.render('stagenat/page_templates/paiement_reussi.ejs');
|
||
}
|
||
|
||
|
||
/////////////////////////////////////////////////
|
||
// RETOUR PAIEMENT ECHOUE
|
||
// CLICK SUR BOUTON RECOMMENCER
|
||
const SN_accompte_annule = async function(req, res) {
|
||
|
||
|
||
|
||
logger.info("======================================");
|
||
logger.info("======== FUNCTION SN_accompte_echoue ==========");
|
||
logger.info("======================================");
|
||
|
||
// RETOUR STRIPE
|
||
var id = req.query.id;
|
||
|
||
logger.info("id : " + id, { numsession: req.session.id });
|
||
|
||
const session_stripe = await stripe.checkout.sessions.retrieve(id);
|
||
|
||
var customer_email = session_stripe.customer_email;
|
||
var payment_status = session_stripe.payment_status;
|
||
var amount_total = session_stripe.amount_total/100;
|
||
var stripe_customer = session_stripe.customer;
|
||
var stripe_payment_intent = session_stripe.payment_intent;
|
||
var payment_method_types = session_stripe.payment_method_types;
|
||
var stripe_status = session_stripe.status;
|
||
var identifiant = session_stripe.metadata.identifiant;
|
||
var CB_retour = "identifiant_adherent:"+identifiant+",payment_status:"+payment_status+",stripe_customer:"+stripe_customer+",stripe_payment_intent:"+stripe_payment_intent+",sessionID:"+session_stripe.id+",payment_method_types:"+payment_method_types+",amount_total:"+amount_total+",stripe_status:"+stripe_status;
|
||
logger.info("cookiesessionid APRES Stripe :" + session_stripe.metadata.cookiesessionid, { numsession: req.session.id });
|
||
var cookiesessionid = session_stripe.metadata.cookiesessionid;
|
||
|
||
logger.info("payment_status : " + payment_status, { numsession: req.session.id });
|
||
|
||
|
||
//////////////////////////////////////////////////////////////////////////////
|
||
// RÉCUPÉRATION DES INFOS STAGIAIRES DANS LA GOOGLE SHEET
|
||
// ANNULATION DE L'INSCRIT DANS LA BASE DE DONNÉES GSHEET
|
||
// GSHEET "identifiant" = ANNULE / "paye" = echec
|
||
|
||
|
||
await GS_stagean.useServiceAccountAuth(GS_creds_stagean);
|
||
await GS_stagean.loadInfo(); // loads document properties and worksheets
|
||
console.log("NOM FICHIER SHEET: ",GS_stagean.title); //nom du fichier
|
||
const GS_SN_sheet = GS_stagean.sheetsByTitle['inscription_web'];
|
||
logger.info("NOM DU TABLEAU (ONGLET): " + GS_SN_sheet.title, { numsession: req.session.id });
|
||
|
||
// on récupère le contenu de la GSheet dans un array nommé "infos_adherents"
|
||
const infos_adherents = await GS_SN_sheet.getRows();
|
||
// on récupère quelle ligne contient l'identifiant concerné pour mettre à jour cette ligne
|
||
let list_identifiants = new Array;
|
||
let compteur = GS_SN_sheet.rowCount - 1;
|
||
let rowToBeUpdate;
|
||
logger.info("identifiant TRANSMIS PAR STRIPE :" + identifiant, { numsession: req.session.id });
|
||
for (let i=0; i<compteur; i++) {
|
||
list_identifiants[i] = infos_adherents[i].identifiant;
|
||
|
||
if (infos_adherents[i].identifiant === identifiant){
|
||
logger.info("infos_adherents[i].identifiant TROUVE :" + infos_adherents[i].identifiant, { numsession: req.session.id });
|
||
logger.info("IDENTIFIANT TROUVÉ DANS LE ARRAY 'infos_adherents' à i = " + i, { numsession: req.session.id });
|
||
logger.info("infos_adherents[i].adherent_nom TROUVE :" + infos_adherents[i].adherent_nom, { numsession: req.session.id });
|
||
rowToBeUpdate = i;
|
||
}
|
||
}
|
||
logger.info("infos_adherents[i].adherent_nom TROUVE GARDE :" + infos_adherents[rowToBeUpdate].adherent_nom, { numsession: req.session.id });
|
||
|
||
|
||
// ANNULATION INSCRIT DANS LA BASE DE DONNÉES GSHEET
|
||
logger.info("rowToBeUpdate :" + rowToBeUpdate, { numsession: req.session.id });
|
||
infos_adherents[rowToBeUpdate].inscription_accompte_paye = 'echec';
|
||
infos_adherents[rowToBeUpdate].identifiant = 'ANNULE';
|
||
await infos_adherents[rowToBeUpdate].save(); // save updates
|
||
|
||
res.render('stagenat/page_templates/paiement_annule');
|
||
|
||
}
|
||
|
||
|
||
/////////////////////////////////////////////////
|
||
// EXPORT DE MODULE POUR QU'IL SOIT LU DANS LES AUTRES FICHIERS JS
|
||
/////////////////////////////////////////////////
|
||
|
||
module.exports = {
|
||
SN_checkidentifiant,
|
||
SN_checkinfos,
|
||
post_recap_modifier,
|
||
post_payer_accompte,
|
||
post_enregistrer_inscrip_ssacompte,
|
||
SN_accompte_reussi,
|
||
SN_accompte_annule
|
||
} |