Merge pull request #28436 from anupamvs/crm-lead-validate-cleanup
fix: lead validate function cleanup
This commit is contained in:
@@ -8,15 +8,7 @@ from frappe import _
|
||||
from frappe.contacts.address_and_contact import load_address_and_contact
|
||||
from frappe.email.inbox import link_communication_to_document
|
||||
from frappe.model.mapper import get_mapped_doc
|
||||
from frappe.utils import (
|
||||
cint,
|
||||
comma_and,
|
||||
cstr,
|
||||
getdate,
|
||||
has_gravatar,
|
||||
nowdate,
|
||||
validate_email_address,
|
||||
)
|
||||
from frappe.utils import comma_and, cstr, getdate, has_gravatar, nowdate, validate_email_address
|
||||
|
||||
from erpnext.accounts.party import set_taxes
|
||||
from erpnext.controllers.selling_controller import SellingController
|
||||
@@ -42,15 +34,13 @@ class Lead(SellingController):
|
||||
def validate(self):
|
||||
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,
|
||||
"ends_on": frappe.db.get_value("Lead", self.name, "ends_on") if (not cint(self.is_new())) else None,
|
||||
"contact_by": frappe.db.get_value("Lead", self.name, "contact_by") if (not cint(self.is_new())) else None,
|
||||
})
|
||||
|
||||
self.set_status()
|
||||
self.check_email_id_is_unique()
|
||||
self.validate_email_id()
|
||||
self.validate_contact_date()
|
||||
self.set_prev()
|
||||
|
||||
def validate_email_id(self):
|
||||
if self.email_id:
|
||||
if not self.flags.ignore_email_validation:
|
||||
validate_email_address(self.email_id, throw=True)
|
||||
@@ -64,6 +54,7 @@ class Lead(SellingController):
|
||||
if self.is_new() or not self.image:
|
||||
self.image = has_gravatar(self.email_id)
|
||||
|
||||
def validate_contact_date(self):
|
||||
if self.contact_date and getdate(self.contact_date) < getdate(nowdate()):
|
||||
frappe.throw(_("Next Contact Date cannot be in the past"))
|
||||
|
||||
@@ -74,6 +65,16 @@ class Lead(SellingController):
|
||||
def on_update(self):
|
||||
self.add_calendar_event()
|
||||
|
||||
def set_prev(self):
|
||||
if self.is_new():
|
||||
self._prev = frappe._dict({
|
||||
"contact_date": None,
|
||||
"ends_on": None,
|
||||
"contact_by": None
|
||||
})
|
||||
else:
|
||||
self._prev = frappe.db.get_value("Lead", self.name, ["contact_date", "ends_on", "contact_by"], as_dict=1)
|
||||
|
||||
def add_calendar_event(self, opts=None, force=False):
|
||||
super(Lead, self).add_calendar_event({
|
||||
"owner": self.lead_owner,
|
||||
|
||||
Reference in New Issue
Block a user