Add task deletion

This commit is contained in:
Rowan Manning
2013-09-24 20:58:47 +01:00
parent 5a3b4c09c6
commit 23ffae54fa
6 changed files with 56 additions and 1 deletions

1
app.js
View File

@@ -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) {

View File

@@ -10,7 +10,8 @@ function route (app) {
return next(err);
}
res.render('index', {
tasks: tasks
tasks: tasks,
deleted: (typeof req.query.deleted !== 'undefined')
});
});
});

View File

@@ -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) {
});
});
});
}

30
route/task/delete.js Normal file
View File

@@ -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');
});
});
}

View File

@@ -1,3 +1,12 @@
{{#content "title"}}Tasks{{/content}}
{{#deleted}}
<div class="col-md-12 clearfix">
<div class="alert alert-success">
<button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>
<p>Your URL has been deleted.</p>
</div>
</div>
{{/deleted}}
{{> tasks}}

12
view/task/delete.html Normal file
View File

@@ -0,0 +1,12 @@
{{#content "title"}}
Delete Task: {{task.url}} ({{task.standard}})
{{/content}}
<h1>Delete Task: {{task.url}} ({{task.standard}})</h1>
<form action="/{{task.id}}/delete" method="post">
<p>Are you sure you wish to delete this task and associated results?</p>
<input type="submit" value="Yes"/>
<a href="/{{task.id}}">No (cancel)</a>
</form>