Changes to courseware and bonfire controller to handle direction to next challenge if the user has completed all offerings, also show a flash message letting them know why they are being redirected

This commit is contained in:
Nathan Leniz
2015-02-04 23:27:57 -05:00
parent adfe5588d6
commit 5898de7ab9
2 changed files with 17 additions and 4 deletions

View File

@ -59,8 +59,14 @@ exports.returnNextBonfire = function(req, res) {
next(err); next(err);
} }
bonfire = bonfire.pop(); bonfire = bonfire.pop();
if (bonfire === undefined) {
req.flash('errors', {
msg: "It looks like you've completed all the bonfires we have available. Good job!"
})
return res.redirect('../bonfires/meet-bonfire');
}
nameString = bonfire.name.toLowerCase().replace(/\s/g, '-'); nameString = bonfire.name.toLowerCase().replace(/\s/g, '-');
return res.redirect('/bonfires/' + nameString); return res.redirect('../bonfires/' + nameString);
}); });
}; };

View File

@ -38,10 +38,13 @@ exports.returnNextCourseware = function(req, res) {
} }
courseware = courseware.pop(); courseware = courseware.pop();
if (courseware === undefined) { if (courseware === undefined) {
req.flash('errors', {
msg: "It looks like you've completed all the courses we have available. Good job!"
})
return res.redirect('../coursewares/intro'); return res.redirect('../coursewares/intro');
} }
nameString = courseware.name.toLowerCase().replace(/\s/g, '-'); nameString = courseware.name.toLowerCase().replace(/\s/g, '-');
return res.redirect('/coursewares/' + nameString); return res.redirect('../coursewares/' + nameString);
}); });
}; };
@ -53,6 +56,11 @@ exports.returnIndividualCourseware = function(req, res, next) {
Courseware.find({"name" : new RegExp(coursewareName, 'i')}, function(err, courseware) { Courseware.find({"name" : new RegExp(coursewareName, 'i')}, function(err, courseware) {
if (err) { if (err) {
next(err); next(err);
}
courseware = courseware.pop();
var dashedNameFull = courseware.name.toLowerCase().replace(/\s/g, '-');
if (dashedNameFull != dashedName) {
return res.redirect('../coursewares/' + dashedNameFull);
} }
if (courseware.length < 1) { if (courseware.length < 1) {
req.flash('errors', { req.flash('errors', {
@ -60,7 +68,6 @@ exports.returnIndividualCourseware = function(req, res, next) {
}); });
return res.redirect('/coursewares') return res.redirect('/coursewares')
} else { } else {
courseware = courseware.pop();
res.render('coursewares/show', { res.render('coursewares/show', {
title: courseware.name, title: courseware.name,
dashedName: dashedName, dashedName: dashedName,