Write the back-end for rule ignoring

This commit is contained in:
Rowan Manning
2014-01-09 15:34:32 +00:00
parent 4347acf654
commit ccc7ddfc18
5 changed files with 59 additions and 5 deletions

1
app.js
View File

@@ -79,6 +79,7 @@ function initApp (config, callback) {
require('./route/task/delete')(app);
require('./route/task/run')(app);
require('./route/task/edit')(app);
require('./route/task/ignore')(app);
}
// Error handling

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

@@ -0,0 +1,30 @@
'use strict';
var _ = require('underscore');
var presentTask = require('../../view/presenter/task');
var getStandards = require('../../data/standards');
module.exports = route;
// Route definition
function route (app) {
app.express.post('/:id/ignore', function (req, res, next) {
app.webservice.task(req.params.id).get({}, function (err, task) {
if (err) {
return next();
}
var edit = {
name: task.name,
ignore: task.ignore
};
if (typeof req.body.rule === 'string') {
edit.ignore.push(req.body.rule);
}
app.webservice.task(req.params.id).edit(edit, function () {
res.redirect('/' + req.params.id + '?rule-ignored');
});
});
});
}

View File

@@ -25,6 +25,7 @@ function route (app) {
mainResult: task.lastResult || null,
added: (typeof req.query.added !== 'undefined'),
running: (typeof req.query.running !== 'undefined'),
ruleIgnored: (typeof req.query['rule-ignored'] !== 'undefined'),
hasOneResult: (presentedResults.length < 2),
isTaskPage: true
});

View File

@@ -47,7 +47,10 @@
<li>
<p class="crunch rule-name">{{code}} <span class="badge">{{count}}</span></p>
<p>{{message}}</p>
<button class="btn btn-sm">Ignore rule</button>
<form action="/{{../task.id}}/ignore" method="post">
<input type="hidden" name="rule" value="{{code}}"/>
<input type="submit" class="btn btn-sm" value="Ignore rule"/>
</form>
</li>
{{/mainResult.errors}}
</ul>
@@ -68,7 +71,10 @@
<li>
<p class="crunch rule-name">{{code}} <span class="badge">{{count}}</span></p>
<p>{{message}}</p>
<button class="btn btn-sm">Ignore rule</button>
<form action="/{{../task.id}}/ignore" method="post">
<input type="hidden" name="rule" value="{{code}}"/>
<input type="submit" class="btn btn-sm" value="Ignore rule"/>
</form>
</li>
{{/mainResult.warnings}}
</ul>
@@ -90,7 +96,10 @@
<li>
<p class="crunch rule-name">{{code}} <span class="badge">{{count}}</span></p>
<p>{{message}}</p>
<button class="btn btn-sm">Ignore rule</button>
<form action="/{{../task.id}}/ignore" method="post">
<input type="hidden" name="rule" value="{{code}}"/>
<input type="submit" class="btn btn-sm" value="Ignore rule"/>
</form>
</li>
{{/mainResult.notices}}
</ul>

View File

@@ -26,10 +26,23 @@
</div>
{{/running}}
{{#ruleIgnored}}
<div class="col-md-12 clearfix" data-test="alert">
<div class="alert alert-success">
<button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>
<strong>Rule ignored!</strong>
<p>
You've ignored a rule for this task.
<a href="{{task.hrefRun}}">Click here to generate results with the ignored rule excluded</a>
</p>
</div>
</div>
{{/ruleIgnored}}
{{> task-header}}
{{#if results}}
{{#unless hasOneResult}}
{{> graph}}
{{/unless}}
@@ -48,4 +61,4 @@
<p><a href="{{task.hrefRun}}">Click here to generate results for this URL</a>.</p>
</div>
</div>
{{/if}}
{{/if}}