[fix] default for checks in db_insert and show top 20 filter values

This commit is contained in:
Rushabh Mehta 2016-10-26 17:12:56 +05:30
parent 603f163dd8
commit aece05a792
2 changed files with 5 additions and 6 deletions

View file

@ -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']:

View file

@ -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])