diff --git a/frappe/__init__.py b/frappe/__init__.py index 53bd569f90..07a15d2ca3 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -1473,18 +1473,28 @@ def logger( def get_desk_link(doctype, name, show_title_with_name=False, open_in_new_tab=False): + from urllib.parse import quote + 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}' + html = '{doctype_local} {name}: {title_local}' else: - html = '{doctype_local} {title_local}' + html = '{doctype_local} {title_local}' return html.format( - doctype=doctype, name=name, doctype_local=_(doctype), title_local=_(title), target=target_attr + doctype=doctype, + name=name, + encoded_name=encoded_name, + doctype_local=_(doctype), + title_local=_(title), + target=target_attr, )