feat: show link field title in sidebar filters if set (#26417)
* feat: In sidebar filter link field show Title of Field if set (#26413) * fix: test_list_view_child_table_filter_with_created_by_filter * fix tests * fix: formatting * fix: formatting * refactor: cleanup logic slightly, reduce code repetition Respect value of show_title_field_in_link Signed-off-by: Akhil Narang <me@akhilnarang.dev> --------- Signed-off-by: Akhil Narang <me@akhilnarang.dev> Co-authored-by: Akhil Narang <me@akhilnarang.dev>
This commit is contained in:
parent
3a4dd9a671
commit
557293adfe
2 changed files with 16 additions and 2 deletions
|
|
@ -60,10 +60,12 @@ def get_group_by_count(doctype: str, current_filters: str, field: str) -> list[d
|
|||
.run(as_dict=True)
|
||||
)
|
||||
|
||||
if not frappe.get_meta(doctype).has_field(field) and not is_default_field(field):
|
||||
meta = frappe.get_meta(doctype)
|
||||
|
||||
if not meta.has_field(field) and not is_default_field(field):
|
||||
raise ValueError("Field does not belong to doctype")
|
||||
|
||||
return frappe.get_list(
|
||||
data = frappe.get_list(
|
||||
doctype,
|
||||
filters=current_filters,
|
||||
group_by=f"`tab{doctype}`.{field}",
|
||||
|
|
@ -71,3 +73,13 @@ def get_group_by_count(doctype: str, current_filters: str, field: str) -> list[d
|
|||
order_by="count desc",
|
||||
limit=50,
|
||||
)
|
||||
|
||||
# Add in title if it's a link field and `show_title_field_in_link` is set
|
||||
if (field_meta := meta.get_field(field)) and field_meta.fieldtype == "Link":
|
||||
link_meta = frappe.get_meta(field_meta.options)
|
||||
if link_meta.show_title_field_in_link:
|
||||
title_field = link_meta.get_title_field()
|
||||
for item in data:
|
||||
item.title = frappe.get_value(field_meta.options, item.name, title_field)
|
||||
|
||||
return data
|
||||
|
|
|
|||
|
|
@ -221,6 +221,8 @@ frappe.views.ListGroupBy = class ListGroupBy {
|
|||
label = __("Me");
|
||||
} else if (fieldtype && fieldtype == "Check") {
|
||||
label = field.name == "0" ? __("No") : __("Yes");
|
||||
} else if (fieldtype && fieldtype == "Link" && field.title) {
|
||||
label = __(field.title);
|
||||
} else {
|
||||
label = __(field.name);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue