From a6b80cb2fca8c83d0802b505fcd7bb1f94caf3a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20PENHO=C3=8BT?= Date: Mon, 30 Nov 2020 11:24:52 +0100 Subject: [PATCH] =?UTF-8?q?Revue=20du=20message=20envoy=C3=A9=20aux=20abon?= =?UTF-8?q?n=C3=A9s=20quand=20plus=20de=20nouveaux=20contenus=20et=20suppr?= =?UTF-8?q?ession=20de=20certains=20logs.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controllers/subscription.js | 11 ++++------- lang/fr/questionnaireaccess.js | 2 +- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/controllers/subscription.js b/controllers/subscription.js index bbe5ffd..fc2c129 100644 --- a/controllers/subscription.js +++ b/controllers/subscription.js @@ -257,7 +257,6 @@ exports.addNewQuestionnaireUsers = async(req, res, next) => // Il y a déjà eu au moins un envoi et le dernier envoi était un des éléments d'un quiz groupé : if(lastSended.length !==0 && lastSended[0].dateSended == subscriptionsOk[i].lastProcessingAt) { - console.log(subscriptionsOk[i].email+" a reçu un article lors du dernier envoi le "+subscriptionsOk[i].lastProcessingAt); const lastSendedGroup = await groupCtrl.searchGroupById(lastSended[0].GroupId); if(!tool.isEmpty(lastSendedGroup)) { @@ -265,7 +264,6 @@ exports.addNewQuestionnaireUsers = async(req, res, next) => // Si le dernier élément envoyé était le dernier de son groupe, on envoie le lien du quiz reprenant toutes les questions du groupe : if(!tool.isEmpty(lastSendedGroupNbElements) && lastSendedGroup.Questionnaires[(lastSendedGroupNbElements-1)].id == lastSended[0].QuestionnaireId) { - console.log(subscriptionsOk[i].email+" va recevoir le quiz du groupe.") // Il faut que le quiz soi publié... Sinon on va envoyer un ancien quiz en attendant (cf + bas) if(lastSendedGroup.Group.isPublishable) elementToSend = lastSendedGroup.Group; @@ -273,7 +271,6 @@ exports.addNewQuestionnaireUsers = async(req, res, next) => // Sinon l'élément suivant du groupe : else { - console.log(subscriptionsOk[i].email+" va recevoir le nouvel article du même groupe."); for(let j in lastSendedGroup.Questionnaires) if(lastSendedGroup.Questionnaires[j].id == lastSended[0].QuestionnaireId) elementToSend = await questionnaireCtrl.searchQuestionnaireById(lastSendedGroup.Questionnaires[(parseInt(j)+1)].id); @@ -282,7 +279,6 @@ exports.addNewQuestionnaireUsers = async(req, res, next) => } else { - console.log(subscriptionsOk[i].email+" devrait recevoir le premier article du groupe suivant, si il existe."); // Soit il s'agit du premier envoi d'un abonnement, soit le dernier envoi était le quiz d'un groupe. // Dans ces deux cas, on va envoyer le premier élément non encore envoyé à cet abonné (le groupe peut ne pas être lui-même encore publié) : const getElementToSend = await db.sequelize.query("SELECT `Questionnaires`.`id` FROM `Questionnaires` INNER JOIN `Groups` ON `Questionnaires`.`GroupId`=`Groups`.`id` WHERE `Questionnaires`.`isPublished`=1 AND `Groups`.`language`='"+subscriptionsOk[i].language+"' AND `Questionnaires`.`id` NOT IN (SELECT `QuestionnaireId` FROM `QuestionnaireAccesses` where `UserId`="+subscriptionsOk[i].UserId+") ORDER BY `Groups`.`publishingAt`,`rankInGroup` ASC", { type: QueryTypes.SELECT }); @@ -291,6 +287,8 @@ exports.addNewQuestionnaireUsers = async(req, res, next) => } // Token du lien de désinscription aux envois : const token=jwt.sign({ userId: subscriptionsOk[i].UserId }, config.tokenPrivateKey, { expiresIn: config.tokenUnsubscribeLinkTimeInDays }); + + elementToSend=""; if(!tool.isEmpty(elementToSend)) { if(elementToSend.Questionnaire !== undefined)// = Il s'agit de l'élément d'un group @@ -308,7 +306,6 @@ exports.addNewQuestionnaireUsers = async(req, res, next) => mailTitle: elementToSend.Questionnaire.title, mailHeaderLinkUrl: mapMail.UNSUBSCRIBE_URL, mailHeaderLinkTxt: txt.mailStopMailLinkTxt, - //mailMainContent: elementToSend.Questionnaire.introduction, mailMainContent: tool.shortenIfLongerThan(striptags(elementToSend.Questionnaire.introduction.replace("
", " ").replace("

