summaryrefslogtreecommitdiff
path: root/routes.js
diff options
context:
space:
mode:
authorlowercasename <raphaelkabo@gmail.com>2020-01-10 21:53:13 +1100
committerlowercasename <raphaelkabo@gmail.com>2020-01-10 21:53:13 +1100
commitf2765abbee6001759f74f6c9e1161d2f02a58b2f (patch)
treedbb6c3877ce8289d8d534f14f505f5124d3dacf6 /routes.js
parent29d1206fb2d165e3e7ba788225903bd566a982e1 (diff)
Fixed a bug in iCal file import
Diffstat (limited to 'routes.js')
-rwxr-xr-xroutes.js65
1 files changed, 32 insertions, 33 deletions
diff --git a/routes.js b/routes.js
index eb3ac10..840ac00 100755
--- a/routes.js
+++ b/routes.js
@@ -22,7 +22,8 @@ const marked = require('marked');
const domain = require('./config/domain.js').domain;
const contactEmail = require('./config/domain.js').email;
-const siteName = require('./config/domain.js').sitename
+const siteName = require('./config/domain.js').sitename;
+const siteLogo = require('./config/domain.js').logo_url;
// Extra marked renderer (used to render plaintext event description for page metadata)
// Adapted from https://dustinpfister.github.io/2017/11/19/nodejs-marked/
@@ -528,7 +529,7 @@ router.post('/newevent', async (req, res) => {
addToLog("createEvent", "success", "Event " + eventID + "created");
// Send email with edit link
if (sendEmails) {
- req.app.get('hbsInstance').renderView('./views/emails/createevent.handlebars', {eventID, editToken, siteName, domain, cache: true, layout: 'email.handlebars'}, function(err, html) {
+ req.app.get('hbsInstance').renderView('./views/emails/createevent.handlebars', {eventID, editToken, siteName, siteLogo, domain, cache: true, layout: 'email.handlebars'}, function(err, html) {
const msg = {
to: req.body.creatorEmail,
from: {
@@ -555,12 +556,10 @@ router.post('/newevent', async (req, res) => {
router.post('/importevent', (req, res) => {
let eventID = shortid.generate();
let editToken = randomstring.generate();
- if (req.files && Object.keys(req.files).length != 0) {
- importediCalObject = ical.parseICS(req.files.icsImportControl.data.toString('utf8'));
- for (var key in importediCalObject) {
- importedEventData = importediCalObject[key];
- }
- console.log(importedEventData)
+ if (req.files && Object.keys(req.files).length !== 0) {
+ let iCalObject = ical.parseICS(req.files.icsImportControl.data.toString('utf8'));
+ let importedEventData = iCalObject[Object.keys(iCalObject)];
+
let creatorEmail;
if (req.body.creatorEmail) {
creatorEmail = req.body.creatorEmail
@@ -569,7 +568,7 @@ router.post('/importevent', (req, res) => {
} else {
res.status(500).send("Please supply an email address on the previous page.");
}
-
+
const event = new Event({
id: eventID,
type: 'public',
@@ -596,24 +595,24 @@ router.post('/importevent', (req, res) => {
addToLog("createEvent", "success", "Event " + eventID + " created");
// Send email with edit link
if (sendEmails) {
- req.app.get('hbsInstance').renderView('./views/emails/createevent.handlebars', {eventID, editToken, siteName, domain, cache: true, layout: 'email.handlebars'}, function(err, html) {
- const msg = {
- to: req.body.creatorEmail,
- from: {
- name: siteName,
- email: contactEmail,
- },
- subject: `${siteName}: ${req.body.eventName}`,
- html,
- };
- sgMail.send(msg).catch(e => {
- console.error(e.toString());
- res.status(500).end();
- });
- });
+ req.app.get('hbsInstance').renderView('./views/emails/createevent.handlebars', {eventID, editToken, siteName, siteLogo, domain, cache: true, layout: 'email.handlebars'}, function(err, html) {
+ const msg = {
+ to: req.body.creatorEmail,
+ from: {
+ name: siteName,
+ email: contactEmail,
+ },
+ subject: `${siteName}: ${importedEventData.summary}`,
+ html,
+ };
+ sgMail.send(msg).catch(e => {
+ console.error(e.toString());
+ res.status(500).end();
+ });
+ });
}
res.writeHead(302, {
- 'Location': '/' + eventID + '?e=' + editToken
+ 'Location': '/' + eventID + '?e=' + editToken
});
res.end();
})
@@ -656,7 +655,7 @@ router.post('/neweventgroup', (req, res) => {
addToLog("createEventGroup", "success", "Event group " + eventGroupID + " created");
// Send email with edit link
if (sendEmails) {
- req.app.get('hbsInstance').renderView('./views/emails/createeventgroup.handlebars', {eventGroupID, editToken, siteName, domain, cache: true, layout: 'email.handlebars'}, function(err, html) {
+ req.app.get('hbsInstance').renderView('./views/emails/createeventgroup.handlebars', {eventGroupID, editToken, siteName, siteLogo, domain, cache: true, layout: 'email.handlebars'}, function(err, html) {
const msg = {
to: req.body.creatorEmail,
from: {
@@ -746,7 +745,7 @@ router.post('/editevent/:eventID/:editToken', (req, res) => {
attendeeEmails = ids;
if (!error && attendeeEmails != ""){
console.log("Sending emails to: " + attendeeEmails);
- req.app.get('hbsInstance').renderView('./views/emails/editevent.handlebars', {diffText, eventID: req.params.eventID, siteName, domain, cache: true, layout: 'email.handlebars'}, function(err, html) {
+ req.app.get('hbsInstance').renderView('./views/emails/editevent.handlebars', {diffText, eventID: req.params.eventID, siteName, siteLogo, domain, cache: true, layout: 'email.handlebars'}, function(err, html) {
const msg = {
to: attendeeEmails,
from: {
@@ -918,7 +917,7 @@ router.post('/deleteevent/:eventID/:editToken', (req, res) => {
attendeeEmails = ids;
if (!error){
console.log("Sending emails to: " + attendeeEmails);
- req.app.get('hbsInstance').renderView('./views/emails/deleteevent.handlebars', {siteName, domain, eventName: event.name, cache: true, layout: 'email.handlebars'}, function(err, html) {
+ 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: {
@@ -1046,7 +1045,7 @@ router.post('/attendevent/:eventID', (req, res) => {
addToLog("addEventAttendee", "success", "Attendee added to event " + req.params.eventID);
if (sendEmails) {
if (req.body.attendeeEmail){
- req.app.get('hbsInstance').renderView('./views/emails/addeventattendee.handlebars', {eventID: req.params.eventID, siteName, domain, cache: true, layout: 'email.handlebars'}, function(err, html) {
+ req.app.get('hbsInstance').renderView('./views/emails/addeventattendee.handlebars', {eventID: req.params.eventID, siteName, siteLogo, domain, cache: true, layout: 'email.handlebars'}, function(err, html) {
const msg = {
to: req.body.attendeeEmail,
from: {
@@ -1082,7 +1081,7 @@ router.post('/unattendevent/:eventID', (req, res) => {
addToLog("unattendEvent", "success", "Attendee removed self from event " + req.params.eventID);
if (sendEmails) {
if (req.body.attendeeEmail){
- req.app.get('hbsInstance').renderView('./views/emails/unattendevent.handlebars', {eventID: req.params.eventID, siteName, domain, cache: true, layout: 'email.handlebars'}, function(err, html) { const msg = {
+ req.app.get('hbsInstance').renderView('./views/emails/unattendevent.handlebars', {eventID: req.params.eventID, siteName, siteLogo, domain, cache: true, layout: 'email.handlebars'}, function(err, html) { const msg = {
to: req.body.attendeeEmail,
from: {
name: siteName,
@@ -1119,7 +1118,7 @@ router.post('/removeattendee/:eventID/:attendeeID', (req, res) => {
if (sendEmails) {
// currently this is never called because we don't have the email address
if (req.body.attendeeEmail){
- req.app.get('hbsInstance').renderView('./views/emails/removeeventattendee.handlebars', {eventName: req.params.eventName, siteName, domain, cache: true, layout: 'email.handlebars'}, function(err, html) { const msg = {
+ req.app.get('hbsInstance').renderView('./views/emails/removeeventattendee.handlebars', {eventName: req.params.eventName, siteName, siteLogo, domain, cache: true, layout: 'email.handlebars'}, function(err, html) { const msg = {
to: req.body.attendeeEmail,
from: {
name: siteName,
@@ -1166,7 +1165,7 @@ router.post('/post/comment/:eventID', (req, res) => {
attendeeEmails = ids;
if (!error){
console.log("Sending emails to: " + attendeeEmails);
- req.app.get('hbsInstance').renderView('./views/emails/addeventcomment.handlebars', {siteName, domain, eventID: req.params.eventID, commentAuthor: req.body.commentAuthor, cache: true, layout: 'email.handlebars'}, function(err, html) {
+ req.app.get('hbsInstance').renderView('./views/emails/addeventcomment.handlebars', {siteName, siteLogo, domain, eventID: req.params.eventID, commentAuthor: req.body.commentAuthor, cache: true, layout: 'email.handlebars'}, function(err, html) {
const msg = {
to: attendeeEmails,
from: {
@@ -1218,7 +1217,7 @@ router.post('/post/reply/:eventID/:commentID', (req, res) => {
attendeeEmails = ids;
if (!error){
console.log("Sending emails to: " + attendeeEmails);
- req.app.get('hbsInstance').renderView('./views/emails/addeventcomment.handlebars', {siteName, domain, eventID: req.params.eventID, commentAuthor: req.body.replyAuthor, cache: true, layout: 'email.handlebars'}, function(err, html) {
+ req.app.get('hbsInstance').renderView('./views/emails/addeventcomment.handlebars', {siteName, siteLogo, domain, eventID: req.params.eventID, commentAuthor: req.body.replyAuthor, cache: true, layout: 'email.handlebars'}, function(err, html) {
const msg = {
to: attendeeEmails,
from: {