diff --git a/frappe/__init__.py b/frappe/__init__.py index 40e6c43c3b..8996a7fbe3 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -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 = '{doctype_local} {name}: {title_local}' else: html = '{doctype_local} {title_local}' 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,