Merge branch 'master' of github.com:webnotes/erpnext
diff --git a/accounts/report/accounts_payable/accounts_payable.py b/accounts/report/accounts_payable/accounts_payable.py
index 6bc98f6..f884773 100644
--- a/accounts/report/accounts_payable/accounts_payable.py
+++ b/accounts/report/accounts_payable/accounts_payable.py
@@ -7,8 +7,10 @@
 def execute(filters=None):
 	if not filters: filters = {}
 	columns = get_columns()
-	
 	entries = get_gl_entries(filters)
+	account_supplier = dict(webnotes.conn.sql("""select account.name, supplier.supplier_name
+		from `tabAccount` account, `tabSupplier` supplier 
+		where account.master_type="Supplier" and supplier.name=account.master_name"""))
 	
 	entries_after_report_date = [[gle.voucher_type, gle.voucher_no] 
 		for gle in get_gl_entries(filters, before_report_date=False)]
@@ -38,7 +40,8 @@
 
 			if abs(flt(outstanding_amount)) > 0.01:
 				paid_amount = invoiced_amount - outstanding_amount
-				row = [gle.posting_date, gle.account, gle.voucher_type, gle.voucher_no, 
+				row = [gle.posting_date, gle.account, account_supplier.get(gle.account, ""),
+					gle.voucher_type, gle.voucher_no, 
 					gle.remarks, account_supplier_type_map.get(gle.account), due_date, bill_no, 
 					bill_date, invoiced_amount, paid_amount, outstanding_amount]
 				
@@ -55,7 +58,7 @@
 	
 def get_columns():
 	return [
-		"Posting Date:Date:80", "Account:Link/Account:150", "Voucher Type::110", 
+		"Posting Date:Date:80", "Account:Link/Account:150", "Supplier::150", "Voucher Type::110", 
 		"Voucher No::120", "Remarks::150", "Supplier Type:Link/Supplier Type:120", 
 		"Due Date:Date:80", "Bill No::80", "Bill Date:Date:80", 
 		"Invoiced Amount:Currency:100", "Paid Amount:Currency:100", 
diff --git a/accounts/report/accounts_receivable/accounts_receivable.py b/accounts/report/accounts_receivable/accounts_receivable.py
index 2bd3be8..4ae3c86 100644
--- a/accounts/report/accounts_receivable/accounts_receivable.py
+++ b/accounts/report/accounts_receivable/accounts_receivable.py
@@ -7,6 +7,9 @@
 	if not filters: filters = {}
 	columns = get_columns()
 	entries = get_gl_entries(filters)
+	account_customer = dict(webnotes.conn.sql("""select account.name, customer.customer_name
+		from `tabAccount` account, `tabCustomer` customer 
+		where account.master_type="Customer" and customer.name=account.master_name"""))
 	
 	entries_after_report_date = [[gle.voucher_type, gle.voucher_no] 
 		for gle in get_gl_entries(filters, upto_report_date=False)]
@@ -32,7 +35,8 @@
 		
 			if abs(flt(outstanding_amount)) > 0.01:
 				payment_amount = invoiced_amount - outstanding_amount
-				row = [gle.posting_date, gle.account, gle.voucher_type, gle.voucher_no, 
+				row = [gle.posting_date, gle.account, account_customer.get(gle.account, ""), 
+					gle.voucher_type, gle.voucher_no, 
 					gle.remarks, due_date, account_territory_map.get(gle.account), 
 					invoiced_amount, payment_amount, outstanding_amount]
 				# Ageing
@@ -48,7 +52,7 @@
 	
 def get_columns():
 	return [
-		"Posting Date:Date:80", "Account:Link/Account:150", "Voucher Type::110", 
+		"Posting Date:Date:80", "Account:Link/Account:150", "Customer::150", "Voucher Type::110", 
 		"Voucher No::120", "Remarks::150", "Due Date:Date:80", "Territory:Link/Territory:80", 
 		"Invoiced Amount:Currency:100", "Payment Received:Currency:100", 
 		"Outstanding Amount:Currency:100", "Age:Int:50", "0-30:Currency:100", 
diff --git a/selling/doctype/sales_order/sales_order.py b/selling/doctype/sales_order/sales_order.py
index 210e56f..fb04714 100644
--- a/selling/doctype/sales_order/sales_order.py
+++ b/selling/doctype/sales_order/sales_order.py
@@ -166,7 +166,7 @@
 		super(DocType, self).validate_with_previous_doc(self.tname, {
 			"Quotation": {
 				"ref_dn_field": "prevdoc_docname",
-				"compare_fields": [["customer", "="], ["company", "="], ["currency", "="]]
+				"compare_fields": [["company", "="], ["currency", "="]]
 			}
 		})
 
diff --git a/utilities/doctype/sms_control/sms_control.js b/utilities/doctype/sms_control/sms_control.js
index f470f96..e56315c 100644
--- a/utilities/doctype/sms_control/sms_control.js
+++ b/utilities/doctype/sms_control/sms_control.js
@@ -62,9 +62,9 @@
 			var btn = d.fields_dict.send.input;
 			var v = me.dialog.get_values();
 			if(v) {
-				btn.set_working();
+				$(this).set_working();
 				$c_obj('SMS Control', 'send_form_sms', v, function(r,rt) {
-					btn.done_working();
+					$(this).done_working();
 					if(r.exc) {msgprint(r.exc); return; }
 					msgprint('Message Sent');
 					me.dialog.hide();
diff --git a/utilities/transaction_base.py b/utilities/transaction_base.py
index 8894cb4..2900bf6 100644
--- a/utilities/transaction_base.py
+++ b/utilities/transaction_base.py
@@ -396,20 +396,22 @@
 	if not contact_name and party_field:
 		contact_name = get_default_contact(party_field, party_name)
 	
-	contact = webnotes.conn.sql("""select * from `tabContact` where name=%s""", contact_name, as_dict=True)
+	if contact_name:
+		contact = webnotes.conn.sql("""select * from `tabContact` where name=%s""", 
+			contact_name, as_dict=True)
 
-	if contact:
-		contact = contact[0]
-		out.update({
-			"contact_person": contact.get("name"),
-			"contact_display": " ".join(filter(None, 
-				[contact.get("first_name"), contact.get("last_name")])),
-			"contact_email": contact.get("email_id"),
-			"contact_mobile": contact.get("mobile_no"),
-			"contact_phone": contact.get("phone"),
-			"contact_designation": contact.get("designation"),
-			"contact_department": contact.get("department")
-		})
+		if contact:
+			contact = contact[0]
+			out.update({
+				"contact_person": contact.get("name"),
+				"contact_display": " ".join(filter(None, 
+					[contact.get("first_name"), contact.get("last_name")])),
+				"contact_email": contact.get("email_id"),
+				"contact_mobile": contact.get("mobile_no"),
+				"contact_phone": contact.get("phone"),
+				"contact_designation": contact.get("designation"),
+				"contact_department": contact.get("department")
+			})
 
 	return out