From 7fd93d114f14af428b1ecfb11899a35760fccb6f Mon Sep 17 00:00:00 2001 From: Rowan Manning Date: Mon, 16 Sep 2013 11:09:49 +0100 Subject: [PATCH] Make the "new task" form functional --- app.js | 1 + route/new.js | 15 +++++++++++++++ route/task.js | 3 ++- view/new.html | 31 ++++++++++++++++++++++++++++++- view/task.html | 6 ++++++ 5 files changed, 54 insertions(+), 2 deletions(-) diff --git a/app.js b/app.js index eda8c08..d3aba17 100644 --- a/app.js +++ b/app.js @@ -24,6 +24,7 @@ function initApp (config, callback) { maxAge: (process.env.NODE_ENV === 'production' ? 604800 : 0) })); app.express.use(express.compress()); + app.express.use(express.bodyParser()); // View engine app.express.set('views', __dirname + '/view'); diff --git a/route/new.js b/route/new.js index 3b9e365..aa02397 100644 --- a/route/new.js +++ b/route/new.js @@ -4,7 +4,22 @@ module.exports = route; // Route definition function route (app) { + app.express.get('/new', function (req, res) { res.render('new'); }); + + app.express.post('/new', function (req, res) { + var newTask = { + url: req.body.url, + standard: req.body.standard + }; + app.webservice.tasks.create(newTask, function (err, task) { + if (err) { + return res.render('new', {error: err}); + } + res.redirect('/' + task.id + '?added'); + }); + }); + } diff --git a/route/task.js b/route/task.js index f2a7578..8e759a6 100644 --- a/route/task.js +++ b/route/task.js @@ -15,7 +15,8 @@ function route (app) { } res.render('task', { task: task, - results: results + results: results, + added: (typeof req.query.added !== 'undefined') }); }); }); diff --git a/view/new.html b/view/new.html index c70b568..50a1be5 100644 --- a/view/new.html +++ b/view/new.html @@ -7,4 +7,33 @@

Create A Task

-

TODO: Add form here and create handler for it.

+
+ + {{#error}} +
+

{{error}}

+
+ {{/error}} + +
+
+ +
+ +
+
+ +
+ +

TODO: add ignore rules!

+ +
+ +
+ +
diff --git a/view/task.html b/view/task.html index 4fb77ca..dbdbd89 100644 --- a/view/task.html +++ b/view/task.html @@ -7,6 +7,12 @@

Task: {{task.url}} ({{task.standard}})

+{{#added}} +
+

Task added!

+
+{{/added}} +

Here are the results:

{{> results}}