minor fixes in utils, purchase common and task
diff --git a/buying/doctype/purchase_common/purchase_common.js b/buying/doctype/purchase_common/purchase_common.js
index 05b7bcb..136ddef 100644
--- a/buying/doctype/purchase_common/purchase_common.js
+++ b/buying/doctype/purchase_common/purchase_common.js
@@ -68,15 +68,15 @@
 					callback: function(r) {
 						if(!r.exc) {
 							me.price_list_currency();
-							if (callback_fn) callback_fn(me.frm.doc, me.frm.doc.doctype, 
-									me.frm.doc.name);
+							if (typeof callback_fn === "function") 
+								callback_fn(me.frm.doc, me.frm.doc.doctype, me.frm.doc.name);
 						}
 					}
 				});
 			} else {
 				me.price_list_currency();
-				if (callback_fn) callback_fn(me.frm.doc, me.frm.doc.doctype, 
-						me.frm.doc.name);
+				if (typeof callback_fn === "function") 
+					callback_fn(me.frm.doc, me.frm.doc.doctype, me.frm.doc.name);
 			}
 		} 
 	},
diff --git a/projects/doctype/task/task.js b/projects/doctype/task/task.js
index 472ca6b..ea3dd6d 100644
--- a/projects/doctype/task/task.js
+++ b/projects/doctype/task/task.js
@@ -29,7 +29,8 @@
 
 	project: function() {
 		if(this.frm.doc.project) {
-			get_server_fields('get_project_details', '','', doc, cdt, cdn, 1);
+			get_server_fields('get_project_details', '','', this.frm.doc, this.frm.doc.doctype, 
+				this.frm.doc.name, 1);
 		}
 	},
 
diff --git a/public/js/utils.js b/public/js/utils.js
index 0f78705..7340cdc 100644
--- a/public/js/utils.js
+++ b/public/js/utils.js
@@ -26,31 +26,7 @@
 }
 
 // TODO
-erpnext.utils.Controller = Class.extend({
-	init: function(opts) {
-		$.extend(this, opts);
-		this.setup && this.setup();
-	},
-	
-	onload_post_render: function() {
-		if(this.frm.doc.__islocal) {
-			this.setup_defaults();
-		}
-	},
-	
-	setup_defaults: function() {
-		var me = this;
-		
-		var defaults = {
-			posting_date: wn.datetime.get_today(),
-			posting_time: wn.datetime.now_time()
-		}
-		
-		$.each(defaults, function(k, v) {
-			if(!me.frm.doc[k]) me.frm.set_value(k, v);
-		});
-	},
-	
+erpnext.utils.Controller = wn.ui.form.Controller.extend({
 	refresh: function() {
 		erpnext.hide_naming_series();
 	}