[minor] [fix] fetch contact details
diff --git a/buying/doctype/purchase_common/purchase_common.js b/buying/doctype/purchase_common/purchase_common.js
index c05eba8..e15e076 100644
--- a/buying/doctype/purchase_common/purchase_common.js
+++ b/buying/doctype/purchase_common/purchase_common.js
@@ -104,7 +104,7 @@
if (this.frm.doc.supplier) {
wn.call({
doc: this.frm.doc,
- method: "get_supplier_address",
+ method: "set_supplier_address",
freeze: true,
args: {
supplier: this.frm.doc.supplier,
diff --git a/selling/doctype/sales_common/sales_common.js b/selling/doctype/sales_common/sales_common.js
index e3e5f87..e9f185b 100644
--- a/selling/doctype/sales_common/sales_common.js
+++ b/selling/doctype/sales_common/sales_common.js
@@ -163,7 +163,7 @@
address: this.frm.doc.customer_address,
contact: this.frm.doc.contact_person
},
- method: "get_customer_address",
+ method: "set_customer_address",
freeze: true,
callback: function(r) {
me.frm.refresh_fields();
diff --git a/utilities/transaction_base.py b/utilities/transaction_base.py
index 8f168f6..de229b9 100644
--- a/utilities/transaction_base.py
+++ b/utilities/transaction_base.py
@@ -149,7 +149,10 @@
ret.update(map_party_contact_details(args['contact']))
return ret
-
+
+ def set_customer_address(self, args):
+ self.doc.fields.update(self.get_customer_address(args))
+
# TODO deprecate this - used only in sales_order.js
def get_shipping_address(self, name):
shipping_address = get_default_address("customer", name, is_shipping_address=True)
@@ -183,6 +186,9 @@
}
ret.update(map_party_contact_details(contact_name=args['contact']))
return ret
+
+ def set_supplier_address(self, args):
+ self.doc.fields.update(self.get_supplier_address(args))
# Get Supplier Details
# -----------------------
@@ -389,27 +395,29 @@
for fieldname in ["contact_person", "contact_display", "contact_email",
"contact_mobile", "contact_phone", "contact_designation", "contact_department"]:
out[fieldname] = None
-
- if not contact_name:
- contact_name = get_default_contact(party_field, party_name)
- if party_field:
- contact = webnotes.conn.sql("""select * from `tabContact` where `%s`=%s
- order by is_primary_contact desc, name asc limit 1""" % (party_field, "%s"),
- (party_name,), as_dict=True)
+
+ condition = ""
+ if contact_name:
+ condition = " name = '%s'" % contact_name
+ elif party_field and party_name:
+ condition = " `%s`='%s'" % (party_field, party_name)
+
+ contact = webnotes.conn.sql("""select * from `tabContact` where %s
+ order by is_primary_contact desc, name asc limit 1""" % condition, 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
def get_address_territory(address_doc):