From a62da8ddeb74a0b19766d89aee71689d422e06ba Mon Sep 17 00:00:00 2001 From: barredterra <14891507+barredterra@users.noreply.github.com> Date: Fri, 21 Jan 2022 13:05:54 +0100 Subject: [PATCH 1/3] feat: translate column names in export of report --- frappe/desk/reportview.py | 17 +++++++++++------ .../js/frappe/views/reports/report_view.js | 2 +- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/frappe/desk/reportview.py b/frappe/desk/reportview.py index e81ed0767b..fa96596841 100644 --- a/frappe/desk/reportview.py +++ b/frappe/desk/reportview.py @@ -305,7 +305,7 @@ def export_query(): if add_totals_row: ret = append_totals_row(ret) - data = [['Sr'] + get_labels(db_query.fields, doctype)] + data = [[_('Sr')] + get_labels(db_query.fields, doctype)] for i, row in enumerate(ret): data.append([i+1] + list(row)) @@ -364,7 +364,8 @@ def get_labels(fields, doctype): for key in fields: key = key.split(" as ")[0] - if key.startswith(('count(', 'sum(', 'avg(')): continue + if key.startswith(('count(', 'sum(', 'avg(')): + continue if "." in key: parenttype, fieldname = key.split(".")[0][4:-1], key.split(".")[1].strip("`") @@ -372,10 +373,14 @@ def get_labels(fields, doctype): parenttype = doctype fieldname = fieldname.strip("`") - df = frappe.get_meta(parenttype).get_field(fieldname) - label = df.label if df else fieldname.title() - if label in labels: - label = doctype + ": " + label + if parenttype == doctype and fieldname == "name": + label = _("ID", context="Label of name column in report") + else: + df = frappe.get_meta(parenttype).get_field(fieldname) + label = _(df.label if df else fieldname.title()) + if parenttype != doctype: + label += " (" + _(parenttype) + ")" + labels.append(label) return labels diff --git a/frappe/public/js/frappe/views/reports/report_view.js b/frappe/public/js/frappe/views/reports/report_view.js index 6d8e281793..71cab6b6c2 100644 --- a/frappe/public/js/frappe/views/reports/report_view.js +++ b/frappe/public/js/frappe/views/reports/report_view.js @@ -860,7 +860,7 @@ frappe.views.ReportView = class ReportView extends frappe.views.ListView { } doctype_fields = [{ - label: __('ID'), + label: __('ID', null, 'Label of name column in report'), fieldname: 'name', fieldtype: 'Data', reqd: 1 From c9946b2899c62352d75a3002fcbf1ff21d306166 Mon Sep 17 00:00:00 2001 From: Raffael Meyer <14891507+barredterra@users.noreply.github.com> Date: Mon, 24 Jan 2022 16:07:48 +0100 Subject: [PATCH 2/3] style: add comment --- frappe/desk/reportview.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/frappe/desk/reportview.py b/frappe/desk/reportview.py index fa96596841..49128bfc93 100644 --- a/frappe/desk/reportview.py +++ b/frappe/desk/reportview.py @@ -379,6 +379,8 @@ def get_labels(fields, doctype): df = frappe.get_meta(parenttype).get_field(fieldname) label = _(df.label if df else fieldname.title()) if parenttype != doctype: + # If the column is from a child table, append the child doctype. + # For example, "Item Code (Sales Invoice Item)". label += " (" + _(parenttype) + ")" labels.append(label) From 07ae6855c39ca37762f6d6e12fc30fa11bdcb508 Mon Sep 17 00:00:00 2001 From: Raffael Meyer <14891507+barredterra@users.noreply.github.com> Date: Fri, 28 Jan 2022 12:01:38 +0100 Subject: [PATCH 3/3] fix: use format string Co-authored-by: Himanshu --- frappe/desk/reportview.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/desk/reportview.py b/frappe/desk/reportview.py index 49128bfc93..489e1044de 100644 --- a/frappe/desk/reportview.py +++ b/frappe/desk/reportview.py @@ -381,7 +381,7 @@ def get_labels(fields, doctype): if parenttype != doctype: # If the column is from a child table, append the child doctype. # For example, "Item Code (Sales Invoice Item)". - label += " (" + _(parenttype) + ")" + label += f" ({ _(parenttype) })" labels.append(label)