diff --git a/src/controllers/user.js b/src/controllers/user.js index 8cb4f9d31b..f2892e06a8 100644 --- a/src/controllers/user.js +++ b/src/controllers/user.js @@ -267,13 +267,9 @@ api.getTask = function(req, res, next) { api.deleteTask = function(req, res, next) { deleteTask(res.locals.user, res.locals.task); - return res.locals.user.save(function(err) { - if (err) { - return res.json(500, { - err: err - }); - } - return res.send(204); + res.locals.user.save(function(err) { + if (err) return res.json(500, {err: err}); + res.send(204); }); }; @@ -820,35 +816,44 @@ api.batchUpdate = function(req, res, next) { data: data }); } - /*FIXME send error messages down*/ - + //FIXME send error messages down return cb(); }; switch (action.op) { case "score": api.scoreTask(req, res); + break; case "buy": api.buy(req, res); + break; case "sortTask": api.verifyTaskExists(req, res, function() { api.sortTask(req, res); }); + break; case "addTask": api.createTask(req, res); + break; case "delTask": api.verifyTaskExists(req, res, function() { api.deleteTask(req, res); }); + break; case "set": api.updateUser(req, res); + break; case "revive": api.revive(req, res); + break; case "clear-completed": api.clearCompleted(req, res); + break; case "reroll": api.reroll(req, res); + break; default: cb(); + break; } }; /* Setup the array of functions we're going to call in parallel with async*/ diff --git a/src/models/user.js b/src/models/user.js index 02d8e4296d..1ea915e677 100644 --- a/src/models/user.js +++ b/src/models/user.js @@ -248,11 +248,11 @@ UserSchema.post('init', function(doc) { return doc.stats[k] = 0; } }); - return _.each(['habit', 'daily', 'todo', 'reward'], function(type) { - /* we use _.transform instead of a simple _.where in order to maintain sort-order*/ - return doc["" + type + "s"] = _.transform(doc["" + type + "Ids"], function(result, tid) { - return result.push(doc.tasks[tid]); + _.each(['habit', 'daily', 'todo', 'reward'], function(type) { + // we use _.transform instead of a simple _.where in order to maintain sort-order + doc[type + "s"] = _.transform(doc[type + "Ids"], function(result, tid) { + result.push(doc.tasks[tid]); }); }); }); diff --git a/views/index.jade b/views/index.jade index 20c76129c5..21ba8b6f47 100644 --- a/views/index.jade +++ b/views/index.jade @@ -84,8 +84,8 @@ html #wrap // Errors - .unstyled.alert.alert-error(ng-repeat='error in flash.errors') {{error}} - .unstyled.alert.alert-error(ng-repeat='error in flash.warnings') {{error}} + .unstyled.alert.alert-error(ng-repeat='error in flash.errors track by $index') {{error}} + .unstyled.alert.alert-error(ng-repeat='error in flash.warnings track by $index') {{error}} //if they hide the header, we still need user-menu visible div(ng-if='user.preferences.hideHeader')