From 40ec9b16edc5e420a1e22e1d4f33e5f5e41427cd Mon Sep 17 00:00:00 2001 From: imdhruvgupta Date: Sun, 28 Jul 2019 23:43:28 +0530 Subject: [PATCH] [FEATURE] edit and delete claims --- routes/root.js | 39 +++++++++++++++++++++++++++++++++++++ views/pages/claims/edit.hbs | 32 ++++++++++++++++++++++++++++++ views/pages/claims/view.hbs | 7 +++++++ 3 files changed, 78 insertions(+) create mode 100644 views/pages/claims/edit.hbs diff --git a/routes/root.js b/routes/root.js index 4de51d2..4f394b6 100644 --- a/routes/root.js +++ b/routes/root.js @@ -113,6 +113,10 @@ route.get('/claims/view', (req, res) => { } var menuH = {} + var current + if(req.user) { + current = req.user.usergithub.username + } if (options.status == 'claimed') menuH[options.status] = 'active' else if (options.status == 'accepted') menuH[options.status] = 'active' @@ -182,6 +186,7 @@ route.get('/claims/view', (req, res) => { }, status: options.status, menuH, + current, filter: filter, filterproj: filterproj, username: options.username, @@ -250,4 +255,38 @@ route.post('/claims/:id/update', auth.adminOnly, (req, res) => { }) }) +route.get('/claims/:id/edit', auth.ensureLoggedInGithub, (req, res) => { + + du.getClaimById(req.params.id) + .then(claim => { + if (!claim) throw new Error('No claim found') + res.render('pages/claims/edit', { claim }) + }) + .catch(err => { + res.send('Error fetching claim id = ' + escapeHtml(req.params.id)) + }) +}) + +route.post('/claims/:id/edit', auth.ensureLoggedInGithub,(req, res) => { + + du.updateClaim(req.params.id, req.body) + .then(result => { + res.redirect('/claims/view') + }) + .catch(error => { + res.send('Error updating claim') + }) +}) + +route.get('/claims/:id/delete', auth.ensureLoggedInGithub, (req, res) => { + + du.delClaim(req.params.id) + .then(() => { + res.redirect('/claims/view') + }) + .catch(error => { + res.send('Error Deleting Claim') + }) +}) + module.exports = route diff --git a/views/pages/claims/edit.hbs b/views/pages/claims/edit.hbs new file mode 100644 index 0000000..7910341 --- /dev/null +++ b/views/pages/claims/edit.hbs @@ -0,0 +1,32 @@ +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+ +
+{{#if error}} +
+
+ {{error}} +
+
+{{/if}} \ No newline at end of file diff --git a/views/pages/claims/view.hbs b/views/pages/claims/view.hbs index bc77e45..86815d2 100644 --- a/views/pages/claims/view.hbs +++ b/views/pages/claims/view.hbs @@ -156,6 +156,13 @@ {{/if}} {{#equal claim.status "claimed"}}
{{claim.status}}
+ {{#equal claim.user ../current }} + +
+ Edit +
+
+ {{/equal}} {{/equal}} {{#equal claim.status "accepted"}}
{{claim.status}}