diff --git a/app.js b/app.js index 5fe9896..a7b776e 100644 --- a/app.js +++ b/app.js @@ -54,6 +54,7 @@ function initApp (config, callback) { require('./route/index')(app); require('./route/new')(app); require('./route/task')(app); + require('./route/task/delete')(app); // Error handling app.express.get('*', function (req, res) { diff --git a/route/index.js b/route/index.js index fa859f6..d33fee6 100644 --- a/route/index.js +++ b/route/index.js @@ -10,7 +10,8 @@ function route (app) { return next(err); } res.render('index', { - tasks: tasks + tasks: tasks, + deleted: (typeof req.query.deleted !== 'undefined') }); }); }); diff --git a/route/task.js b/route/task.js index 7c4a4d8..6ea113b 100644 --- a/route/task.js +++ b/route/task.js @@ -6,6 +6,7 @@ module.exports = route; // Route definition function route (app) { + app.express.get('/:id', function (req, res, next) { app.webservice.task(req.params.id).get({}, function (err, task) { if (err) { @@ -46,4 +47,5 @@ function route (app) { }); }); }); + } diff --git a/route/task/delete.js b/route/task/delete.js new file mode 100644 index 0000000..c183213 --- /dev/null +++ b/route/task/delete.js @@ -0,0 +1,30 @@ +'use strict'; + +var _ = require('underscore'); + +module.exports = route; + +// Route definition +function route (app) { + + app.express.get('/:id/delete', function (req, res, next) { + app.webservice.task(req.params.id).get({}, function (err, task) { + if (err) { + return next(); + } + res.render('task/delete', { + task: task + }); + }); + }); + + app.express.post('/:id/delete', function (req, res, next) { + app.webservice.task(req.params.id).remove(function (err) { + if (err) { + return next(); + } + res.redirect('/?deleted'); + }); + }); + +} diff --git a/view/index.html b/view/index.html index 47f6dd1..82ce348 100644 --- a/view/index.html +++ b/view/index.html @@ -1,3 +1,12 @@ {{#content "title"}}Tasks{{/content}} +{{#deleted}} +
Your URL has been deleted.
+