From f194e4c4f0cc93de7d10ae14401930a0c83b43f0 Mon Sep 17 00:00:00 2001 From: khushi8112 Date: Tue, 9 Sep 2025 14:45:37 +0530 Subject: [PATCH] feat: add letterhead fixture --- erpnext/fixtures/letter_head.json | 48 +++++++++++++++++++++++++++++++ erpnext/hooks.py | 2 ++ 2 files changed, 50 insertions(+) create mode 100644 erpnext/fixtures/letter_head.json diff --git a/erpnext/fixtures/letter_head.json b/erpnext/fixtures/letter_head.json new file mode 100644 index 00000000000..4b9e7d9cc46 --- /dev/null +++ b/erpnext/fixtures/letter_head.json @@ -0,0 +1,48 @@ +[ + { + "align": "Left", + "content": "\n\n
\n
\n
\n {% if frappe.db.get_value(\"Company\", doc.company, \"logo_for_printing\") %}\n \n {% endif %}\n
\n
\n
{{ doc.company }}
\n {% set company_address = frappe.get_all(\n \"Dynamic Link\",\n fields=[\"parent\"],\n filters={\n \"link_doctype\": \"Company\",\n \"link_name\": doc.company,\n \"parenttype\": \"Address\"\n },\n limit=1\n ) %}\n \n {% if company_address %}\n {% set address = frappe.get_doc(\"Address\", company_address[0].parent) %}\n {{ address.address_line1 or \"\" }}
\n {% if address.address_line2 %}{{ address.address_line2 }}
{% endif %}\n {{ address.city or \"\" }} {{ address.state or \"\" }} {{ address.pincode or \"\" }} {{ address.country or \"\" }}
\n {% endif %}\n
\n
\n\n
\n {% set website = frappe.db.get_value(\"Company\", doc.company, \"website\") %}\n {% set email = frappe.db.get_value(\"Company\", doc.company, \"email\") %}\n {% set phone_no = frappe.db.get_value(\"Company\", doc.company, \"phone_no\") %}\n {% set pan = frappe.db.get_value(\"Company\", doc.company, \"pan\") %}\n\n {% if website %}\n
\n
{{ _(\"Website:\") }}
\n
{{ website }}

\n
\n {% endif %}\n {% if email %}\n
\n
{{ _(\"Email:\") }}
\n
{{ email }}

\n
\n {% endif %}\n {% if phone_no %}\n
\n
{{ _(\"Contact:\") }}
\n
{{ phone_no }}

\n
\n {% endif %}\n {% if pan %}\n
\n
{{ _(\"PAN:\") }}
\n
{{ pan }}

\n
\n {% endif %}\n
\n
\n", + "disabled": 0, + "docstatus": 0, + "doctype": "Letter Head", + "footer": null, + "footer_align": "Left", + "footer_image": null, + "footer_image_height": 0.0, + "footer_image_width": 0.0, + "footer_script": null, + "footer_source": "HTML", + "header_script": null, + "image": null, + "image_height": 0.0, + "image_width": 0.0, + "is_default": 0, + "letter_head_name": "Sales Invoice Letter Head", + "modified": "2025-09-09 14:31:07.209406", + "name": "Sales Invoice Letter Head", + "source": "HTML" + }, + { + "align": "Left", + "content": "\n\n
\n
\n
\n {% if frappe.db.get_value(\"Company\", doc.company, \"logo_for_printing\") %}\n \n {% endif %}\n
\n
\n
\n {{ _(\"Sales Invoice\") }}\n
\n
\n {{ doc.name }}\n
\n
\n
\n
\n
\n
{{ doc.company }}
\n {% set company_address = frappe.get_all(\n \"Dynamic Link\",\n fields=[\"parent\"],\n filters={\n \"link_doctype\": \"Company\",\n \"link_name\": doc.company,\n \"parenttype\": \"Address\"\n },\n limit=1\n ) %}\n \n {% if company_address %}\n {% set address = frappe.get_doc(\"Address\", company_address[0].parent) %}\n {{ address.address_line1 or \"\" }}
\n {% if address.address_line2 %}{{ address.address_line2 }}
{% endif %}\n {{ address.city or \"\" }} {{ address.state or \"\" }} {{ address.pincode or \"\" }} {{ address.country or \"\" }}
\n {% endif %}\n
\n\n
\n {% set website = frappe.db.get_value(\"Company\", doc.company, \"website\") %}\n {% set email = frappe.db.get_value(\"Company\", doc.company, \"email\") %}\n {% set phone_no = frappe.db.get_value(\"Company\", doc.company, \"phone_no\") %}\n {% set pan = frappe.db.get_value(\"Company\", doc.company, \"pan\") %}\n \n {% if website %}\n
\n
{{ _(\"Website:\") }}
\n
{{ website }}

\n
\n {% endif %}\n {% if email %}\n
\n
{{ _(\"Email:\") }}
\n
{{ email }}

\n
\n {% endif %}\n {% if phone_no %}\n
\n
{{ _(\"Contact:\") }}
\n
{{ phone_no }}

\n
\n {% endif %}\n {% if pan %}\n
\n
{{ _(\"PAN:\") }}
\n
{{ pan }}

\n
\n {% endif %}\n
\n
\n
\n", + "disabled": 0, + "docstatus": 0, + "doctype": "Letter Head", + "footer": null, + "footer_align": "Left", + "footer_image": null, + "footer_image_height": 0.0, + "footer_image_width": 0.0, + "footer_script": null, + "footer_source": "HTML", + "header_script": null, + "image": null, + "image_height": 0.0, + "image_width": 0.0, + "is_default": 1, + "letter_head_name": "Print Format Letter Head", + "modified": "2025-09-09 14:31:07.204974", + "name": "Print Format Letter Head", + "source": "HTML" + } +] \ No newline at end of file diff --git a/erpnext/hooks.py b/erpnext/hooks.py index 22bff524dea..540fd6c36c4 100644 --- a/erpnext/hooks.py +++ b/erpnext/hooks.py @@ -600,6 +600,8 @@ user_privacy_documents = [ }, ] +fixtures = ["Letter Head"] + # ERPNext doctypes for Global Search global_search_doctypes = { "Default": [