From c36dc287b467cca569e0e90ff9800786df3ed8fe Mon Sep 17 00:00:00 2001 From: "Nihantra C. Patel" <141945075+Nihantra-Patel@users.noreply.github.com> Date: Mon, 20 Apr 2026 12:36:44 +0530 Subject: [PATCH 1/2] fix: skip report letter head validation when no letter head is set --- frappe/core/doctype/report/report.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frappe/core/doctype/report/report.py b/frappe/core/doctype/report/report.py index f8ef10e1e8..a2251a5eb2 100644 --- a/frappe/core/doctype/report/report.py +++ b/frappe/core/doctype/report/report.py @@ -428,6 +428,9 @@ class Report(Document): frappe.throw(_("Selected Print Format is invalid for this Report.")) def validate_letter_head(self): + if not self.letter_head: + return + letter_head = frappe.db.get_value( "Letter Head", self.letter_head, @@ -441,7 +444,8 @@ class Report(Document): or (self.is_standard == "Yes" and letter_head.standard != "Yes") or letter_head.disabled ): - frappe.throw(_("Selected Letter Head is invalid for this Report.")) + frappe.throw( + _("Selected Letter Head '{0}' is invalid for '{1}' Report.").format(self.letter_head, self.name) @frappe.whitelist() def toggle_disable(self, disable: bool): From 0cefdf0f8d28c635032d5c5a518671fb47a97c68 Mon Sep 17 00:00:00 2001 From: "Nihantra C. Patel" <141945075+Nihantra-Patel@users.noreply.github.com> Date: Mon, 20 Apr 2026 12:44:34 +0530 Subject: [PATCH 2/2] fix: formatting --- frappe/core/doctype/report/report.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frappe/core/doctype/report/report.py b/frappe/core/doctype/report/report.py index a2251a5eb2..8560981d46 100644 --- a/frappe/core/doctype/report/report.py +++ b/frappe/core/doctype/report/report.py @@ -445,7 +445,10 @@ class Report(Document): or letter_head.disabled ): frappe.throw( - _("Selected Letter Head '{0}' is invalid for '{1}' Report.").format(self.letter_head, self.name) + _("Selected Letter Head '{0}' is invalid for '{1}' Report.").format( + self.letter_head, self.name + ) + ) @frappe.whitelist() def toggle_disable(self, disable: bool):