Add presenters for tasks and results

This commit is contained in:
Rowan Manning
2013-09-25 11:55:39 +01:00
parent ea79ca2825
commit 0cf06961a1
5 changed files with 45 additions and 5 deletions

View File

@@ -1,5 +1,7 @@
'use strict';
var presentTask = require('../view/presenter/task');
module.exports = route;
// Route definition
@@ -10,7 +12,7 @@ function route (app) {
return next(err);
}
res.render('index', {
tasks: tasks,
tasks: tasks.map(presentTask),
deleted: (typeof req.query.deleted !== 'undefined')
});
});

View File

@@ -1,6 +1,7 @@
'use strict';
var _ = require('underscore');
var presentTask = require('../../view/presenter/task');
module.exports = route;
@@ -13,7 +14,7 @@ function route (app) {
return next();
}
res.render('task/delete', {
task: task
task: presentTask(task)
});
});
});

View File

@@ -1,6 +1,8 @@
'use strict';
var _ = require('underscore');
var presentTask = require('../../view/presenter/task');
var presentResult = require('../../view/presenter/result');
module.exports = route;
@@ -24,9 +26,9 @@ function route (app) {
});
});
res.render('task', {
task: task,
results: results,
lastResult: results[0] || null,
task: presentTask(task),
results: results.map(presentResult),
lastResult: presentResult(results[0]) || null,
added: (typeof req.query.added !== 'undefined')
});
});

16
view/presenter/result.js Normal file
View File

@@ -0,0 +1,16 @@
'use strict';
module.exports = presentResult;
function presentResult (result) {
// Add additional info
result.href = '/' + result.task + '/' + result.id;
result.hrefCsv = '/' + result.task + '/' + result.id + '.csv';
result.hrefJson = '/' + result.task + '/' + result.id + '.json';
// Parse date
result.date = new Date(result.date);
return result;
}

19
view/presenter/task.js Normal file
View File

@@ -0,0 +1,19 @@
'use strict';
var presentResult = require('./result');
module.exports = presentTask;
function presentTask (task) {
// Add additional info
task.href = '/' + task.id;
task.hrefJson = '/' + task.id + '.json';
// Present the last result if present
if (task.last_result) {
task.last_result = presentResult(task.last_result);
}
return task;
}