mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-04-14 19:56:23 +00:00
use node.extend module to deep-copy schema.userSchema when creating
new users - was a bug that duplicated initial tasks for each new user
This commit is contained in:
parent
0a72028c27
commit
364641740a
3 changed files with 8 additions and 5 deletions
|
|
@ -26,7 +26,7 @@ get('/:uidParam?', function(page, model, _arg) {
|
|||
return model.subscribe("users." + userId, function(err, user) {
|
||||
var guid, newUser, task, _i, _len, _ref1;
|
||||
if (!user.get('id')) {
|
||||
newUser = schema.userSchema;
|
||||
newUser = require('node.extend')(true, {}, schema.userSchema);
|
||||
_ref1 = content.defaultTasks;
|
||||
for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
|
||||
task = _ref1[_i];
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "habitrpg",
|
||||
"description": "A habit tracker app which treats your goals like a Role Playing Game.",
|
||||
"version": "0.0.0-95",
|
||||
"version": "0.0.0-101",
|
||||
"main": "./server.js",
|
||||
"dependencies": {
|
||||
"derby": "git://github.com/codeparty/derby#master",
|
||||
|
|
@ -10,7 +10,8 @@
|
|||
"racer-db-mongo": "0.3.11",
|
||||
"connect-mongo": ">=0.1.9",
|
||||
"derby-ui-boot": "*",
|
||||
"guid": "*"
|
||||
"guid": "*",
|
||||
"node.extend": "*"
|
||||
},
|
||||
"private": true,
|
||||
"devDependencies": {
|
||||
|
|
|
|||
|
|
@ -9,12 +9,13 @@ scoring = require('./scoring')
|
|||
schema = require('./schema')
|
||||
helpers = require('./helpers')
|
||||
helpers.viewHelpers(view)
|
||||
# $ = require('jQuery')
|
||||
# _ = require('underscore')
|
||||
|
||||
# ========== ROUTES ==========
|
||||
|
||||
get '/:uidParam?', (page, model, {uidParam}) ->
|
||||
|
||||
# Current browser session
|
||||
# The session middleware will assign a _userId automatically
|
||||
userId = model.get '_userId'
|
||||
|
||||
|
|
@ -22,7 +23,8 @@ get '/:uidParam?', (page, model, {uidParam}) ->
|
|||
|
||||
# Create new user if none exists
|
||||
unless user.get('id')
|
||||
newUser = schema.userSchema
|
||||
# deep clone, else further new users get duplicate objects
|
||||
newUser = require('node.extend')(true, {}, schema.userSchema)
|
||||
for task in content.defaultTasks
|
||||
guid = task.id = require('derby/node_modules/racer').uuid()
|
||||
newUser.tasks[guid] = task
|
||||
|
|
|
|||
Loading…
Reference in a new issue