diff --git a/src/controllers/auth.js b/src/controllers/auth.js index 1cde8de72d..ae2e29593e 100644 --- a/src/controllers/auth.js +++ b/src/controllers/auth.js @@ -88,6 +88,7 @@ api.registerUser = function(req, res, next) { timestamps: {created: +new Date(), loggedIn: +new Date()} } }; + user.language = req.language; user = new User(newUser); // temporary for conventions @@ -255,7 +256,9 @@ api.setupPassport = function(router) { }, function(user, cb){ if (user) return cb(null, user); + user = new User({ + language: req.language, auth: { facebook: req.user, timestamps: {created: +new Date(), loggedIn: +new Date()} diff --git a/src/models/user.js b/src/models/user.js index c72989b21b..6a7d468da4 100644 --- a/src/models/user.js +++ b/src/models/user.js @@ -358,13 +358,13 @@ UserSchema.pre('save', function(next) { var newTask = task; // Render task's text and notes in user's language - newTask.text = task.text(); - newTask.notes = task.notes(); + newTask.text = task.text(this.language); + newTask.notes = task.notes(this.language); return newTask; }); }); - + // tasks automatically get id=helpers.uuid() from TaskSchema id.default, but tags are Schema.Types.Mixed - so we need to manually invoke here _.each(this.tags, function(tag){tag.id = shared.uuid();}) } diff --git a/src/routes/auth.js b/src/routes/auth.js index 12b7769a41..edc54bc81d 100644 --- a/src/routes/auth.js +++ b/src/routes/auth.js @@ -1,17 +1,18 @@ var auth = require('../controllers/auth'); var express = require('express'); +var i18n = require('../i18n'); var router = new express.Router(); /* auth.auth*/ auth.setupPassport(router); //FIXME make this consistent with the others -router.post('/api/v2/register', auth.registerUser); -router.post('/api/v2/user/auth/local', auth.loginLocal); -router.post('/api/v2/user/auth/facebook', auth.loginFacebook); -router.post('/api/v2/user/reset-password', auth.resetPassword); -router.post('/api/v2/user/change-password', auth.auth, auth.changePassword); +router.post('/api/v2/register', i18n.getUserLanguage, auth.registerUser); +router.post('/api/v2/user/auth/local', i18n.getUserLanguage, auth.loginLocal); +router.post('/api/v2/user/auth/facebook', i18n.getUserLanguage, auth.loginFacebook); +router.post('/api/v2/user/reset-password', i18n.getUserLanguage, auth.resetPassword); +router.post('/api/v2/user/change-password', i18n.getUserLanguage, auth.auth, auth.changePassword); -router.post('/api/v1/register', auth.registerUser); -router.post('/api/v1/user/auth/local', auth.loginLocal); -router.post('/api/v1/user/auth/facebook', auth.loginFacebook); +router.post('/api/v1/register', i18n.getUserLanguage, auth.registerUser); +router.post('/api/v1/user/auth/local', i18n.getUserLanguage, auth.loginLocal); +router.post('/api/v1/user/auth/facebook', i18n.getUserLanguage, auth.loginFacebook); module.exports = router; \ No newline at end of file