refactor: age range in one field (#42736)
* fix: age range in one field * fix: patch for custom reports * refactor: stock ageing and account payable report * fix: fixing the test cases * fix: common patch for reports with ageing * refactor: rename variable and minor refactor * fix: fixing the test case
This commit is contained in:
36
erpnext/patches/v14_0/update_reports_with_range.py
Normal file
36
erpnext/patches/v14_0/update_reports_with_range.py
Normal file
@@ -0,0 +1,36 @@
|
||||
import json
|
||||
|
||||
import frappe
|
||||
|
||||
REFERENCE_REPORTS = [
|
||||
"Accounts Receivable",
|
||||
"Accounts Receivable Summary",
|
||||
"Accounts Payable",
|
||||
"Accounts Payable Summary",
|
||||
"Stock Ageing",
|
||||
]
|
||||
|
||||
|
||||
def execute():
|
||||
for report in REFERENCE_REPORTS:
|
||||
update_reference_reports(report)
|
||||
|
||||
|
||||
def update_reference_reports(reference_report):
|
||||
reports = frappe.get_all(
|
||||
"Report", filters={"reference_report": reference_report}, fields={"json", "name"}
|
||||
)
|
||||
|
||||
for report in reports:
|
||||
update_report_json(report)
|
||||
update_reference_reports(report.name)
|
||||
|
||||
|
||||
def update_report_json(report):
|
||||
report_json = json.loads(report.json)
|
||||
report_filter = report_json.get("filters")
|
||||
|
||||
keys_to_pop = [key for key in report_filter if key.startswith("range")]
|
||||
report_filter["range"] = ", ".join(str(report_filter.pop(key)) for key in keys_to_pop)
|
||||
|
||||
frappe.db.set_value("Report", report.name, "json", json.dumps(report_json))
|
||||
Reference in New Issue
Block a user