All coursewares list now displays properly, coursewares properly direct to the follow on, courseware controller now properly finds the next courseware

This commit is contained in:
Nathan Leniz
2015-02-22 18:23:50 +09:00
parent b5a449cb1c
commit 3e65298e35
9 changed files with 81 additions and 43 deletions

View File

@@ -2,16 +2,23 @@ var _ = require('lodash'),
debug = require('debug')('freecc:cntr:courseware'),
Courseware = require('./../models/Courseware'),
User = require('./../models/User'),
resources = require('./resources');
resources = require('./resources'),
R = require('ramda');
/**
* Courseware controller
*/
exports.coursewareNames = function(req, res) {
res.render('coursewares/showList', {
coursewareList: resources.allCoursewareNames()
exports.showAllCoursewares = function(req, res) {
var completedCoursewares = req.user.completedCoursewares.map(function(elem) {
return elem._id;
});
var noDuplicatedCoursewares = R.uniq(completedCoursewares);
var data = {};
data.coursewareList = resources.allCoursewareNames();
data.completedList = noDuplicatedCoursewares;
res.send(data);
};
exports.returnNextCourseware = function(req, res) {
@@ -29,13 +36,15 @@ exports.returnNextCourseware = function(req, res) {
});
req.user.save();
var uncompletedCoursewares = req.user.uncompletedCoursewares;
var uncompletedCoursewares = req.user.uncompletedCoursewares.shift();
var displayedCoursewares = Courseware.find({'_id': uncompletedCoursewares[0]});
var displayedCoursewares = Courseware.find({'_id': uncompletedCoursewares});
displayedCoursewares.exec(function(err, courseware) {
if (err) {
next(err);
}
debug('This is the courseware object returned from mongo', courseware);
courseware = courseware.pop();
if (courseware === undefined) {
req.flash('errors', {