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, '-');