From cf312aed176ae1f7b97a8fa841565ad2a5f275f7 Mon Sep 17 00:00:00 2001 From: Akhil Narang Date: Tue, 16 Dec 2025 12:08:02 +0530 Subject: [PATCH] fix(calendar): adjust for qb changes (#35238) Signed-off-by: Akhil Narang --- frappe/desk/calendar.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/frappe/desk/calendar.py b/frappe/desk/calendar.py index 789a9c8515..2570a728d6 100644 --- a/frappe/desk/calendar.py +++ b/frappe/desk/calendar.py @@ -5,6 +5,8 @@ import json import frappe from frappe import _ +from frappe.query_builder import functions +from frappe.query_builder.terms import ValueWrapper @frappe.whitelist() @@ -46,12 +48,14 @@ def get_events(doctype, start, end, field_map, filters=None, fields=None): if field_map.color: fields.append(field_map.color) - start_date = "ifnull({}, '0001-01-01 00:00:00')".format(field_map.start) - end_date = "ifnull({}, '2199-12-31 00:00:00')".format(field_map.end) + dt = frappe.qb.DocType(doctype) + start_field = functions.IfNull(dt[field_map.start], ValueWrapper("0001-01-01 00:00:00")) + end_field = functions.IfNull(dt[field_map.end], ValueWrapper("2199-12-31 00:00:00")) filters += [ - [doctype, start_date, "<=", end], - [doctype, end_date, ">=", start], + [start_field, "<=", end], + [end_field, ">=", start], ] + fields = list({field for field in fields if field}) return frappe.get_list(doctype, fields=fields, filters=filters)