Merge pull request #34624 from khushi8112/get-link-to-report-between-condition

fix: handle between condition properly in get_link_to_report filters
This commit is contained in:
Ejaaz Khan 2025-11-06 17:29:02 +05:30 committed by GitHub
commit 27ce9a3df4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 25 additions and 4 deletions

View file

@ -31,6 +31,7 @@ from frappe.utils import (
get_bench_path,
get_file_timestamp,
get_gravatar,
get_link_to_report,
get_site_info,
get_sites,
get_url,
@ -343,6 +344,13 @@ class TestFilters(IntegrationTestCase):
self.assertTrue(compare(None, "is", "Not Set"))
self.assertTrue(compare(None, "is", "not set"))
def test_get_link_to_report_with_between_filter(self):
filters = {
"creation": [["between", ["2024-01-01", "2024-12-31"]]],
}
link = get_link_to_report(name="ToDo", filters=filters)
self.assertIn('creation=["between",["2024-01-01","2024-12-31"]]', link)
class TestMoney(IntegrationTestCase):
def test_money_in_words(self):

View file

@ -1935,10 +1935,23 @@ def get_link_to_report(
conditions = []
for k, v in filters.items():
if isinstance(v, list):
conditions.extend(
str(k) + "=" + '["' + str(value[0] + '"' + "," + '"' + str(value[1]) + '"]')
for value in v
)
for value in v:
if value[0] == "between":
conditions.append(
str(k)
+ "="
+ '["'
+ str(value[0])
+ '",["'
+ str(value[1][0])
+ '","'
+ str(value[1][1])
+ '"]]'
)
else:
conditions.append(
str(k) + "=" + '["' + str(value[0] + '"' + "," + '"' + str(value[1]) + '"]')
)
else:
conditions.append(str(k) + "=" + quote(str(v)))