diff --git a/erpnext/accounts/doctype/sales_invoice/pos.py b/erpnext/accounts/doctype/sales_invoice/pos.py index 261363c4937..7d4fc639554 100755 --- a/erpnext/accounts/doctype/sales_invoice/pos.py +++ b/erpnext/accounts/doctype/sales_invoice/pos.py @@ -238,7 +238,7 @@ def get_contacts(customers): customers = [frappe._dict({'name': customers})] for data in customers: - contact = frappe.db.sql(""" select email_id, phone from `tabContact` + contact = frappe.db.sql(""" select email_id, phone, mobile_no from `tabContact` where is_primary_contact=1 and name in (select parent from `tabDynamic Link` where link_doctype = 'Customer' and link_name = %s and parenttype = 'Contact')""", data.name, as_dict=1) diff --git a/erpnext/accounts/page/pos/pos.js b/erpnext/accounts/page/pos/pos.js index ff0c265a42d..8dc00f3f218 100755 --- a/erpnext/accounts/page/pos/pos.js +++ b/erpnext/accounts/page/pos/pos.js @@ -817,6 +817,7 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({ if(reg.test(data.name.toLowerCase()) || reg.test(data.customer_name.toLowerCase()) || (contact && reg.test(contact["phone"])) + || (contact && reg.test(contact["mobile_no"])) || (data.customer_group && reg.test(data.customer_group.toLowerCase()))){ return data; } @@ -833,6 +834,7 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({ if(contact && !c['phone']) { c["phone"] = contact["phone"]; c["email_id"] = contact["email_id"]; + c["mobile_no"] = contact["mobile_no"]; } me.customers_mapper.push({ @@ -842,9 +844,10 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({ customer_group: c.customer_group, territory: c.territory, phone: contact ? contact["phone"] : '', + mobile_no: contact ? contact["mobile_no"] : '', email_id: contact ? contact["email_id"] : '', searchtext: ['customer_name', 'customer_group', 'name', 'value', - 'label', 'email_id', 'phone'] + 'label', 'email_id', 'phone', 'mobile_no'] .map(key => c[key]).join(' ') .toLowerCase() }); diff --git a/erpnext/crm/doctype/opportunity/test_opportunity.py b/erpnext/crm/doctype/opportunity/test_opportunity.py index 8f61edf00eb..33d90076c4a 100644 --- a/erpnext/crm/doctype/opportunity/test_opportunity.py +++ b/erpnext/crm/doctype/opportunity/test_opportunity.py @@ -53,7 +53,7 @@ class TestOpportunity(unittest.TestCase): "link_name": customer.name }] }) - contact.add_email(new_lead_email_id) + contact.add_email(new_lead_email_id, is_primary=True) contact.insert(ignore_permissions=True) opp_doc = frappe.get_doc(args).insert(ignore_permissions=True) diff --git a/erpnext/hub_node/legacy.py b/erpnext/hub_node/legacy.py index 85eb1b2bb01..b61b88bf078 100644 --- a/erpnext/hub_node/legacy.py +++ b/erpnext/hub_node/legacy.py @@ -73,7 +73,7 @@ def make_contact(supplier): {'link_doctype': 'Supplier', 'link_name': supplier.supplier_name} ] }) - contact.add_email(supplier.supplier_email) + contact.add_email(supplier.supplier_email, is_primary=True) contact.insert() else: contact = frappe.get_doc('Contact', contact_name) diff --git a/erpnext/selling/doctype/customer/customer.py b/erpnext/selling/doctype/customer/customer.py index d49b9a90622..a8e3ce4eae7 100644 --- a/erpnext/selling/doctype/customer/customer.py +++ b/erpnext/selling/doctype/customer/customer.py @@ -350,8 +350,10 @@ def make_contact(args, is_primary_contact=1): 'link_name': args.get('name') }] }) - contact.add_email(args.get('email_id')) - contact.add_phone(args.get('mobile_no')) + if args.get('email_id'): + contact.add_email(args.get('email_id'), is_primary=True) + if args.get('mobile_no'): + contact.add_phone(args.get('mobile_no'), is_primary_mobile_no=True) contact.insert() return contact diff --git a/erpnext/selling/doctype/sms_center/sms_center.py b/erpnext/selling/doctype/sms_center/sms_center.py index 289b045e1c1..bb6ba1ffce4 100644 --- a/erpnext/selling/doctype/sms_center/sms_center.py +++ b/erpnext/selling/doctype/sms_center/sms_center.py @@ -31,7 +31,7 @@ class SMSCenter(Document): self.sales_partner.replace("'", "\'") or " and ifnull(dl.link_name, '') != ''" if self.send_to in ['All Contact', 'All Customer Contact', 'All Supplier Contact', 'All Sales Partner Contact']: rec = frappe.db.sql("""select CONCAT(ifnull(c.first_name,''), ' ', ifnull(c.last_name,'')), - c.phone from `tabContact` c, `tabDynamic Link` dl where ifnull(c.phone,'')!='' and + c.mobile_no from `tabContact` c, `tabDynamic Link` dl where ifnull(c.mobile_no,'')!='' and c.docstatus != 2 and dl.parent = c.name%s""" % where_clause) elif self.send_to == 'All Lead (Open)': diff --git a/erpnext/tests/utils.py b/erpnext/tests/utils.py index 7024b0db92a..dfd3ed76bcb 100644 --- a/erpnext/tests/utils.py +++ b/erpnext/tests/utils.py @@ -10,27 +10,32 @@ def create_test_contact_and_address(): frappe.db.sql('delete from tabAddress') frappe.db.sql('delete from `tabDynamic Link`') - frappe.get_doc(dict( - doctype='Address', - address_title='_Test Address for Customer', - address_type='Office', - address_line1='Station Road', - city='_Test City', - state='Test State', - country='India', - links = [dict( - link_doctype='Customer', - link_name='_Test Customer' - )] - )).insert() + frappe.get_doc({ + "doctype": "Address", + "address_title": "_Test Address for Customer", + "address_type": "Office", + "address_line1": "Station Road", + "city": "_Test City", + "state": "Test State", + "country": "India", + "links": [ + { + "link_doctype": "Customer", + "link_name": "_Test Customer" + } + ] + }).insert() - frappe.get_doc(dict( - doctype='Contact', - email_id='test_contact_customer@example.com', - phone='+91 0000000000', - first_name='_Test Contact for _Test Customer', - links = [dict( - link_doctype='Customer', - link_name='_Test Customer' - )] - )).insert() + contact = frappe.get_doc({ + "doctype": 'Contact', + "first_name": "_Test Contact for _Test Customer", + "links": [ + { + "link_doctype": "Customer", + "link_name": "_Test Customer" + } + ] + }) + contact.add_email("test_contact_customer@example.com", is_primary=True) + contact.add_phone("+91 0000000000", is_primary_phone=True) + contact.insert()