server/src/main/webapp/js/models.js
changeset 45 37c9a17c3284
parent 22 948283342245
--- 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);
 		}
 	});