- newsletter: prende la lista utenti (flag news_on)
- Abilita a Tutti la Newsletter news_on - isCommerciale - JobsInProgress - PCB: Corretto Totali che era a zero
This commit is contained in:
@@ -12,6 +12,7 @@ const i18n = require('i18n');
|
||||
const { ObjectId } = require('mongodb');
|
||||
const { Settings } = require('./models/settings');
|
||||
const { TemplEmail } = require('./models/templemail');
|
||||
const { DestNewsletter } = require('./models/destnewsletter');
|
||||
const { Discipline } = require('./models/discipline');
|
||||
|
||||
const previewEmail = require('preview-email');
|
||||
@@ -57,7 +58,7 @@ module.exports = {
|
||||
|
||||
if (to === '')
|
||||
return false;
|
||||
|
||||
|
||||
// console.log('mylocalsconf', mylocalsconf);
|
||||
|
||||
// console.log("check EMAIL :" + checkifSendEmail());
|
||||
@@ -166,7 +167,7 @@ module.exports = {
|
||||
else
|
||||
transport_preview.sendMail(mailOptions).then(console.log).catch(console.error);
|
||||
}
|
||||
|
||||
|
||||
} catch (e) {
|
||||
console.error('Errore Sendmail', e);
|
||||
}
|
||||
@@ -679,12 +680,20 @@ module.exports = {
|
||||
|
||||
replacefields: function (mylocalsconf) {
|
||||
try {
|
||||
mylocalsconf.dataemail.disclaimer_out = !!mylocalsconf.dataemail.disclaimer ? this.fieldsloop(mylocalsconf,
|
||||
mylocalsconf.dataemail.disclaimer) : '';
|
||||
mylocalsconf.dataemail.disc_bottom_out = !!mylocalsconf.dataemail.disc_bottom ? this.fieldsloop(mylocalsconf,
|
||||
mylocalsconf.dataemail.disc_bottom) : '';
|
||||
mylocalsconf.dataemail.disclaimer_out = !!mylocalsconf.dataemail.disclaimer ? this.fieldsloop(mylocalsconf, mylocalsconf.dataemail.disclaimer) : '';
|
||||
mylocalsconf.dataemail.disc_bottom_out = !!mylocalsconf.dataemail.disc_bottom ? this.fieldsloop(mylocalsconf, mylocalsconf.dataemail.disc_bottom) : '';
|
||||
mylocalsconf.dataemail.firma = !!mylocalsconf.dataemail.firma ? this.fieldsloop(mylocalsconf, mylocalsconf.dataemail.firma) : '';
|
||||
|
||||
if (mylocalsconf.dataemail.templ) {
|
||||
if (mylocalsconf.dataemail.templ.disclaimer)
|
||||
mylocalsconf.dataemail.disclaimer_out = this.fieldsloop(mylocalsconf, mylocalsconf.dataemail.templ.disclaimer);
|
||||
|
||||
if (mylocalsconf.dataemail.templ.piedipagina)
|
||||
mylocalsconf.dataemail.disc_bottom_out = this.fieldsloop(mylocalsconf, mylocalsconf.dataemail.templ.piedipagina);
|
||||
|
||||
if (mylocalsconf.dataemail.templ.firma)
|
||||
mylocalsconf.dataemail.firma = this.fieldsloop(mylocalsconf, mylocalsconf.dataemail.templ.firma);
|
||||
|
||||
mylocalsconf.dataemail.templ.testoheadermail_out = !!mylocalsconf.dataemail.templ.testoheadermail ? this.fieldsloop(mylocalsconf,
|
||||
mylocalsconf.dataemail.templ.testoheadermail) : '';
|
||||
|
||||
@@ -701,37 +710,47 @@ module.exports = {
|
||||
|
||||
getdataemail: async (idapp, templemail_id) => {
|
||||
|
||||
const pwd_from = await Settings.getValDbSettings(idapp, 'PWD_FROM');
|
||||
try {
|
||||
|
||||
// console.log('getdataemail');
|
||||
const mydata = {
|
||||
content_after_events: await Settings.getValDbSettings(idapp, 'TEXT_AFTER_EV'),
|
||||
mailchimpactive: tools.BoolToInt(await Settings.getValDbSettings(idapp, 'MAILCHIMP_ON')),
|
||||
urltwitter: await Settings.getValDbSettings(idapp, 'URL_TWITTER'),
|
||||
urlfb: await Settings.getValDbSettings(idapp, 'URL_FACEBOOK'),
|
||||
urlyoutube: await Settings.getValDbSettings(idapp, 'URL_YOUTUBE'),
|
||||
urlinstagram: await Settings.getValDbSettings(idapp, 'URL_INSTAGRAM'),
|
||||
textpromo: await Settings.getValDbSettings(idapp, 'TEXT_PROMO'),
|
||||
disclaimer: await Settings.getValDbSettings(idapp, 'TEXT_DISCLAIMER'),
|
||||
disc_bottom: await Settings.getValDbSettings(idapp, 'TEXT_DISC_BOTTOM'),
|
||||
firma: await Settings.getValDbSettings(idapp, 'TEXT_SIGN'),
|
||||
const pwd_from = await Settings.getValDbSettings(idapp, 'PWD_FROM');
|
||||
|
||||
arrdiscipline: await Discipline.getDisciplineforNewsletter(idapp),
|
||||
disc_title: await Settings.getValDbSettings(idapp, 'DISC_TITLE'),
|
||||
height_logo: await Settings.getValDbSettings(idapp, 'HEIGHT_LOGO'),
|
||||
from: await Settings.getValDbSettings(idapp, 'EMAIL_FROM'),
|
||||
email_reply: await Settings.getValDbSettings(idapp, 'EMAIL_REPLY', ''),
|
||||
pwd_from: pwd_from,
|
||||
email_service: await Settings.getValDbSettings(idapp, 'EMAIL_SERVICE_SEND'),
|
||||
email_port: await Settings.getValDbSettings(idapp, 'EMAIL_PORT'),
|
||||
templemail_id: templemail_id ? templemail_id : await Settings.getValDbSettings(idapp, 'TEMPLEMAIL_ID'),
|
||||
};
|
||||
let mydata = {
|
||||
templemail_id: templemail_id ? templemail_id : await Settings.getValDbSettings(idapp, 'TEMPLEMAIL_ID'),
|
||||
destnewsletter_id: await Settings.getValDbSettings(idapp, 'TEMPLEMAIL_DEST'),
|
||||
};
|
||||
|
||||
// console.log(mydata.templemail_id);
|
||||
mydata.templ = await TemplEmail.findOne({ _id: mydata.templemail_id });
|
||||
// console.log(mydata.templ);
|
||||
mydata.templ = await TemplEmail.findOne({ _id: mydata.templemail_id }).lean();
|
||||
mydata.destnewsl = await DestNewsletter.findOne({ _id: mydata.destnewsletter_id }).lean();
|
||||
|
||||
// console.log('getdataemail');
|
||||
mydata = {
|
||||
...mydata,
|
||||
content_after_events: await Settings.getValDbSettings(idapp, 'TEXT_AFTER_EV'),
|
||||
mailchimpactive: tools.BoolToInt(await Settings.getValDbSettings(idapp, 'MAILCHIMP_ON')),
|
||||
urltwitter: await Settings.getValDbSettings(idapp, 'URL_TWITTER'),
|
||||
urlfb: await Settings.getValDbSettings(idapp, 'URL_FACEBOOK'),
|
||||
urlyoutube: await Settings.getValDbSettings(idapp, 'URL_YOUTUBE'),
|
||||
urlinstagram: await Settings.getValDbSettings(idapp, 'URL_INSTAGRAM'),
|
||||
textpromo: await Settings.getValDbSettings(idapp, 'TEXT_PROMO'),
|
||||
disc_bottom: await Settings.getValDbSettings(idapp, 'TEXT_DISC_BOTTOM'),
|
||||
|
||||
arrdiscipline: await Discipline.getDisciplineforNewsletter(idapp),
|
||||
disc_title: await Settings.getValDbSettings(idapp, 'DISC_TITLE'),
|
||||
height_logo: await Settings.getValDbSettings(idapp, 'HEIGHT_LOGO'),
|
||||
from: await Settings.getValDbSettings(idapp, 'EMAIL_FROM'),
|
||||
email_reply: await Settings.getValDbSettings(idapp, 'EMAIL_REPLY', ''),
|
||||
pwd_from: pwd_from,
|
||||
email_service: await Settings.getValDbSettings(idapp, 'EMAIL_SERVICE_SEND'),
|
||||
email_port: await Settings.getValDbSettings(idapp, 'EMAIL_PORT'),
|
||||
};
|
||||
|
||||
return mydata;
|
||||
|
||||
} catch (e) {
|
||||
console.error('Error getdataemail: ' + e);
|
||||
return null;
|
||||
}
|
||||
|
||||
return mydata;
|
||||
},
|
||||
|
||||
getTransport: (mylocalsconf) => {
|
||||
@@ -888,9 +907,6 @@ module.exports = {
|
||||
|
||||
await telegrambot.sendMsgTelegramToTheManagers(idapp, msginizio);
|
||||
|
||||
//++Todo Extract List Email to send
|
||||
const userstosend = await MailingList.findAllIdAppSubscribed(idapp);
|
||||
|
||||
const myarrevents = await MyEvent.getLastEvents(idapp);
|
||||
|
||||
let mylocalsconf = {
|
||||
@@ -908,8 +924,24 @@ module.exports = {
|
||||
const mynewsrec = await Newstosent.findOne({ _id: id_newstosent });
|
||||
|
||||
try {
|
||||
mynewsrec.numemail_tot = userstosend.length;
|
||||
mynewsrec.templemail_str = mylocalsconf.dataemail.templ.subject;
|
||||
mynewsrec.destnewsletter_str = mylocalsconf.dataemail.destnewsl?.descr;
|
||||
|
||||
let userstosend = [];
|
||||
|
||||
if (mylocalsconf.dataemail.destnewsl?.tipodest_id === shared_consts.DESTNEWSLETTER.UTENTI) {
|
||||
userstosend = await MailingList.findAllIdAppSubscribed(idapp);
|
||||
} else if (mylocalsconf.dataemail.destnewsl?.tipodest_id === shared_consts.DESTNEWSLETTER.DIARIO) {
|
||||
userstosend = await MailingList.findAllIdAppDiarioSubscr(idapp);
|
||||
} else if (mylocalsconf.dataemail.destnewsl?.tipodest_id === shared_consts.DESTNEWSLETTER.TEST) {
|
||||
userstosend = await MailingList.findAllIdAppTestSubscr(idapp);
|
||||
} else {
|
||||
userstosend = await MailingList.findAllIdAppSubscribed(idapp);
|
||||
}
|
||||
|
||||
|
||||
mynewsrec.numemail_tot = userstosend.length;
|
||||
|
||||
mynewsrec.numemail_sent = await MailingList.getnumSent(idapp, id_newstosent);
|
||||
|
||||
const smtpTransport = this.getTransport(mylocalsconf);
|
||||
@@ -990,6 +1022,8 @@ module.exports = {
|
||||
|
||||
} catch (e) {
|
||||
|
||||
console.error('*** Errore su sendEmail_Newsletter: ! ', e.message);
|
||||
|
||||
const activate = await Newstosent.isActivated(id_newstosent);
|
||||
|
||||
if (!activate) {
|
||||
|
||||
Reference in New Issue
Block a user