diff -r 90f6937c417e -r 37c9a17c3284 server/src/main/webapp/js/models.js --- a/server/src/main/webapp/js/models.js Tue Nov 13 11:46:39 2012 +0100 +++ b/server/src/main/webapp/js/models.js Tue Nov 06 13:23:19 2012 +0100 @@ -21,7 +21,7 @@ constructor: function(options) { if (typeof options !== "undefined") { - options._id = options.id || Models.getUID(this); + options._id = options._id || options.id || Models.getUID(this); options.title = options.title || "(untitled " + this.type + ")"; options.description = options.description || ""; options.uri = options.uri || ""; @@ -65,10 +65,14 @@ relations: [{ type: Backbone.HasOne, key: "created_by", - relatedModel: User + relatedModel: User, + reverseRelation : { + includeInJSON: '_id' + } }], prepare: function(options) { project = options.project; + delete options["project"]; this.addReference(options, "created_by", project.get("users"), options.created_by, project.current_user); options.description = options.description || ""; return options; @@ -83,7 +87,10 @@ { type: Backbone.HasOne, key: "created_by", - relatedModel: User + relatedModel: User, + reverseRelation : { + includeInJSON: '_id' + } }, { type: Backbone.HasOne, @@ -98,6 +105,7 @@ ], prepare: function(options) { project = options.project; + delete options.project; this.addReference(options, "created_by", options.created_by, project.get("users"), project.current_user); this.addReference(options, "from", options.from, project.get("nodes")); this.addReference(options, "to", options.to, project.get("nodes")); @@ -108,6 +116,7 @@ // PROJECT var Project = Models.Project = root.Rkns.Models.Project = RenkanModel.extend({ type: "project", + current_user : null, relations: [ { type: Backbone.HasMany, @@ -140,6 +149,9 @@ addNode: function(_props) { _props.project = this; this.get("nodes").push(_props); + }, + addUser: function(_props) { + this.get("users").push(_props); } });