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,