update the complete all the challenges flow and copy

This commit is contained in:
Michael Q Larson
2015-01-23 15:13:36 -08:00
parent 1f6cb10a32
commit d690f976f3
7 changed files with 50 additions and 11 deletions

10
app.js
View File

@ -228,16 +228,22 @@ app.post('/email-signup', userController.postEmailSignup);
app.post('/email-signin', userController.postLogin);
app.get('/nonprofits', contactController.getNonprofitsForm);
app.post('/nonprofits', contactController.postNonprofitsForm);
app.get(
'/done-with-first-100-hours',
passportConf.isAuthenticated,
contactController.getDoneWithFirst100Hours
);
app.post(
'/done-with-first-100-hours',
passportConf.isAuthenticated,
contactController.postDoneWithFirst100Hours
);
// # Protected routes, user must be logged in.
app.get(
'/nonprofit-project-instructions',
passportConf.isAuthenticated,
resourcesController.nonprofitProjectInstructions
);
app.post(
'/update-progress',
passportConf.isAuthenticated,

View File

@ -47,10 +47,15 @@ module.exports = {
},
getDoneWithFirst100Hours: function(req, res) {
res.render('contact/done-with-first-100-hours', {
title:
'Congratulations on finishing the first 100 hours of Free Code Camp!'
});
console.log(req.user.points)
if (req.user.points >= 53) {
res.render('contact/done-with-first-100-hours', {
title: 'Congratulations on finishing the first 100 hours of Free Code Camp!'
});
} else {
req.flash('errors', {msg: 'Hm... have you finished all the challenges?'});
res.redirect('/');
}
},
postDoneWithFirst100Hours: function(req, res) {
@ -68,7 +73,7 @@ module.exports = {
return res.redirect('/done-with-first-100-hours');
}
req.flash('success', {msg: 'Email has been sent successfully!'});
res.redirect('/');
res.redirect('/nonprofit-project-instructions');
});
}
};

View File

@ -52,6 +52,12 @@ module.exports = {
});
},
nonprofitProjectInstructions: function nonprofitProjectInstructions(req, res) {
res.render('resources/nonprofit-project-instructions', {
title: 'Nonprofit Project Instructions'
});
},
gmailShortcuts: function gmailShortcuts(req, res) {
res.render('resources/gmail-shortcuts', {
title: 'These Gmail Shortcuts will save you Hours'

View File

@ -239,7 +239,7 @@ exports.returnUser = function(req, res, next) {
});
} else {
req.flash('errors', {
msg: "We couldn't find a Code Camper with that username."
msg: "404: We couldn't find a page with that url. Please double check the link."
});
return res.redirect('/');
}

View File

@ -5,7 +5,8 @@ block content
.animated.fadeIn.delay-2
h2 You've completed the first 100 hours of Free Code Camp!
.animated.fadeIn.delay-4
h3 Now you're ready to continue your learning by building solutions for nonprofits! If you've completed all the Free Code Camp challenges and the Easy and Medium CoderByte challenges, enter your email below. We'll send you an email with the next steps.
h3 Now you're ready to continue your learning by building solutions for nonprofits!
h3 First, please enter your email below.
br
form.form-horizontal(role='form', action="/done-with-first-100-hours/", method='POST', novalidate='novalidate', name='doneWithFirst100HoursForm')
input(type='hidden', name='_csrf', value=_csrf)

View File

@ -5,4 +5,4 @@ h3
a(href="/challenges/#{challenge.challengeNumber}", class="#{ (cc && cc[challenge.challengeNumber] > 0) ? 'strikethrough' : '' }") #{challenge.name}
|   (#{challenge.time} mins)
a.btn.btn-lg.btn-primary.btn-block(href="/done-with-first-100-hours", class="#{ ((cc && cc[53] === 0) || (!cc)) ? 'disabled' : '' }") I'm done with all the challenges!
a.btn.btn-lg.btn-primary.btn-block(href="/done-with-first-100-hours", class="#{ ((points && points < 54) || (!points)) ? 'disabled' : '' }") I'm done with all the challenges!

View File

@ -0,0 +1,21 @@
extends ../layout
block content
.jumbotron
.col-sm-offset-1
h1 Nonprofit projects
h3 It's time to apply what you've learned here at Free Code Camp.
h3 By the end of this process, you'll have a portfolio of live apps being used by real people.
h3 Please do the following immediately:
h4
ol
li Complete this form: &nbsp;
a(href="http://goo.gl/forms/f61dLt67t8" target="_blank") http://goo.gl/forms/f61dLt67t8
| .
li Read this document, which will answer many questions you may have about our nonprofit projects: &nbsp;
a(href="http://forum.freecodecamp.com/t/an-introduction-to-our-nonprofit-projects/856" target="_blank") http://forum.freecodecamp.com/t/an-introduction-to-our-nonprofit-projects/856
| .
li We'll send you an invite to our Nonprofit Projects Trello board. Once we do, go there and add yourself to each of the nonprofit projects that interests you.
li Finish any unfinished easy and medium coderbyte challenges. These challenges serve as the Free Code Camp "exit test". You must be complete these before you can start working on nonprofit projects.
h4 Please email us if you have further questions: &nbsp;
a(href="mailto:team@freecodecamp.com") team@freecodecamp.com
| .