From 521ea1a7ac563feaedaed0516bd89d974a2b4c2c Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Thu, 5 Jun 2014 18:42:44 +0530 Subject: [PATCH] Run Method, call hook methods even if method does not exist in controller --- frappe/model/base_document.py | 1 + frappe/model/document.py | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) 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