From 684bb80f8e87d7774a8a41dfc49185bd56bba2fe Mon Sep 17 00:00:00 2001 From: shreyas Date: Mon, 28 Nov 2016 17:15:41 +0530 Subject: [PATCH] [Minor] convert date type to string when field is set as 'set_only_once' or constant --- frappe/model/base_document.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/frappe/model/base_document.py b/frappe/model/base_document.py index 90ae393f94..6db4ca70d9 100644 --- a/frappe/model/base_document.py +++ b/frappe/model/base_document.py @@ -504,7 +504,16 @@ class BaseDocument(object): values = frappe.db.get_value(self.doctype, self.name, constants, as_dict=True) for fieldname in constants: - if self.get(fieldname) != values.get(fieldname): + df = self.meta.get_field(fieldname) + + # This conversion to string only when fieldtype is Date + if df.fieldtype == 'Date': + value = str(values.get(fieldname)) + + else: + value = values.get(fieldname) + + if self.get(fieldname) != value: frappe.throw(_("Value cannot be changed for {0}").format(self.meta.get_label(fieldname)), frappe.CannotChangeConstantError)