From 5898de7ab9849296f5ba8d31472b81f7c4a33a46 Mon Sep 17 00:00:00 2001 From: Nathan Leniz Date: Wed, 4 Feb 2015 23:27:57 -0500 Subject: [PATCH 1/2] 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 --- controllers/bonfire.js | 8 +++++++- controllers/courseware.js | 13 ++++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/controllers/bonfire.js b/controllers/bonfire.js index 95e1a56c1d7..23abef94479 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 1071182aa43..38c783106b3 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, From c22a38972b7c4089aab96fb912a81aa4a341cbe6 Mon Sep 17 00:00:00 2001 From: Nathan Leniz Date: Wed, 4 Feb 2015 23:59:05 -0500 Subject: [PATCH 2/2] Cleaning up generator pages --- views/bonfire/generator.jade | 2 +- views/bonfire/public-generator.jade | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/views/bonfire/generator.jade b/views/bonfire/generator.jade index 1f2e0183744..0d50bad7913 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 c3761fe674c..4425d90b182 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