Skip to content

Commit

Permalink
Merge 66c0a55 into 31be9aa
Browse files Browse the repository at this point in the history
  • Loading branch information
meike289 committed Nov 17, 2021
2 parents 31be9aa + 66c0a55 commit fea11b7
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 45 deletions.
6 changes: 0 additions & 6 deletions erpnext/crm/doctype/lead/lead.js
Expand Up @@ -73,12 +73,6 @@ erpnext.LeadController = frappe.ui.form.Controller.extend({
this.frm.toggle_reqd("company_name", this.frm.doc.organization_lead);
},

company_name: function () {
if (this.frm.doc.organization_lead && !this.frm.doc.lead_name) {
this.frm.set_value("lead_name", this.frm.doc.company_name);
}
},

contact_date: function () {
if (this.frm.doc.contact_date) {
let d = moment(this.frm.doc.contact_date);
Expand Down
88 changes: 49 additions & 39 deletions erpnext/crm/doctype/lead/lead.py
Expand Up @@ -34,13 +34,19 @@ def onload(self):
def before_insert(self):
if self.address_title and self.address_type:
self.address_doc = self.create_address()
self.contact_doc = self.create_contact()

self.contact_doc = None
if self.lead_name:
self.contact_doc = self.create_contact()

def after_insert(self):
self.update_links()

def validate(self):
self.set_lead_name()
if self.organization_lead:
self.set_company_name()
else:
self.set_lead_name()
self.set_title()
self._prev = frappe._dict({
"contact_date": frappe.db.get_value("Lead", self.name, "contact_date") if (not cint(self.is_new())) else None,
Expand Down Expand Up @@ -123,12 +129,17 @@ def set_lead_name(self):
if not self.lead_name:
# Check for leads being created through data import
if not self.company_name and not self.email_id and not self.flags.ignore_mandatory:
frappe.throw(_("A Lead requires either a person's name or an organization's name"))
frappe.throw(_("This Lead requires either a person's name or an organization's name"))
elif self.company_name:
self.lead_name = self.company_name
else:
self.lead_name = self.email_id.split("@")[0]

def set_company_name(self):
if not self.company_name:
if not self.flags.ignore_mandatory:
frappe.throw(_("This Lead requires an organization's name"))

def set_title(self):
if self.organization_lead:
self.title = self.company_name
Expand All @@ -151,54 +162,53 @@ def create_address(self):
return address

def create_contact(self):
if not self.lead_name:
self.set_lead_name()
if self.lead_name:

names = self.lead_name.strip().split(" ")
if len(names) > 1:
first_name, last_name = names[0], " ".join(names[1:])
else:
first_name, last_name = self.lead_name, None

contact = frappe.new_doc("Contact")
contact.update({
"first_name": first_name,
"last_name": last_name,
"salutation": self.salutation,
"gender": self.gender,
"designation": self.designation,
"company_name": self.company_name,
})

if self.email_id:
contact.append("email_ids", {
"email_id": self.email_id,
"is_primary": 1
names = self.lead_name.strip().split(" ")
if len(names) > 1:
first_name, last_name = names[0], " ".join(names[1:])
else:
first_name, last_name = self.lead_name, None

contact = frappe.new_doc("Contact")
contact.update({
"first_name": first_name,
"last_name": last_name,
"salutation": self.salutation,
"gender": self.gender,
"designation": self.designation,
"company_name": self.company_name,
})

if self.phone:
contact.append("phone_nos", {
"phone": self.phone,
"is_primary_phone": 1
})
if self.email_id:
contact.append("email_ids", {
"email_id": self.email_id,
"is_primary": 1
})

if self.mobile_no:
contact.append("phone_nos", {
"phone": self.mobile_no,
"is_primary_mobile_no":1
})
if self.phone:
contact.append("phone_nos", {
"phone": self.phone,
"is_primary_phone": 1
})

if self.mobile_no:
contact.append("phone_nos", {
"phone": self.mobile_no,
"is_primary_mobile_no":1
})

contact.insert(ignore_permissions=True)
contact.insert(ignore_permissions=True)

return contact
return contact

def update_links(self):
# update address links
if hasattr(self, 'address_doc'):
self.address_doc.append("links", {
"link_doctype": "Lead",
"link_name": self.name,
"link_title": self.lead_name
"link_title": self.title
})
self.address_doc.save()

Expand All @@ -207,7 +217,7 @@ def update_links(self):
self.contact_doc.append("links", {
"link_doctype": "Lead",
"link_name": self.name,
"link_title": self.lead_name
"link_title": self.lead_name if not self.organization_lead else self.company_name
})
self.contact_doc.save()

Expand Down

0 comments on commit fea11b7

Please sign in to comment.