Merge pull request #273 from aldraco/coursewaresErr
Coursewares error handling (issue #261)
This commit is contained in:
@ -14,7 +14,7 @@ exports.coursewareNames = function(req, res) {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.returnNextCourseware = function(req, res) {
|
exports.returnNextCourseware = function(req, res, next) {
|
||||||
if (!req.user) {
|
if (!req.user) {
|
||||||
return res.redirect('../coursewares/start-our-challenges');
|
return res.redirect('../coursewares/start-our-challenges');
|
||||||
}
|
}
|
||||||
@ -27,25 +27,32 @@ exports.returnNextCourseware = function(req, res) {
|
|||||||
return elem;
|
return elem;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
req.user.save();
|
|
||||||
|
|
||||||
var uncompletedCoursewares = req.user.uncompletedCoursewares;
|
req.user.save(function(err) {
|
||||||
|
|
||||||
var displayedCoursewares = Courseware.find({'_id': uncompletedCoursewares[0]});
|
|
||||||
displayedCoursewares.exec(function(err, courseware) {
|
|
||||||
if (err) {
|
if (err) {
|
||||||
next(err);
|
return next(err);
|
||||||
}
|
}
|
||||||
courseware = courseware.pop();
|
|
||||||
if (courseware === undefined) {
|
var uncompletedCoursewares = req.user.uncompletedCoursewares;
|
||||||
req.flash('errors', {
|
|
||||||
msg: "It looks like you've completed all the courses we have available. Good job!"
|
var displayedCoursewares = Courseware.find({'_id': uncompletedCoursewares[0]});
|
||||||
})
|
displayedCoursewares.exec(function(err, courseware) {
|
||||||
return res.redirect('../coursewares/start-our-challenges');
|
if (err) {
|
||||||
}
|
return next(err);
|
||||||
nameString = courseware.name.toLowerCase().replace(/\s/g, '-');
|
}
|
||||||
return res.redirect('../coursewares/' + nameString);
|
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/start-our-challenges');
|
||||||
|
}
|
||||||
|
nameString = courseware.name.toLowerCase().replace(/\s/g, '-');
|
||||||
|
return res.redirect('../coursewares/' + nameString);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.returnIndividualCourseware = function(req, res, next) {
|
exports.returnIndividualCourseware = function(req, res, next) {
|
||||||
@ -55,7 +62,7 @@ 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);
|
return next(err);
|
||||||
}
|
}
|
||||||
// Handle not found
|
// Handle not found
|
||||||
if (courseware.length < 1) {
|
if (courseware.length < 1) {
|
||||||
@ -203,7 +210,7 @@ exports.generateChallenge = function(req, res) {
|
|||||||
res.send(response);
|
res.send(response);
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.completedCourseware = function (req, res) {
|
exports.completedCourseware = function (req, res, next) {
|
||||||
|
|
||||||
var isCompletedDate = Math.round(+new Date() / 1000);
|
var isCompletedDate = Math.round(+new Date() / 1000);
|
||||||
var coursewareHash = req.body.coursewareInfo.coursewareHash;
|
var coursewareHash = req.body.coursewareInfo.coursewareHash;
|
||||||
@ -221,7 +228,7 @@ exports.completedCourseware = 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) {
|
||||||
res.send(true)
|
res.send(true)
|
||||||
|
Reference in New Issue
Block a user