From 7c77467dcf8dce2badd597db1b839332b582997f Mon Sep 17 00:00:00 2001 From: Jose Bolos Date: Fri, 20 Sep 2019 14:53:35 +0100 Subject: [PATCH] Fix incorrect values being passed to ObjectID (#244) Due to the routes being defined in the wrong order, certain urls (e.g. `/tasks/:taskid:/edit`) are being captured by the results route instead (e.g. `/tasks/:taskid:/:resultid:`). This is causing the wrong method to being called with parts of the path like `edit`, `run`, etc. being passed as an argument to ObjectID(). As these are not valid MongoDB IDs, the method displays instead an error message: > Argument passed in must be a single String of 12 bytes or a string of 24 hex characters Also change the path to the favicon image to be not relative, as this is causing a `favicon.png` string to be sent as an argument to ObjectID() when visiting certain pages due to the previous issue. --- app.js | 3 ++- view/layout/default.html | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app.js b/app.js index eefc5b7..d2d3b70 100644 --- a/app.js +++ b/app.js @@ -93,7 +93,6 @@ function initApp(config, callback) { // Load routes require('./route/index')(app); require('./route/task/index')(app); - require('./route/result/index')(app); require('./route/result/download')(app); if (!config.readonly) { require('./route/new')(app); @@ -103,6 +102,8 @@ function initApp(config, callback) { require('./route/task/ignore')(app); require('./route/task/unignore')(app); } + // Needs to be loaded after `/route/task/edit` + require('./route/result/index')(app); // Error handling app.express.get('*', (request, response) => { diff --git a/view/layout/default.html b/view/layout/default.html index 491b233..a153343 100644 --- a/view/layout/default.html +++ b/view/layout/default.html @@ -27,7 +27,7 @@ along with Pa11y Dashboard. If not, see . {{#if noindex}}{{/if}} - +