Merge pull request #52426 from frappe/mergify/bp/version-16-hotfix/pr-51990

refactor: use https over http while saving website link (backport #51990)
This commit is contained in:
ruthra kumar
2026-02-05 11:30:16 +05:30
committed by GitHub
3 changed files with 22 additions and 2 deletions

View File

@@ -462,3 +462,4 @@ erpnext.patches.v15_0.create_accounting_dimensions_in_advance_taxes_and_charges
erpnext.patches.v16_0.set_ordered_qty_in_quotation_item
erpnext.patches.v16_0.migrate_transaction_deletion_task_flags_to_status # 2
erpnext.patches.v16_0.update_company_custom_field_in_bin
erpnext.patches.v15_0.replace_http_with_https_in_sales_partner

View File

@@ -0,0 +1,10 @@
import frappe
from frappe import qb
from pypika.functions import Replace
def execute():
sp = frappe.qb.DocType("Sales Partner")
qb.update(sp).set(sp.partner_website, Replace(sp.partner_website, "http://", "https://")).where(
sp.partner_website.rlike("^http://.*")
).run()

View File

@@ -50,8 +50,17 @@ class SalesPartner(WebsiteGenerator):
if not self.route:
self.route = "partners/" + self.scrub(self.partner_name)
super().validate()
if self.partner_website and not self.partner_website.startswith("http"):
self.partner_website = "http://" + self.partner_website
if self.partner_website:
from urllib.parse import urlsplit, urlunsplit
# scrub http
parts = urlsplit(self.partner_website)
if not parts.netloc and parts.path:
parts = parts._replace(netloc=parts.path, path="")
if not parts.scheme or parts.scheme == "http":
parts = parts._replace(scheme="https")
self.partner_website = urlunsplit(parts)
def get_context(self, context):
address_names = frappe.db.get_all(