diff --git a/server/boot/fieldGuide.js b/server/boot/fieldGuide.js index f30f7b73fc..59b9796b06 100644 --- a/server/boot/fieldGuide.js +++ b/server/boot/fieldGuide.js @@ -1,6 +1,6 @@ var R = require('ramda'), // Rx = require('rx'), - // debug = require('debug')('freecc:fieldguides'), + debug = require('debug')('freecc:fieldguides'), utils = require('../utils'); module.exports = function(app) { @@ -15,7 +15,7 @@ module.exports = function(app) { app.use(router); function returnIndividualFieldGuide(req, res, next) { - var dashedName = req.params.fieldGuideName; + var dashedNameFromQuery = req.params.fieldGuideName; if (req.user) { var completed = req.user.completedFieldGuides; @@ -33,8 +33,13 @@ module.exports = function(app) { } // NOTE(berks): loopback might have issue with regex here. - FieldGuide.find( - { dashedName: new RegExp(dashedName, 'i') }, + var pattern = new RegExp(dashedNameFromQuery, 'i'); + debug('looking for %s', pattern); + FieldGuide.find({ where: + { dashedName: + { like: pattern} + } + }, function(err, fieldGuideFromMongo) { if (err) { return next(err); @@ -46,13 +51,13 @@ module.exports = function(app) { 'Please double check the name.' }); - return res.redirect('/field-guide'); + return res.redirect('/'); } var fieldGuide = R.head(fieldGuideFromMongo); fieldGuide.name.toLowerCase().replace(/\s/g, '-').replace(/\?/g, ''); - if (fieldGuide.dashedName !== dashedName) { + if (fieldGuide.dashedName !== dashedNameFromQuery) { return res.redirect('../field-guide/' + fieldGuide.dashedName); } res.render('field-guide/show', {