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