Merge pull request #38160 from gajjug004/fix/report-print-letterhead-footer

fix: report print letterhead footer not rendering
This commit is contained in:
Hussain Nagaria 2026-03-23 11:36:17 +05:30 committed by GitHub
commit dc220d2b94
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 27 additions and 15 deletions

View file

@ -14,19 +14,6 @@
</head>
<body>
<div class="print-format-gutter">
{% if print_settings.repeat_header_footer %}
<div id="footer-html" class="visible-pdf">
{% if print_settings.letter_head && print_settings.letter_head.footer %}
<div class="letter-head-footer">
{{ print_settings.letter_head.footer }}
</div>
{% endif %}
<p class="text-center small page-number visible-pdf">
{{ __("Page {0} of {1}", [`<span class="page"></span>`, `<span class="topage"></span>`]) }}
</p>
</div>
{% endif %}
<div class="print-format {% if landscape %}landscape{% endif %}"
{% if columns.length > 20 %}
{% if can_use_smaller_font %}
@ -40,6 +27,18 @@
</div>
{% endif %}
{{ content }}
{% if print_settings.repeat_header_footer %}
<div id="footer-html" class="visible-pdf">
{% if print_settings.letter_head && print_settings.letter_head.footer %}
<div class="letter-head-footer">
{{ print_settings.letter_head.footer }}
</div>
{% endif %}
<p class="text-center small page-number visible-pdf">
{{ __("Page {0} of {1}", [`<span class="page"></span>`, `<span class="topage"></span>`]) }}
</p>
</div>
{% endif %}
</div>
</div>
</body>

View file

@ -163,6 +163,21 @@ frappe.render_template = function (name, data) {
}
w.document.write(html);
// show footer on print
const footer = w.document.getElementById("footer-html");
if (footer) {
footer.classList.remove("visible-pdf");
footer.style.marginTop = "auto";
const print_format = w.document.querySelector(".print-format");
if (print_format) {
print_format.style.display = "flex";
print_format.style.flexDirection = "column";
print_format.style.minHeight = "100vh";
}
}
w.document.close();
}),
(frappe.render_tree = function (opts) {

View file

@ -1683,7 +1683,6 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList {
async render_report_letterhead(print_settings) {
if (!print_settings.with_letter_head || !print_settings.letter_head_name) return;
if (print_settings.__letter_head_rendered) return;
const filters = this.get_filter_values ? this.get_filter_values() : {};
const doc_context = Object.assign({}, filters);
@ -1699,7 +1698,6 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList {
});
if (r.message) {
print_settings.letter_head = r.message;
print_settings.__letter_head_rendered = true;
}
} catch (e) {
// fall back silently if rendering fails