Merge pull request #34065 from barredterra/print-rfq-letterhead
fix: change parameter name for letter head
diff --git a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.js b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.js
index a9f5afb..2f0b786 100644
--- a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.js
+++ b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.js
@@ -124,12 +124,11 @@
frappe.urllib.get_full_url(
"/api/method/erpnext.buying.doctype.request_for_quotation.request_for_quotation.get_pdf?" +
new URLSearchParams({
- doctype: frm.doc.doctype,
name: frm.doc.name,
supplier: data.supplier,
print_format: data.print_format || "Standard",
language: data.language || frappe.boot.lang,
- letter_head: data.letter_head || frm.doc.letter_head || "",
+ letterhead: data.letter_head || frm.doc.letter_head || "",
}).toString()
)
);
diff --git a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.py b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.py
index 8e9ded9..7927beb 100644
--- a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.py
+++ b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.py
@@ -3,6 +3,7 @@
import json
+from typing import Optional
import frappe
from frappe import _
@@ -388,24 +389,26 @@
@frappe.whitelist()
-def get_pdf(doctype, name, supplier, print_format=None, language=None, letter_head=None):
- # permissions get checked in `download_pdf`
- if doc := get_rfq_doc(doctype, name, supplier):
- download_pdf(
- doctype,
- name,
- print_format,
- doc=doc,
- language=language,
- letter_head=letter_head or None,
- )
-
-
-def get_rfq_doc(doctype, name, supplier):
+def get_pdf(
+ name: str,
+ supplier: str,
+ print_format: Optional[str] = None,
+ language: Optional[str] = None,
+ letterhead: Optional[str] = None,
+):
+ doc = frappe.get_doc("Request for Quotation", name)
if supplier:
- doc = frappe.get_doc(doctype, name)
doc.update_supplier_part_no(supplier)
- return doc
+
+ # permissions get checked in `download_pdf`
+ download_pdf(
+ doc.doctype,
+ doc.name,
+ print_format,
+ doc=doc,
+ language=language,
+ letterhead=letterhead or None,
+ )
@frappe.whitelist()
diff --git a/erpnext/buying/doctype/request_for_quotation/test_request_for_quotation.py b/erpnext/buying/doctype/request_for_quotation/test_request_for_quotation.py
index 064b806..d250e6f 100644
--- a/erpnext/buying/doctype/request_for_quotation/test_request_for_quotation.py
+++ b/erpnext/buying/doctype/request_for_quotation/test_request_for_quotation.py
@@ -8,6 +8,7 @@
from erpnext.buying.doctype.request_for_quotation.request_for_quotation import (
create_supplier_quotation,
+ get_pdf,
make_supplier_quotation_from_rfq,
)
from erpnext.crm.doctype.opportunity.opportunity import make_request_for_quotation as make_rfq
@@ -124,6 +125,11 @@
rfq.status = "Draft"
rfq.submit()
+ def test_get_pdf(self):
+ rfq = make_request_for_quotation()
+ get_pdf(rfq.name, rfq.get("suppliers")[0].supplier)
+ self.assertEqual(frappe.local.response.type, "pdf")
+
def make_request_for_quotation(**args):
"""