Merge pull request #2344 from nabinhait/fix1

cost center based on project
diff --git a/erpnext/selling/sales_common.js b/erpnext/selling/sales_common.js
index 66e935a..fd16258 100644
--- a/erpnext/selling/sales_common.js
+++ b/erpnext/selling/sales_common.js
@@ -587,16 +587,18 @@
 });
 
 frappe.ui.form.on(cur_frm.doctype,"project_name", function(frm) {
-	frappe.call({
-		method:'erpnext.projects.doctype.project.project.get_cost_center_name' ,
-		args: {	project_name: frm.doc.project_name	},
-		callback: function(r, rt) {
-			if(!r.exc) { 
-				$.each(frm.doc[cur_frm.cscript.fname] || [], function(i, row) {
-					frappe.model.set_value(row.doctype, row.name, "cost_center", r.message);
-					msgprint(__("Cost Center For Item with Item Code '"+row.item_name+"' has been Changed to "+ r.message));
-				})
+	if(in_list(["Delivery Note", "Sales Invoice"], frm.doc.doctype)) {
+		frappe.call({
+			method:'erpnext.projects.doctype.project.project.get_cost_center_name' ,
+			args: {	project_name: frm.doc.project_name	},
+			callback: function(r, rt) {
+				if(!r.exc) {
+					$.each(frm.doc[cur_frm.cscript.fname] || [], function(i, row) {
+						frappe.model.set_value(row.doctype, row.name, "cost_center", r.message);
+						msgprint(__("Cost Center For Item with Item Code '"+row.item_name+"' has been Changed to "+ r.message));
+					})
+				}
 			}
-		}
-	})
+		})
+	}
 })
diff --git a/erpnext/utilities/doctype/address/address.py b/erpnext/utilities/doctype/address/address.py
index 8fd5cb1..172ce23 100644
--- a/erpnext/utilities/doctype/address/address.py
+++ b/erpnext/utilities/doctype/address/address.py
@@ -52,6 +52,8 @@
 
 @frappe.whitelist()
 def get_address_display(address_dict):
+	if not address_dict:
+		return
 	if not isinstance(address_dict, dict):
 		address_dict = frappe.db.get_value("Address", address_dict, "*", as_dict=True) or {}