From b2908df91b8a4bdb2a8c200e456efdc788c79a27 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 19 Oct 2016 14:20:41 +0530 Subject: [PATCH] get the default value of check field if none, for insert / update --- frappe/model/base_document.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/frappe/model/base_document.py b/frappe/model/base_document.py index 34665f2cfd..90ae393f94 100644 --- a/frappe/model/base_document.py +++ b/frappe/model/base_document.py @@ -189,8 +189,13 @@ class BaseDocument(object): df = self.meta.get_field(fieldname) if df: - if df.fieldtype=="Check" and (not isinstance(d[fieldname], int) or d[fieldname] > 1): - d[fieldname] = 1 if cint(d[fieldname]) else 0 + if df.fieldtype=="Check": + if (not isinstance(d[fieldname], int) or d[fieldname] > 1): + d[fieldname] = 1 if cint(d[fieldname]) else 0 + + # get the default value if none, for insert / update + elif d[fieldname]==None: + d[fieldname] = df.get('default') elif df.fieldtype=="Int" and not isinstance(d[fieldname], int): d[fieldname] = cint(d[fieldname]) @@ -208,10 +213,6 @@ class BaseDocument(object): if isinstance(d[fieldname], list) and df.fieldtype != 'Table': frappe.throw(_('Value for {0} cannot be a list').format(_(df.label))) - # get the default value if none, for insert / update - if d[fieldname]==None and df.get('default'): - d[fieldname] = df.get('default') - return d def init_valid_columns(self):