total_1ère

This commit is contained in:
2026-07-20 16:33:04 +02:00
parent dd49ba357b
commit d49cf88d99
275 changed files with 63607 additions and 5599 deletions

View File

@@ -6,15 +6,17 @@
/////////////////////////////////////////////////
// LOGGING
/////////////////////////////////////////////////
const logger = require("../public/js/app/logger");
logger.info("NOUS SOMMES DANS LE FICHIER : " + __filename);
const logger = require("../public/js/app/logger_adhesion");
/////////////////////////////////////////////////
// APPELS DES MODULES
/////////////////////////////////////////////////
const express = require('express');
const router = express.Router();
// CALCUL DE DATE
const moment = require('moment');
moment.locale('fr');
let now = moment().format("YYYY-MM-DD HH:mm:ss");
/////////////////////////////////////////////////
// APPELS DES FONCTIONS
@@ -29,20 +31,38 @@ const {
get_res_bank,
get_res_bank_annul,
post_cartemanuelle_verifmail_envoicarte,
post_cartes_manuelles_envoi
post_cartes_manuelles_envoi,
maj_googlesheet,
maj_googlesheet_auto,
maj_statut_paiement_manuel,
suppr_adherent,
import_ass_loacles
} = require("../controllers/adhesionController");
const {
import_ass_locales_v2
} = require("../controllers/adhesion_imp_ass_locController");
const {
adhesion_envoi_carte
} = require("../controllers/adhesion_envoi_carteController.js");
const {
generer_codes
} = require("../controllers/codesController");
const { runSync_prof_strapi } = require("../controllers/sync_prof_strapiController");
/////////////////////////////////////////////////
// ROUTES
/////////////////////////////////////////////////
// Saisie de l'identifiant
router.get('/adhesion', function(req, res) {
logger.info("ON EST DANS adhesionrouter.js - router.get('/adhesion',");
router.get('/', function(req, res) {
logger.info("on est dans la page web /adhesion (adhesionrouter.js)", { numsession: req.session.id });
// AFFICHER LES VARIABLES CONTENANT LES ERREURS
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;
@@ -63,8 +83,18 @@ router.get('/adhesion', function(req, res) {
}
res.locals.dirname = __dirname;
// affichage du template ejs /views/page_templates/formulaire_adhesion_mail.ejs
res.render('adhesion/page_templates/formulaire_adhesion_mail');
// DATE LIMITE D'INSCRIPTION POUR LA SAISON
// SI DATE DÉPASSÉE on affiche une page de fin
if (now > (process.env.ad_date_limite + 1)) {
// DATE DÉPASSÉE, on affiche la page de fin
logger.info(`La date limmite d'inscription ${process.env.ad_date_limite} est dépassée`, { numsession: req.session.id });
res.render('adhesion/page_templates/inscription_terminee');
} else {
// DATE NON DÉPASSÉE, on affiche la page d'inscription
logger.info(`La date limmite d'inscription ${process.env.ad_date_limite} n'est pas encore dépassée`, { numsession: req.session.id });
res.render('adhesion/page_templates/formulaire_adhesion_mail');
}
});
@@ -72,24 +102,47 @@ router.get('/adhesion', function(req, res) {
// VERIFICATION DU MAILcheckMail
// METHODE HTTP POST
/////////////////////////////////////////////////
router.post('/adhesion', checkMail);
router.post('/', checkMail);
/////////////////////////////////////////////////
// OUVRIR LA PAGE DE SAISIE DES INFORMATIONS
// APRÈS VALIDATION DU MAIL
/////////////////////////////////////////////////
router.get('/adhesion_famille', function(req, res) {
logger.info("req.session.identifiant DANS router.get '/adhesion_famille', = " + req.session.identifiant, { numsession: req.session.id });
res.locals.identifiant = req.session.identifiant;
res.locals.adherent_nom = req.session.adherent_nom;
res.locals.famille = "Responsable de la famille :";
req.session.adherent_type = "famille";
if (now > (process.env.ad_date_limite + 1)) {
res.render('adhesion/page_templates/inscription_terminee');
} else {
res.render('adhesion/page_templates/formulaire_adhesion_famille');
}
});
router.get('/adhesion_prof', function(req, res) {
res.locals.identifiant = req.session.identifiant;
res.locals.adherent_nom = req.session.adherent_nom;
req.session.adherent_type = "";
res.render('adhesion/page_templates/formulaire_adhesion_prof');
if (now > (process.env.ad_date_limite + 1)) {
res.render('adhesion/page_templates/inscription_terminee');
} else {
res.render('adhesion/page_templates/formulaire_adhesion_prof');
}
});
router.get('/adhesion_choix', function(req, res) {
res.locals.identifiant = req.session.identifiant;
res.locals.adherent_nom = req.session.adherent_nom;
req.session.adherent_type = "";
res.render('adhesion/page_templates/formulaire_adhesion_choix');
if (now > (process.env.ad_date_limite + 1)) {
res.render('adhesion/page_templates/inscription_terminee');
} else {
res.render('adhesion/page_templates/formulaire_adhesion_choix');
}
});
router.get('/adhesion_observateur', function(req, res) {
@@ -97,20 +150,18 @@ router.get('/adhesion_observateur', function(req, res) {
res.locals.adherent_nom = req.session.adherent_nom;
res.locals.famille = "Inscription observateur :";
req.session.adherent_type = "observateur";
res.render('adhesion/page_templates/formulaire_adhesion_observateur');
if (now > (process.env.ad_date_limite + 1)) {
res.render('adhesion/page_templates/inscription_terminee');
} else {
res.render('adhesion/page_templates/formulaire_adhesion_observateur');
}
});
router.get('/adhesion_famille', function(req, res) {
logger.info("req.session.identifiant DANS router.get('/adhesion_famille', = " + req.session.identifiant, { numsession: req.session.id });
res.locals.identifiant = req.session.identifiant;
res.locals.adherent_nom = req.session.adherent_nom;
res.locals.famille = "Responsable de la famille :";
req.session.adherent_type = "famille";
res.render('adhesion/page_templates/formulaire_adhesion_famille');
});
/////////////////////////////////////////////////
// POST ENREGISTRER INFOS DANS GOOGLE SHEET
// POST ENREGISTRER INFOS DANS BD
/////////////////////////////////////////////////
router.post('/adhesion_prof', post_form_adhesion);
router.post('/adhesion_observateur', post_form_adhesion);
@@ -184,7 +235,7 @@ router.get('/adhesion_paiement/annule', get_res_bank_annul);
// GET URL https://www.adhesion.afpedagogiesuzuki.fr/inscription/adhesion/carte_manuelle
/////////////////////////////////////////////////
router.get('/adhesion/carte_manuelle', function(req, res) {
router.get('/carte_manuelle', function(req, res) {
logger.info("ON EST DANS ROUTE carte_manuelle", { numsession: req.session.id });
// AFFICHER LES VARIABLES CONTENANT LES ERREURS
// LE CONTENU DE CES VARIABLES ERREURS EST MIS DANS LE PROGRAMME ET AFFICHÉ AU RECHARGEMENT DE LA PAGE
@@ -210,7 +261,7 @@ router.get('/adhesion/carte_manuelle', function(req, res) {
// CLIC SUR LE BOUTON ENVOYER CARTE ADHÉRENT DU FORMULAIRE
// form action="cartemanuelle_verifmail_envoicarte"
// DU FICHIER /views/page_templates/formulaire_cartemanuelle_mail.ejs
router.post('/adhesion/cartemanuelle_verifmail_envoicarte', post_cartemanuelle_verifmail_envoicarte);
router.post('/cartemanuelle_verifmail_envoicarte', post_cartemanuelle_verifmail_envoicarte);
/////////////////////////////////////////////////
// ENVOI MANUEL CARTE ADHÉSION ET JUSTIFICATIF DE DON (SI DON)
@@ -218,7 +269,7 @@ router.post('/adhesion/cartemanuelle_verifmail_envoicarte', post_cartemanuelle_v
// GET URL https://www.adhesion.afpedagogiesuzuki.fr/inscription/adhesion/carte_manuelle
/////////////////////////////////////////////////
router.get('/adhesion/cartes_manuelles', function(req, res) {
router.get('/cartes_manuelles', function(req, res) {
logger.info("ON EST DANS ROUTE cartes_manuelles", { numsession: req.session.id });
// AFFICHER LES VARIABLES CONTENANT LES ERREURS
// LE CONTENU DE CES VARIABLES ERREURS EST MIS DANS LE PROGRAMME ET AFFICHÉ AU RECHARGEMENT DE LA PAGE
@@ -247,11 +298,132 @@ router.get('/adhesion/cartes_manuelles', function(req, res) {
// CLIC SUR LE BOUTON ENVOYER CARTES ADHÉRENTS
// form action="cartes_manuelles_envoi"
// DU FICHIER /views/page_templates/adhesion_cartes_manuelles.ejs
router.post('/adhesion/cartes_manuelles_envoi', post_cartes_manuelles_envoi);
router.post('/cartes_manuelles_envoi', post_cartes_manuelles_envoi);
/////////////////////////////////////////////////
// GOOGLE SHEET
// DÉCHARGEMENT DES DONNÉES DANS GOOGLE SHEET
// AUTO LA NUIT AVEC WEB HOOK
/////////////////////////////////////////////////
router.get('/maj_googlesheet_auto', async function(req, res) {
logger.info("on est dans la page web maj_googlesheet_auto (adhesionRouter.js)", { numsession: req.session.id });
try {
// Appelle la fonction maj_googlesheet_auto du contrôleur
const result = await maj_googlesheet_auto(req, res);
res.status(200).json({
success: true,
message: "router - Mise à jour Google Sheet réussie maj_googlesheet_auto",
nb_onglet_adherent: result.nb_onglet_adherent,
nb_onglet_prof: result.nb_onglet_prof,
nb_onglet_stagiaires: result.nb_onglet_stagiaires,
nb_onglet_eleves: result.nb_onglet_eleves,
nb_onglet_adh_att: result.nb_onglet_adh_att,
nb_onglet_finance: result.nb_onglet_finance,
data: result,
});
} catch (error) {
res.status(500).json({
success: false,
message: "router - Mise à jour Google Sheet ECHEC maj_googlesheet_auto",
data: result,
});
}
});
/////////////////////////////////////////////////
// GOOGLE SHEET
// DÉCHARGEMENT DES DONNÉES DANS GOOGLE SHEET
// ‼️‼️‼️ N'est plus utilisé
/////////////////////////////////////////////////
router.get('/maj_googlesheet', function(req, res) {
logger.info("on est dans la page web maj_googlesheet (adhesionRouter.js)", { numsession: req.session.id });
// Pour afficher le résultats des requêtes de récupérations
res.locals.message = req.session.message;
res.locals.message2 = req.session.message2;
res.locals.message3 = req.session.message3;
res.locals.message4 = req.session.message4;
res.locals.message5 = req.session.message5;
res.locals.nb_adherent_maj = req.session.nb_adherent_maj;
res.locals.nb_prof_maj = req.session.nb_prof_maj;
res.locals.nb_prof_form_maj = req.session.nb_prof_form_maj;
res.locals.nb_eleve_maj = req.session.nb_eleve_maj;
res.locals.nb_finance_maj = req.session.nb_finance_maj;
res.locals.nb_adherent_en_attente_maj = req.session.nb_adherent_en_attente_maj;
// il faut initialiser les variables après les avoir copiées dans la variable d'affichage pour ne pas laisser un chiffre
req.session.message = undefined;
req.session.message2 = undefined;
req.session.message3 = undefined;
req.session.message4 = undefined;
req.session.message5 = undefined;
req.session.nb_adherent_maj = undefined;
req.session.nb_prof_maj = undefined;
req.session.nb_prof_form_maj = undefined;
req.session.nb_eleve_maj = undefined;
req.session.nb_finance_maj = undefined;
req.session.nb_adherent_en_attente_maj = undefined;
res.render('adhesion/page_templates/maj_googlesheet.ejs');
});
// CLIC SUR LE BOUTON "Mettre à jour GSheet"
router.post('/form_maj_googlesheet', maj_googlesheet);
/////////////////////////////////////////////////
// METTRE À JOUR LE STATUS DE PAIEMENT
// MANUELLEMENT
// DANS LA BD
/////////////////////////////////////////////////
// CLIC SUR LE BOUTON "Valider" de la page /maj_googlesheet
router.post('/form_maj_statut_paiement_manuel', maj_statut_paiement_manuel);
/////////////////////////////////////////////////
// SUPPRIMER UN ADHERENT
// METTRE "supprime" à la place de son identifiant
/////////////////////////////////////////////////
// CLIC SUR LE BOUTON "Valider" de la page /maj_googlesheet
router.post('/form_maj_suppr_adherent', suppr_adherent);
/////////////////////////////////////////////////
// ASSOCIATIONS LOCACLES
// IMPORTS ADHÉRENTS DANS DB
// CLIC SUR LE BOUTON "Valider" de la page /maj_googlesheet
/////////////////////////////////////////////////
//router.post('/form_import_ass_locales', import_ass_loacles);
router.post('/form_import_ass_locales', import_ass_locales_v2);
/////////////////////////////////////////////////
// ENVOI DE CARTE ADHERENT
/////////////////////////////////////////////////
router.get('/adhesion_envoi_carte/:identifiant_afps', adhesion_envoi_carte);
/////////////////////////////////////////////////
// GÉNÉRATION DE CODE
// CLIC SUR LE BOUTON "Générer" de la page /maj_googlesheet
/////////////////////////////////////////////////
router.post('/form_generation_codes', generer_codes);
/////////////////////////////////////////////////
// EXPORT DES PROFESSEURS POUR STRAPI ET ANNUAIRE SITE AFPS
/////////////////////////////////////////////////
// déclenche manuellement la synchro en visitant /admin/sync
router.get("/sync_prof_strapi", async (req, res, next) => {
try {
const result = await runSync_prof_strapi(req, res);
//res.json({ ok: true, ...result });
} catch (e) {
next(e);
}
});
/////////////////////////////////////////////////
// EXPORT DE MODULE POUR QU'IL SOIT LU DANS LES AUTRES FICHIERS JS