diff --git a/controllers/fieldGuide.js b/controllers/fieldGuide.js index 51f01e8529..a7d00fc97b 100644 --- a/controllers/fieldGuide.js +++ b/controllers/fieldGuide.js @@ -9,6 +9,16 @@ exports.returnIndividualFieldGuide = function(req, res, next) { var fieldGuideName = dashedName.replace(/\-/g, ' '); + var completed = req.user.completedFieldGuides; + + var uncompletedFieldGuides = resources.allFieldGuideIds().filter(function (elem) { + if (completed.indexOf(elem) === -1) { + return elem; + } + }); + req.user.uncompletedFieldGuides = uncompletedFieldGuides; + req.user.save(); + FieldGuide.find({'name': new RegExp(fieldGuideName, 'i')}, function(err, fieldGuideFromMongo) { if (err) { next(err); @@ -52,26 +62,18 @@ exports.returnNextFieldGuide = function(req, res, next) { return res.redirect('../field-guide/how-do-i-use-this-guide?'); } - var completed = req.user.completedFieldGuides; - - var uncompletedFieldGuides = resources.allFieldGuideIds().filter(function (elem) { - if (completed.indexOf(elem) === -1) { - return elem; - } - }); - req.user.uncompletedFieldGuides = uncompletedFieldGuides; - req.user.save(); - - var displayedFieldGuides = FieldGuide.find({'_id': uncompletedFieldGuides[0]}); + var displayedFieldGuides = FieldGuide.find({'_id': req.user.uncompletedFieldGuides[0]}); displayedFieldGuides.exec(function(err, fieldGuide) { if (err) { return next(err); } fieldGuide = fieldGuide.pop(); if (typeof fieldGuide === 'undefined') { - req.flash('success', { - msg: "You've read all our current Field Guide entries. You can contribute to our Field Guide here." - }); + if (req.user.completedFieldGuides.length > 0) { + req.flash('success', { + msg: "You've read all our current Field Guide entries. You can contribute to our Field Guide here." + }); + } return res.redirect('../field-guide/how-do-i-use-this-guide?'); } var nameString = fieldGuide.name.toLowerCase().replace(/\s/g, '-');