Merge branch 'jameskopacz-patch-261' of https://github.com/jameskopacz/freecodecamp into jameskopacz-jameskopacz-patch-261
Conflicts: controllers/courseware.js
This commit is contained in:
@ -36,7 +36,7 @@ exports.index = function(req, res) {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.returnNextBonfire = function(req, res) {
|
exports.returnNextBonfire = function(req, res, next) {
|
||||||
if (!req.user) {
|
if (!req.user) {
|
||||||
return res.redirect('../bonfires/meet-bonfire');
|
return res.redirect('../bonfires/meet-bonfire');
|
||||||
}
|
}
|
||||||
@ -49,24 +49,24 @@ exports.returnNextBonfire = function(req, res) {
|
|||||||
return elem;
|
return elem;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
req.user.save();
|
req.user.save(function(err) {
|
||||||
|
if (err) return next(err);
|
||||||
var uncompletedBonfires = req.user.uncompletedBonfires;
|
var uncompletedBonfires = req.user.uncompletedBonfires;
|
||||||
|
var displayedBonfires = Bonfire.find({'_id': uncompletedBonfires[0]});
|
||||||
var displayedBonfires = Bonfire.find({'_id': uncompletedBonfires[0]});
|
displayedBonfires.exec(function(err, bonfire) {
|
||||||
displayedBonfires.exec(function(err, bonfire) {
|
if (err) {
|
||||||
if (err) {
|
return next(err);
|
||||||
next(err);
|
}
|
||||||
}
|
bonfire = bonfire.pop();
|
||||||
bonfire = bonfire.pop();
|
if (bonfire === undefined) {
|
||||||
if (bonfire === undefined) {
|
req.flash('errors', {
|
||||||
req.flash('errors', {
|
msg: "It looks like you've completed all the bonfires we have available. Good job!"
|
||||||
msg: "It looks like you've completed all the bonfires we have available. Good job!"
|
});
|
||||||
});
|
return res.redirect('../bonfires/meet-bonfire');
|
||||||
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);
|
});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -77,7 +77,7 @@ exports.returnIndividualBonfire = function(req, res, next) {
|
|||||||
|
|
||||||
Bonfire.find({"name" : new RegExp(bonfireName, 'i')}, function(err, bonfire) {
|
Bonfire.find({"name" : new RegExp(bonfireName, 'i')}, function(err, bonfire) {
|
||||||
if (err) {
|
if (err) {
|
||||||
next(err);
|
return next(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -235,7 +235,7 @@ exports.generateChallenge = function(req, res) {
|
|||||||
res.send(response);
|
res.send(response);
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.completedBonfire = function (req, res) {
|
exports.completedBonfire = function (req, res, next) {
|
||||||
var isCompletedWith = req.body.bonfireInfo.completedWith || undefined;
|
var isCompletedWith = req.body.bonfireInfo.completedWith || undefined;
|
||||||
var isCompletedDate = Math.round(+new Date() / 1000);
|
var isCompletedDate = Math.round(+new Date() / 1000);
|
||||||
var bonfireHash = req.body.bonfireInfo.bonfireHash;
|
var bonfireHash = req.body.bonfireInfo.bonfireHash;
|
||||||
@ -245,7 +245,7 @@ exports.completedBonfire = function (req, res) {
|
|||||||
var paired = User.find({"profile.username": isCompletedWith.toLowerCase()}).limit(1);
|
var paired = User.find({"profile.username": isCompletedWith.toLowerCase()}).limit(1);
|
||||||
paired.exec(function (err, pairedWith) {
|
paired.exec(function (err, pairedWith) {
|
||||||
if (err) {
|
if (err) {
|
||||||
return err;
|
return next(err);
|
||||||
} else {
|
} else {
|
||||||
var index = req.user.uncompletedBonfires.indexOf(bonfireHash);
|
var index = req.user.uncompletedBonfires.indexOf(bonfireHash);
|
||||||
if (index > -1) {
|
if (index > -1) {
|
||||||
@ -276,9 +276,12 @@ exports.completedBonfire = function (req, res) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
req.user.save(function (err, user) {
|
req.user.save(function (err, user) {
|
||||||
|
if (err) {
|
||||||
|
return next(err);
|
||||||
|
}
|
||||||
pairedWith.save(function (err, paired) {
|
pairedWith.save(function (err, paired) {
|
||||||
if (err) {
|
if (err) {
|
||||||
throw err;
|
return next(err);
|
||||||
}
|
}
|
||||||
if (user && paired) {
|
if (user && paired) {
|
||||||
res.send(true);
|
res.send(true);
|
||||||
@ -304,7 +307,7 @@ exports.completedBonfire = function (req, res) {
|
|||||||
|
|
||||||
req.user.save(function (err, user) {
|
req.user.save(function (err, user) {
|
||||||
if (err) {
|
if (err) {
|
||||||
throw err;
|
return next(err);
|
||||||
}
|
}
|
||||||
if (user) {
|
if (user) {
|
||||||
debug('Saving user');
|
debug('Saving user');
|
||||||
@ -312,4 +315,4 @@ exports.completedBonfire = function (req, res) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -27,7 +27,7 @@ exports.returnNextChallenge = function(req, res) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.returnChallenge = function(req, res) {
|
exports.returnChallenge = function(req, res, next) {
|
||||||
var challengeNumber = parseInt(req.params.challengeNumber) || 0;
|
var challengeNumber = parseInt(req.params.challengeNumber) || 0;
|
||||||
if (challengeNumber === 2) {
|
if (challengeNumber === 2) {
|
||||||
req.user.challengesHash[challengeNumber] = Math.round(+new Date() / 1000);
|
req.user.challengesHash[challengeNumber] = Math.round(+new Date() / 1000);
|
||||||
@ -55,7 +55,7 @@ exports.returnChallenge = function(req, res) {
|
|||||||
Challenge.find({}, null, { sort: { challengeNumber: 1 } }, function(err, c) {
|
Challenge.find({}, null, { sort: { challengeNumber: 1 } }, function(err, c) {
|
||||||
if (err) {
|
if (err) {
|
||||||
debug('Challenge err: ', err);
|
debug('Challenge err: ', err);
|
||||||
next(err);
|
return next(err);
|
||||||
}
|
}
|
||||||
res.render('challenges/show', {
|
res.render('challenges/show', {
|
||||||
title: 'Challenge: ' + c[challengeNumber].name,
|
title: 'Challenge: ' + c[challengeNumber].name,
|
||||||
|
@ -52,7 +52,7 @@ exports.returnNextCourseware = function(req, res, next) {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.returnIndividualCourseware = function(req, res, next) {
|
exports.returnIndividualCourseware = function(req, res, next) {
|
||||||
@ -234,4 +234,4 @@ exports.completedCourseware = function (req, res, next) {
|
|||||||
res.send(true)
|
res.send(true)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -175,7 +175,9 @@ module.exports = {
|
|||||||
if (req.user) {
|
if (req.user) {
|
||||||
if (!req.user.profile.picture || req.user.profile.picture === "https://s3.amazonaws.com/freecodecamp/favicons/apple-touch-icon-180x180.png") {
|
if (!req.user.profile.picture || req.user.profile.picture === "https://s3.amazonaws.com/freecodecamp/favicons/apple-touch-icon-180x180.png") {
|
||||||
req.user.profile.picture = "https://s3.amazonaws.com/freecodecamp/camper-image-placeholder.png";
|
req.user.profile.picture = "https://s3.amazonaws.com/freecodecamp/camper-image-placeholder.png";
|
||||||
req.user.save();
|
req.user.save(function(err) {
|
||||||
|
if (err) return next(err);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var date1 = new Date("10/15/2014");
|
var date1 = new Date("10/15/2014");
|
||||||
|
@ -179,7 +179,7 @@ exports.postEmailSignup = function(req, res, next) {
|
|||||||
].join('')
|
].join('')
|
||||||
};
|
};
|
||||||
transporter.sendMail(mailOptions, function(err) {
|
transporter.sendMail(mailOptions, function(err) {
|
||||||
if (err) { return err; }
|
if (err) { return next(err); }
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -210,8 +210,9 @@ exports.getAccountAngular = function(req, res) {
|
|||||||
* Unique username check API Call
|
* Unique username check API Call
|
||||||
*/
|
*/
|
||||||
|
|
||||||
exports.checkUniqueUsername = function(req, res) {
|
exports.checkUniqueUsername = function(req, res, next) {
|
||||||
User.count({'profile.username': req.params.username.toLowerCase()}, function (err, data) {
|
User.count({'profile.username': req.params.username.toLowerCase()}, function (err, data) {
|
||||||
|
if (err) { return next(err); }
|
||||||
if (data == 1) {
|
if (data == 1) {
|
||||||
return res.send(true);
|
return res.send(true);
|
||||||
} else {
|
} else {
|
||||||
@ -223,8 +224,9 @@ exports.checkUniqueUsername = function(req, res) {
|
|||||||
/**
|
/**
|
||||||
* Existing username check
|
* Existing username check
|
||||||
*/
|
*/
|
||||||
exports.checkExistingUsername = function(req, res) {
|
exports.checkExistingUsername = function(req, res, next) {
|
||||||
User.count({'profile.username': req.params.username.toLowerCase()}, function (err, data) {
|
User.count({'profile.username': req.params.username.toLowerCase()}, function (err, data) {
|
||||||
|
if (err) { return next(err); }
|
||||||
if (data === 1) {
|
if (data === 1) {
|
||||||
return res.send(true);
|
return res.send(true);
|
||||||
} else {
|
} else {
|
||||||
@ -237,8 +239,9 @@ exports.checkExistingUsername = function(req, res) {
|
|||||||
* Unique email check API Call
|
* Unique email check API Call
|
||||||
*/
|
*/
|
||||||
|
|
||||||
exports.checkUniqueEmail = function(req, res) {
|
exports.checkUniqueEmail = function(req, res, next) {
|
||||||
User.count({'email': decodeURIComponent(req.params.email).toLowerCase()}, function (err, data) {
|
User.count({'email': decodeURIComponent(req.params.email).toLowerCase()}, function (err, data) {
|
||||||
|
if (err) { return next(err); }
|
||||||
if (data == 1) {
|
if (data == 1) {
|
||||||
return res.send(true);
|
return res.send(true);
|
||||||
} else {
|
} else {
|
||||||
@ -255,10 +258,11 @@ exports.checkUniqueEmail = function(req, res) {
|
|||||||
|
|
||||||
exports.returnUser = function(req, res, next) {
|
exports.returnUser = function(req, res, next) {
|
||||||
User.find({'profile.username': req.params.username.toLowerCase()}, function(err, user) {
|
User.find({'profile.username': req.params.username.toLowerCase()}, function(err, user) {
|
||||||
if (err) { debug('Username err: ', err); next(err); }
|
if (err) { debug('Username err: ', err); return next(err); }
|
||||||
if (user[0]) {
|
if (user[0]) {
|
||||||
var user = user[0];
|
var user = user[0];
|
||||||
Challenge.find({}, null, {sort: {challengeNumber: 1}}, function (err, c) {
|
Challenge.find({}, null, {sort: {challengeNumber: 1}}, function (err, c) {
|
||||||
|
if (err) { return next(err); }
|
||||||
res.render('account/show', {
|
res.render('account/show', {
|
||||||
title: 'Camper ' + user.profile.username + '\'s portfolio',
|
title: 'Camper ' + user.profile.username + '\'s portfolio',
|
||||||
username: user.profile.username,
|
username: user.profile.username,
|
||||||
@ -300,7 +304,7 @@ exports.returnUser = function(req, res, next) {
|
|||||||
* Update profile information.
|
* Update profile information.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
exports.updateProgress = function(req, res) {
|
exports.updateProgress = function(req, res, next) {
|
||||||
User.findById(req.user.id, function(err, user) {
|
User.findById(req.user.id, function(err, user) {
|
||||||
if (err) return next(err);
|
if (err) return next(err);
|
||||||
user.email = req.body.email || '';
|
user.email = req.body.email || '';
|
||||||
@ -471,7 +475,7 @@ exports.getOauthUnlink = function(req, res, next) {
|
|||||||
* Reset Password page.
|
* Reset Password page.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
exports.getReset = function(req, res) {
|
exports.getReset = function(req, res, next) {
|
||||||
if (req.isAuthenticated()) {
|
if (req.isAuthenticated()) {
|
||||||
return res.redirect('/');
|
return res.redirect('/');
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user