minor tweeks to improve field guide flow

This commit is contained in:
Quincy Larson
2015-05-09 11:20:17 -07:00
parent 149c715cf7
commit c2f0072801

View File

@ -9,6 +9,16 @@ exports.returnIndividualFieldGuide = function(req, res, next) {
var fieldGuideName = dashedName.replace(/\-/g, ' '); 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) { FieldGuide.find({'name': new RegExp(fieldGuideName, 'i')}, function(err, fieldGuideFromMongo) {
if (err) { if (err) {
next(err); next(err);
@ -52,26 +62,18 @@ exports.returnNextFieldGuide = function(req, res, next) {
return res.redirect('../field-guide/how-do-i-use-this-guide?'); return res.redirect('../field-guide/how-do-i-use-this-guide?');
} }
var completed = req.user.completedFieldGuides; var displayedFieldGuides = FieldGuide.find({'_id': req.user.uncompletedFieldGuides[0]});
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]});
displayedFieldGuides.exec(function(err, fieldGuide) { displayedFieldGuides.exec(function(err, fieldGuide) {
if (err) { if (err) {
return next(err); return next(err);
} }
fieldGuide = fieldGuide.pop(); fieldGuide = fieldGuide.pop();
if (typeof fieldGuide === 'undefined') { if (typeof fieldGuide === 'undefined') {
req.flash('success', { if (req.user.completedFieldGuides.length > 0) {
msg: "You've read all our current Field Guide entries. You can contribute to our Field Guide <a href='https://github.com/FreeCodeCamp/freecodecamp/blob/master/seed_data/field-guides.json'>here</a>." req.flash('success', {
}); msg: "You've read all our current Field Guide entries. You can contribute to our Field Guide <a href='https://github.com/FreeCodeCamp/freecodecamp/blob/master/seed_data/field-guides.json'>here</a>."
});
}
return res.redirect('../field-guide/how-do-i-use-this-guide?'); return res.redirect('../field-guide/how-do-i-use-this-guide?');
} }
var nameString = fieldGuide.name.toLowerCase().replace(/\s/g, '-'); var nameString = fieldGuide.name.toLowerCase().replace(/\s/g, '-');