", " ").replace("", " ")), 500), linksCTA: [{ url:mapMail.QUESTIONNAIRE_URL, txt:txtGeneral.btnShowOnWebSite.replace("#SITE_NAME", config.siteName) }], mailRecipientAddress: subscriptionsOk[i].email @@ -342,7 +339,7 @@ exports.addNewQuestionnaireUsers = async(req, res, next) => else { // L'utilisateur a déjà reçu tous les élements publiés. Dans ce cas, on tire au hasard un quiz groupé pour le lui envoyer une nouvelle fois. - const getElementToSend = await db.sequelize.query("SELECT `id`, `title`, `slug`, `introduction` FROM `Groups` WHERE `publishingAt` < NOW() AND `language`='"+subscriptionsOk[i].language+"' ORDER BY RAND() LIMIT 1", { type: QueryTypes.SELECT }); + const getElementToSend = await db.sequelize.query("SELECT `id`, `title`, `slug` FROM `Groups` WHERE `publishingAt` < NOW() AND `language`='"+subscriptionsOk[i].language+"' ORDER BY RAND() LIMIT 1", { type: QueryTypes.SELECT }); const mapMail = { USER_NAME: subscriptionsOk[i].name, @@ -356,7 +353,7 @@ exports.addNewQuestionnaireUsers = async(req, res, next) => mailTitle: getElementToSend[0].title, mailHeaderLinkUrl: mapMail.UNSUBSCRIBE_URL, mailHeaderLinkTxt: txt.mailStopMailLinkTxt, - mailMainContent: "

"+txtQuestionnaireAccess.questionnaireRetryInfo+"

"+getElementToSend[0].introduction, + mailMainContent: "

"+txtQuestionnaireAccess.questionnaireRetryInfo+"

", linksCTA: [{ url: mapMail.QUESTIONNAIRE_URL, txt:txtQuestionnaire.btnShowQuestionnaire }], mailRecipientAddress: subscriptionsOk[i].email } diff --git a/lang/fr/questionnaireaccess.js b/lang/fr/questionnaireaccess.js index 4d1be4d..cd10d55 100644 --- a/lang/fr/questionnaireaccess.js +++ b/lang/fr/questionnaireaccess.js @@ -3,7 +3,7 @@ module.exports = lastQuestionnairesForUser: "Vos dernières lectures :", notFound : "Les informations d'un questionnaire attribué à un abonné n'ont pas été trouvées : ", noQuestionnaireAccess: "Aucun article ne vous a encore été envoyé par e-mail. Sans doute, venez-vous de créer votre compte. En attendant d'en recevoir, vous pouvez mieux découvrir le site WikiLerni en lisant la page à propos ou encore commencer à parcourir librement son contenu à l'aide du moteur de recherche ci-dessus.", - questionnaireRetryInfo : "Vous avez déjà reçu tous les quizs publiés à ce jour ! En attendant la publication de nouveaux quizs, vous pouvez peut-être réessayer le suivant ?", + questionnaireRetryInfo : "Vous avez déjà reçu tous les articles et quizs publiés à ce jour. En attendant la publication de nouveaux contenus, vous pouvez peut-être réessayer de répondre au quiz suivant ?", questionnaireRetryInfoTxt : "Bonjour USER_NAME,\n\nVous avez déjà reçu tous les quizs publiés à ce jour ! En attendant la publication de nouveaux quizs, vous pouvez peut-être réessayer le suivant ?\n\nQUESTIONNAIRE_URL\n\nBonne lecture !\n\nStopper les envois ?\nUNSUBSCRIBE_URL", searchIsNotLongEnough : "Merci de fournir un mot-clés d'au moins deux caractères pour votre recherche." }; \ No newline at end of file