From 752382ee9f37ce5e3765f9931692020116ad81ff Mon Sep 17 00:00:00 2001 From: lowercasename Date: Sat, 4 Jan 2020 20:46:33 +1100 Subject: Event image deletion functionality --- routes.js | 37 +++++++++++++++++++++++++++++++- views/event.handlebars | 1 - views/partials/editeventmodal.handlebars | 17 ++++++++++++++- 3 files changed, 52 insertions(+), 3 deletions(-) diff --git a/routes.js b/routes.js index 30a96f5..b1c9125 100755 --- a/routes.js +++ b/routes.js @@ -855,11 +855,46 @@ router.post('/editeventgroup/:eventGroupID/:editToken', (req, res) => { .catch((err) => { console.error(err); res.send('Sorry! Something went wrong!'); addToLog("editEventGroup", "error", "Attempt to edit event group " + req.params.eventGroupID + " failed with error: " + err);}); }); +router.post('/deleteimage/:eventID/:editToken', (req, res) => { + let submittedEditToken = req.params.editToken; + Event.findOne(({ + id: req.params.eventID, + })) + .then((event) => { + if (event.editToken === submittedEditToken) { + // Token matches + if (event.image){ + eventImage = event.image; + } else { + res.status(500).send('This event doesn\'t have a linked image. What are you even doing'); + } + fs.unlink(global.appRoot + '/public/events/' + eventImage, (err) => { + if (err) { + res.status(500).send(err); + addToLog("deleteEventImage", "error", "Attempt to delete event image for event " + req.params.eventID + " failed with error: " + err); + } + // Image removed + addToLog("deleteEventImage", "success", "Image for event " + req.params.eventID + " deleted"); + event.image = ""; + event.save() + .then(response => { + res.status(200).send('Success'); + }) + .catch(err => { + res.status(500).send(err); + addToLog("deleteEventImage", "error", "Attempt to delete event image for event " + req.params.eventID + " failed with error: " + err); + }) + }); + } + }); +}); + router.post('/deleteevent/:eventID/:editToken', (req, res) => { let submittedEditToken = req.params.editToken; + let eventImage; Event.findOne(({ id: req.params.eventID, - })) + })) .then((event) => { if (event.editToken === submittedEditToken) { // Token matches diff --git a/views/event.handlebars b/views/event.handlebars index aaa006e..842239f 100755 --- a/views/event.handlebars +++ b/views/event.handlebars @@ -376,7 +376,6 @@ dateTimeSeparator: ', ' }); $("#timezone").val('{{eventData.timezone}}').trigger('change'); - console.log('{{eventData.timezone}}') {{/unless}} {{/if}} $(".commentTimestamp").html(function(){ diff --git a/views/partials/editeventmodal.handlebars b/views/partials/editeventmodal.handlebars index ce3cdcd..2227473 100644 --- a/views/partials/editeventmodal.handlebars +++ b/views/partials/editeventmodal.handlebars @@ -62,6 +62,9 @@ Recommended dimensions (w x h): 920px by 300px. + {{#if eventData.image}} + + {{/if}}
Options
@@ -138,4 +141,16 @@
- \ No newline at end of file + + + \ No newline at end of file -- cgit v1.2.3