From a38f2354f503fb4570d132220a013f6e091cb7d0 Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Wed, 14 May 2014 20:01:31 +0200 Subject: [PATCH] fix(i18n): signup, clone default tasks --- src/models/user.js | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/models/user.js b/src/models/user.js index fa63eb455f..372a30a801 100644 --- a/src/models/user.js +++ b/src/models/user.js @@ -355,22 +355,21 @@ UserSchema.pre('save', function(next) { var self = this; _.each(['habits', 'dailys', 'todos', 'rewards', 'tags'], function(taskType){ self[taskType] = _.map(shared.content.userDefaults[taskType], function(task){ - var newTask = task; + var newTask = _.cloneDeep(task); // Render task's text and notes in user's language if(taskType === 'tags'){ // tasks automatically get id=helpers.uuid() from TaskSchema id.default, but tags are Schema.Types.Mixed - so we need to manually invoke here newTask.id = shared.uuid(); - newTask.name = task.name(self.preferences.language); + newTask.name = newTask.name(self.preferences.language); }else{ - newTask.text = task.text(self.preferences.language); - newTask.notes = task.notes(self.preferences.language); + newTask.text = newTask.text(self.preferences.language); + newTask.notes = newTask.notes(self.preferences.language); if(newTask.checklist){ newTask.checklist = _.map(newTask.checklist, function(checklistItem){ - var newChecklistItem = checklistItem; - newChecklistItem.text = checklistItem.text(self.preferences.language); - return newChecklistItem; + checklistItem.text = checklistItem.text(self.preferences.language); + return checklistItem; }); } }