fix: qrcode image name for invoices with special chars (#28699)
diff --git a/erpnext/regional/saudi_arabia/utils.py b/erpnext/regional/saudi_arabia/utils.py
index 1051315..ba55efc 100644
--- a/erpnext/regional/saudi_arabia/utils.py
+++ b/erpnext/regional/saudi_arabia/utils.py
@@ -1,6 +1,7 @@
import io
import os
from base64 import b64encode
+from urllib.parse import quote
import frappe
from frappe import _
@@ -101,8 +102,9 @@
url = qr_create(base64_string, error='L')
url.png(qr_image, scale=2, quiet_zone=1)
+ urlencoded_name = quote(doc.name)
# making file
- filename = f"QR-CODE-{doc.name}.png".replace(os.path.sep, "__")
+ filename = f"QR-CODE-{urlencoded_name}.png".replace(os.path.sep, "__")
_file = frappe.get_doc({
"doctype": "File",
"file_name": filename,