From aece05a79264f0a41b7d6fc7753e96e7bc8ff38c Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Wed, 26 Oct 2016 17:12:56 +0530 Subject: [PATCH] [fix] default for checks in db_insert and show top 20 filter values --- frappe/desk/reportview.py | 2 +- frappe/model/base_document.py | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/frappe/desk/reportview.py b/frappe/desk/reportview.py index 784870dcd4..aeb529e3f9 100644 --- a/frappe/desk/reportview.py +++ b/frappe/desk/reportview.py @@ -191,7 +191,7 @@ def get_filter_dashboard_data(stats, doctype, filters=[]): fields=[tag["name"], "count(*)"], filters = filters + ["ifnull(`%s`,'')!=''" % tag["name"]], group_by = tag["name"], - limit = 10, + limit = 20, as_list = True) if tag["type"] not in ['Check','Select','Date','Datetime']: diff --git a/frappe/model/base_document.py b/frappe/model/base_document.py index 90ae393f94..b0f2e7ae12 100644 --- a/frappe/model/base_document.py +++ b/frappe/model/base_document.py @@ -190,12 +190,11 @@ class BaseDocument(object): df = self.meta.get_field(fieldname) if df: if df.fieldtype=="Check": - if (not isinstance(d[fieldname], int) or d[fieldname] > 1): - d[fieldname] = 1 if cint(d[fieldname]) else 0 + if d[fieldname]==None: + d[fieldname] = df.get('default') or 0 - # get the default value if none, for insert / update - elif d[fieldname]==None: - d[fieldname] = df.get('default') + elif (not isinstance(d[fieldname], int) or d[fieldname] > 1): + d[fieldname] = 1 if cint(d[fieldname]) else 0 elif df.fieldtype=="Int" and not isinstance(d[fieldname], int): d[fieldname] = cint(d[fieldname])