From baaa249375f944f2b287ac87fa5381ff397597cb Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Fri, 19 Jan 2024 23:30:19 +0530 Subject: [PATCH] fix: added @me in user link field --- crm/api/doc.py | 16 ++++++++++++---- frontend/src/components/Controls/Link.vue | 10 +++++++++- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/crm/api/doc.py b/crm/api/doc.py index 4ad990c1..10b5f006 100644 --- a/crm/api/doc.py +++ b/crm/api/doc.py @@ -72,6 +72,14 @@ def get_list_data( custom_view = False filters = frappe._dict(filters) + for key in filters: + value = filters[key] + if isinstance(value, list): + if "@me" in value: + value[value.index("@me")] = frappe.session.user + elif value == "@me": + filters[key] = frappe.session.user + if default_filters: default_filters = frappe.parse_json(default_filters) filters.update(default_filters) @@ -98,11 +106,11 @@ def get_list_data( rows = frappe.parse_json(list_view_settings.rows) is_default = False elif not custom_view or is_default: - list = get_controller(doctype) + _list = get_controller(doctype) - if hasattr(list, "default_list_data"): - columns = list.default_list_data().get("columns") - rows = list.default_list_data().get("rows") + if hasattr(_list, "default_list_data"): + columns = _list.default_list_data().get("columns") + rows = _list.default_list_data().get("rows") # check if rows has all keys from columns if not add them for column in columns: diff --git a/frontend/src/components/Controls/Link.vue b/frontend/src/components/Controls/Link.vue index 15d026a8..60e2a0db 100644 --- a/frontend/src/components/Controls/Link.vue +++ b/frontend/src/components/Controls/Link.vue @@ -108,12 +108,20 @@ const options = createResource({ doctype: props.doctype, }, transform: (data) => { - return data.map((option) => { + let allData = data.map((option) => { return { label: option.value, value: option.value, } }) + + if (props.doctype == 'User') { + allData.unshift({ + label: '@me', + value: '@me', + }) + } + return allData }, })