Building out new challenge framework to allow controller to determine view type for challenge

This commit is contained in:
Nathan Leniz
2015-02-13 20:55:49 -05:00
parent 0eededde36
commit b5c0ad9942
14 changed files with 515 additions and 58 deletions

View File

@@ -72,23 +72,84 @@ exports.returnIndividualCourseware = function(req, res, next) {
return res.redirect('../coursewares/' + dashedNameFull);
}
// Render the view for the user
res.render('coursewares/show', {
title: courseware.name,
dashedName: dashedName,
name: courseware.name,
brief: courseware.description[0],
details: courseware.description.slice(1),
tests: courseware.tests,
challengeSeed: courseware.challengeSeed,
cc: !!req.user,
points: req.user ? req.user.points : undefined,
verb: resources.randomVerb(),
phrase: resources.randomPhrase(),
compliment: resources.randomCompliment(),
coursewareHash: courseware._id,
environment: resources.whichEnvironment()
});
var challengeType = {
0 : function() {
res.render('coursewares/show', {
title: courseware.name,
dashedName: dashedName,
name: courseware.name,
brief: courseware.description[0],
details: courseware.description.slice(1),
tests: courseware.tests,
challengeSeed: courseware.challengeSeed,
cc: !!req.user,
points: req.user ? req.user.points : undefined,
verb: resources.randomVerb(),
phrase: resources.randomPhrase(),
compliment: resources.randomCompliment(),
coursewareHash: courseware._id,
environment: resources.whichEnvironment()
});
},
1 : function() {
res.render('coursewares/showJS', {
title: courseware.name,
dashedName: dashedName,
name: courseware.name,
brief: courseware.description[0],
details: courseware.description.slice(1),
tests: courseware.tests,
challengeSeed: courseware.challengeSeed,
cc: !!req.user,
points: req.user ? req.user.points : undefined,
verb: resources.randomVerb(),
phrase: resources.randomPhrase(),
compliment: resources.randomCompliment(),
coursewareHash: courseware._id,
environment: resources.whichEnvironment(),
});
},
2: function() {
res.render('coursewares/showVideo', {
title: courseware.name,
dashedName: dashedName,
name: courseware.name,
details: courseware.description,
tests: courseware.tests,
video: courseware.challengeSeed[0],
cc: !!req.user,
points: req.user ? req.user.points : undefined,
verb: resources.randomVerb(),
phrase: resources.randomPhrase(),
compliment: resources.randomCompliment(),
coursewareHash: courseware._id,
environment: resources.whichEnvironment()
});
}
};
return challengeType[courseware.challengeType]();
//// Render the view for the user
//res.render('coursewares/show', {
// title: courseware.name,
// dashedName: dashedName,
// name: courseware.name,
// brief: courseware.description[0],
// details: courseware.description.slice(1),
// tests: courseware.tests,
// challengeSeed: courseware.challengeSeed,
// cc: !!req.user,
// points: req.user ? req.user.points : undefined,
// verb: resources.randomVerb(),
// phrase: resources.randomPhrase(),
// compliment: resources.randomCompliment(),
// coursewareHash: courseware._id,
// environment: resources.whichEnvironment()
//});
});
};