diff --git a/controllers/bonfire.js b/controllers/bonfire.js index 95e1a56c1d..23abef9447 100644 --- a/controllers/bonfire.js +++ b/controllers/bonfire.js @@ -59,8 +59,14 @@ exports.returnNextBonfire = function(req, res) { next(err); } 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, '-'); - return res.redirect('/bonfires/' + nameString); + return res.redirect('../bonfires/' + nameString); }); }; diff --git a/controllers/courseware.js b/controllers/courseware.js index 1071182aa4..38c783106b 100644 --- a/controllers/courseware.js +++ b/controllers/courseware.js @@ -38,10 +38,13 @@ exports.returnNextCourseware = function(req, res) { } courseware = courseware.pop(); 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'); } nameString = courseware.name.toLowerCase().replace(/\s/g, '-'); - return res.redirect('/coursewares/' + nameString); + return res.redirect('../coursewares/' + nameString); }); }; @@ -54,13 +57,17 @@ exports.returnIndividualCourseware = function(req, res, next) { if (err) { next(err); } - if (courseware.length < 1) { + courseware = courseware.pop(); + var dashedNameFull = courseware.name.toLowerCase().replace(/\s/g, '-'); + if (dashedNameFull != dashedName) { + return res.redirect('../coursewares/' + dashedNameFull); + } + if (courseware.length < 1) { req.flash('errors', { msg: "404: We couldn't find a challenge with that name. Please double check the name." }); return res.redirect('/coursewares') } else { - courseware = courseware.pop(); res.render('coursewares/show', { title: courseware.name, dashedName: dashedName, diff --git a/views/bonfire/generator.jade b/views/bonfire/generator.jade index 1f2e018374..0d50bad791 100644 --- a/views/bonfire/generator.jade +++ b/views/bonfire/generator.jade @@ -27,7 +27,7 @@ block content .form-group label.col-sm-2.control-label.wrappable(for='description') description: .col-sm-10 - textarea#description.form-control(name="description", rows=5, placeholder="Separate sentences by exactly one space only. Do not add in line breaks.") + textarea#description.form-control(name="description", rows=5, placeholder="Each \"paragraph\" needs to be separated by a line break(return key).") .form-group label.col-sm-2.control-label.wrappable(for='challengeSeed') challengeSeed: .col-sm-10 diff --git a/views/bonfire/public-generator.jade b/views/bonfire/public-generator.jade index c3761fe674..4425d90b18 100644 --- a/views/bonfire/public-generator.jade +++ b/views/bonfire/public-generator.jade @@ -26,7 +26,7 @@ block content .form-group label.col-sm-2.control-label.wrappable(for='description') description: .col-sm-10 - textarea#description.form-control(name="description", placeholder="Separate sentences by exactly one space only. Do not add in line breaks.") + textarea#description.form-control(name="description", rows=5, placeholder="Each \"paragraph\" needs to be separated by a line break(return key).") .form-group label.col-sm-2.control-label.wrappable(for='challengeSeed') challengeSeed: .col-sm-10