From 391f5240d4d8edfa25ff01a1976fcd351fa46aae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20PENHO=C3=8BT?= Date: Mon, 30 Nov 2020 16:10:53 +0100 Subject: [PATCH] Ajout champ email doublon pour bot dans formulaire inscription + formulaire inscription sur la page d'accueil --- controllers/questionnaire.js | 2 ++ controllers/user.js | 8 ++++- front/public/inscription.html | 10 +++--- front/public/themes/wikilerni/css/style.css | 7 +++-- lang/fr/user.js | 5 ++- views/wikilerni/config/fr.js | 6 ++-- views/wikilerni/home.pug | 35 ++++++++++++++++----- views/wikilerni/quiz-element.pug | 5 +-- 8 files changed, 57 insertions(+), 21 deletions(-) diff --git a/controllers/questionnaire.js b/controllers/questionnaire.js index cd4c5dd..c9a8b32 100644 --- a/controllers/questionnaire.js +++ b/controllers/questionnaire.js @@ -796,6 +796,7 @@ const creaNewQuestionnairesHTML = async (Questionnaires) => // On regénère la page d'accueil avec le(s) dernier(s) questionnaire(s) mis en avant : let compiledFunction = pug.compileFile("./views/"+config.theme+"/home.pug"); const configTpl = require("../views/"+config.theme+"/config/"+config.availableLangs[0]+".js"); + const txtUser = require("../lang/"+config.adminLang+"/user"); let questionnaires=[]; for(let i in Questionnaires) questionnaires.push(await searchQuestionnaireById(Questionnaires[i].id)); @@ -808,6 +809,7 @@ const creaNewQuestionnairesHTML = async (Questionnaires) => txtGeneral : txtGeneral, txtQuestionnaire: txtQuestionnaire, txtIllustration: txtIllustration, + txtUser: txtUser, pageLang: config.adminLang, metaDescription: txtGeneral.siteMetaDescription, pageTitle: txtGeneral.siteHTMLTitle, diff --git a/controllers/user.js b/controllers/user.js index 0750574..1a3a31c 100644 --- a/controllers/user.js +++ b/controllers/user.js @@ -63,6 +63,7 @@ exports.getGodfatherId = async (req, res, next) => // Contrôleur traitant les données envoyées pour une inscription // Les CGU doivent être acceptées et une adresse e-mail envoyée. +// Un champ email2 invisible ne devrait être envoyé que par des bots // Le reste peut être adapté sur la page de validation de l'inscription. exports.signup = async (req, res, next) => { @@ -73,6 +74,11 @@ exports.signup = async (req, res, next) => res.status(400).json({ errors: [txt.needUGCOk] }); else if(tool.isEmpty(req.body.email)) res.status(400).json({ errors: [txt.needEmail] }); + else if(!tool.isEmpty(req.body.email2)) + { + res.status(400).json({ errors: [txt.failBotTest] }); + console.log(txt.failBotTestLog+req.body.email2); + } else { // Un mot de passe temporaire et non communiqué est généré : @@ -91,7 +97,7 @@ exports.signup = async (req, res, next) => else if(req.body.GroupId) await answerCtrl.saveAnswerToGroup(req.body); await sendValidationLink(user); - res.status(201).json({ message: txt.mailValidationMessage }); + res.status(201).json({ message: txt.mailValidationMessage.replace("#EMAIL", req.body.email) }); next(); } } diff --git a/front/public/inscription.html b/front/public/inscription.html index 69e6ed9..f5754fd 100644 --- a/front/public/inscription.html +++ b/front/public/inscription.html @@ -39,6 +39,7 @@
+