diff --git a/frappe/model/base_document.py b/frappe/model/base_document.py index 41714d4d49..667fe88df6 100644 --- a/frappe/model/base_document.py +++ b/frappe/model/base_document.py @@ -267,6 +267,7 @@ class BaseDocument(object): docname = self.get(df.fieldname) if docname: + # MySQL is case insensitive. Preserve case of the original docname in the Link Field. value = frappe.db.get_value(doctype, docname) setattr(self, df.fieldname, value) if docname and not value: diff --git a/frappe/model/document.py b/frappe/model/document.py index 30d019ad3b..66e1bd1bf0 100644 --- a/frappe/model/document.py +++ b/frappe/model/document.py @@ -371,8 +371,11 @@ class Document(BaseDocument): """run standard triggers, plus those in frappe""" if hasattr(self, method): fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs) - fn.__name__ = method.encode("utf-8") - return Document.hook(fn)(self, *args, **kwargs) + else: + fn = lambda self, *args, **kwargs: None + + fn.__name__ = method.encode("utf-8") + return Document.hook(fn)(self, *args, **kwargs) def submit(self): self.docstatus = 1