Revue du message envoyé aux abonnés quand plus de nouveaux contenus et suppression de certains logs.
This commit is contained in:
parent
12bf9505f7
commit
a6b80cb2fc
@ -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("<br>", " ").replace("</p>", " ").replace("</h4>", " ")), 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: "<h4>"+txtQuestionnaireAccess.questionnaireRetryInfo+"</h4>"+getElementToSend[0].introduction,
|
||||
mailMainContent: "<h4>"+txtQuestionnaireAccess.questionnaireRetryInfo+"</h4>",
|
||||
linksCTA: [{ url: mapMail.QUESTIONNAIRE_URL, txt:txtQuestionnaire.btnShowQuestionnaire }],
|
||||
mailRecipientAddress: subscriptionsOk[i].email
|
||||
}
|
||||
|
@ -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 <a href=\"/a-propos.html\">en lisant la page à propos</a> ou encore commencer à parcourir librement son contenu à l'aide du moteur de recherche ci-dessus.",
|
||||
questionnaireRetryInfo : "<b>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 ?</b>",
|
||||
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."
|
||||
};
|
Loading…
Reference in New Issue
Block a user