diff options
author | Raphael <raphaelkabo@gmail.com> | 2022-12-28 16:38:57 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-28 16:38:57 +0000 |
commit | 8627537af32c8e88fa8bdfe224b92621c7e2df5c (patch) | |
tree | bf1820828f450977151bf6dd4cfd12af87a4026c /routes.js | |
parent | e93b23db71df18480b29ed53c1b8247e7f0f83a7 (diff) | |
parent | d39734bf3fd84c568c15e90d6edb75e68d74b3e1 (diff) |
Merge pull request #85 from redneckcatholic/fix-event-deletion
Fix event deletion
Diffstat (limited to 'routes.js')
-rwxr-xr-x | routes.js | 75 |
1 files changed, 37 insertions, 38 deletions
@@ -1279,47 +1279,46 @@ router.post('/deleteevent/:eventID/:editToken', (req, res) => { 'Location': '/' }); res.end(); + + // Send emails here otherwise they don't exist lol + if (sendEmails) { + const attendeeEmails = event.attendees.filter(o => o.status === 'attending' && o.email).map(o => o.email); + if (attendeeEmails.length) { + console.log("Sending emails to: " + attendeeEmails); + req.app.get('hbsInstance').renderView('./views/emails/deleteevent.handlebars', { siteName, siteLogo, domain, eventName: event.name, cache: true, layout: 'email.handlebars' }, function (err, html) { + const msg = { + to: attendeeEmails, + from: { + name: siteName, + email: contactEmail, + address: contactEmail + }, + subject: `${siteName}: ${event.name} was deleted`, + html, + }; + switch (mailService) { + case 'sendgrid': + sgMail.sendMultiple(msg).catch(e => { + console.error(e.toString()); + res.status(500).end(); + }); + break; + case 'nodemailer': + nodemailerTransporter.sendMail(msg).catch(e => { + console.error(e.toString()); + res.status(500).end(); + }); + break; + } + }); + } + else { + console.log("Nothing to send!"); + } + } }) .catch((err) => { res.send('Sorry! Something went wrong (error deleting): ' + err); addToLog("deleteEvent", "error", "Attempt to delete event " + req.params.eventID + " failed with error: " + err); }); }); - // Send emails here otherwise they don't exist lol - if (sendEmails) { - Event.findOne({ id: req.params.eventID }).then((event) => { - const attendeeEmails = event.attendees.filter(o => o.status === 'attending' && o.email).map(o => o.email); - if (attendeeEmails.length) { - console.log("Sending emails to: " + attendeeEmails); - req.app.get('hbsInstance').renderView('./views/emails/deleteevent.handlebars', { siteName, siteLogo, domain, eventName: event.name, cache: true, layout: 'email.handlebars' }, function (err, html) { - const msg = { - to: attendeeEmails, - from: { - name: siteName, - email: contactEmail, - address: contactEmail - }, - subject: `${siteName}: ${event.name} was deleted`, - html, - }; - switch (mailService) { - case 'sendgrid': - sgMail.sendMultiple(msg).catch(e => { - console.error(e.toString()); - res.status(500).end(); - }); - break; - case 'nodemailer': - nodemailerTransporter.sendMail(msg).catch(e => { - console.error(e.toString()); - res.status(500).end(); - }); - break; - } - }); - } - else { - console.log("Nothing to send!"); - } - }); - } } else { // Token doesn't match |