From 20ea14efe40e0985675eb5947b7838cce5b01afa Mon Sep 17 00:00:00 2001 From: Rucha Mahabal Date: Thu, 19 Sep 2019 20:41:56 +0530 Subject: [PATCH] fix(Report View): Error on setting Is Set filter for date fields --- frappe/model/db_query.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/frappe/model/db_query.py b/frappe/model/db_query.py index a26c0f2012..2ab0ee8549 100644 --- a/frappe/model/db_query.py +++ b/frappe/model/db_query.py @@ -458,18 +458,6 @@ class DatabaseQuery(object): value = get_between_date_filter(f.value, df) fallback = "'0001-01-01 00:00:00'" - elif df and df.fieldtype=="Date": - value = frappe.db.format_date(f.value) - fallback = "'0001-01-01'" - - elif (df and df.fieldtype=="Datetime") or isinstance(f.value, datetime): - value = frappe.db.format_datetime(f.value) - fallback = "'0001-01-01 00:00:00'" - - elif df and df.fieldtype=="Time": - value = get_time(f.value).strftime("%H:%M:%S.%f") - fallback = "'00:00:00'" - elif f.operator.lower() == "is": if f.value == 'set': f.operator = '!=' @@ -483,6 +471,18 @@ class DatabaseQuery(object): if 'ifnull' not in column_name: column_name = 'ifnull({}, {})'.format(column_name, fallback) + elif df and df.fieldtype=="Date": + value = frappe.db.format_date(f.value) + fallback = "'0001-01-01'" + + elif (df and df.fieldtype=="Datetime") or isinstance(f.value, datetime): + value = frappe.db.format_datetime(f.value) + fallback = "'0001-01-01 00:00:00'" + + elif df and df.fieldtype=="Time": + value = get_time(f.value).strftime("%H:%M:%S.%f") + fallback = "'00:00:00'" + elif f.operator.lower() in ("like", "not like") or (isinstance(f.value, string_types) and (not df or df.fieldtype not in ["Float", "Int", "Currency", "Percent", "Check"])): value = "" if f.value==None else f.value