fix: use slug and quoted utils for URL encoding in get_desk_link

This commit is contained in:
diptanilsaha 2026-02-21 01:46:04 +05:30
parent df78027f41
commit f07c36d423

View file

@ -1477,25 +1477,23 @@ def logger(
def get_desk_link(doctype, name, show_title_with_name=False, open_in_new_tab=False):
from urllib.parse import quote
from frappe.desk.utils import slug
from frappe.utils.data import quoted
meta = get_meta(doctype)
title = get_value(doctype, name, meta.get_title_field())
target_attr = ' target="_blank"' if open_in_new_tab else ""
# encode for href
encoded_name = quote(name)
if show_title_with_name and name != title:
html = '<a href="/desk/{doctype}/{encoded_name}"{target} style="font-weight: bold;">{doctype_local} {name}: {title_local}</a>'
else:
html = '<a href="/desk/{doctype}/{encoded_name}"{target} style="font-weight: bold;">{doctype_local} {title_local}</a>'
return html.format(
doctype=frappe.scrub(doctype),
doctype=quoted(slug(doctype)),
name=name,
encoded_name=encoded_name,
encoded_name=quoted(name),
doctype_local=_(doctype),
title_local=_(title),
target=target_attr,