Merge pull request #21903 from barredterra/print-report-filters

feat(Report Builder): print all filters
This commit is contained in:
Ankush Menat 2023-08-08 11:08:32 +05:30 committed by GitHub
commit 76c69249ff
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 90 additions and 9 deletions

View file

@ -1345,15 +1345,81 @@ frappe.views.ReportView = class ReportView extends frappe.views.ListView {
get_filters_html_for_print() {
const filters = this.filter_area.get();
return filters
.map((f) => {
const [doctype, fieldname, condition, value] = f;
if (condition !== "=") return "";
const label = frappe.meta.get_label(doctype, fieldname);
const docfield = frappe.meta.get_docfield(doctype, fieldname);
return `<h6>${__(label)}: ${frappe.format(value, docfield)}</h6>`;
})
.join("");
return (
`<h5>${__("Filters:")}</h5>` +
filters
.map((f) => {
const [doctype, fieldname, condition, value] = f;
const docfield = frappe.meta.get_docfield(doctype, fieldname);
const label = `<b>${__(frappe.meta.get_label(doctype, fieldname))}</b>`;
switch (condition) {
case "=":
return __("{0} is equal to {1}", [
label,
frappe.format(value, docfield),
]);
case "!=":
return __("{0} is not equal to {1}", [
__(label),
frappe.format(value, docfield),
]);
case ">":
return __("{0} is greater than {1}", [
__(label),
frappe.format(value, docfield),
]);
case "<":
return __("{0} is less than {1}", [
__(label),
frappe.format(value, docfield),
]);
case ">=":
return __("{0} is greater than or equal to {1}", [
__(label),
frappe.format(value, docfield),
]);
case "<=":
return __("{0} is less than or equal to {1}", [
__(label),
frappe.format(value, docfield),
]);
case "Between":
return __("{0} is between {1} and {2}", [
__(label),
frappe.format(value[0], docfield),
frappe.format(value[1], docfield),
]);
case "Timespan":
return __("{0} is within {1}", [__(label), __(value)]);
case "in":
return __("{0} is one of {1}", [
__(label),
frappe.utils.comma_or(
value.map((v) => frappe.format(v, docfield))
),
]);
case "not in":
return __("{0} is not one of {1}", [
__(label),
frappe.utils.comma_or(
value.map((v) => frappe.format(v, docfield))
),
]);
case "like":
return __("{0} is like {1}", [__(label), value]);
case "not like":
return __("{0} is not like {1}", [__(label), value]);
case "is":
return value === "set"
? __("{0} is set", [__(label)])
: __("{0} is not set", [__(label)]);
default:
return null;
}
})
.filter(Boolean)
.join("<br>")
);
}
get_columns_totals(data) {

View file

@ -4856,3 +4856,18 @@ Minimal,Minimal,
This value is fetched from {0}'s {1} field,Dieser Wert ergibt sich aus dem Feld {1} von {0},
This form is not editable due to a Workflow.,Dieses Formular kann in diesem Workflow-Status nicht bearbeitet werden.,
{0} role does not have permission on any doctype,Die Rolle {0} hat auf keinen DocType Zugriff,
Filters:,Filter:,
{0} is equal to {1},{0} ist gleich {1},
{0} is not equal to {1},{0} ist ungleich {1},
{0} is greater than {1},{0} ist größer als {1},
{0} is less than {1},{0} ist kleiner als {1},
{0} is greater than or equal to {1},{0} ist größer oder gleich {1},
{0} is less than or equal to {1},{0} ist kleiner oder gleich {1},
{0} is between {1} and {2},{0} ist zwischen {1} und {2},
{0} is within {1},{0} ist innerhalb von {1},
{0} is one of {1},{0} ist eine von {1},
{0} is not one of {1},{0} ist keine von {1},
{0} is like {1},{0} ist wie {1},
{0} is not like {1},{0} ist nicht wie {1},
{0} is set,{0} ist eingetragen,
{0} is not set,{0} ist nicht eingetragen,

1 A4 A4
4856 This value is fetched from {0}'s {1} field Dieser Wert ergibt sich aus dem Feld {1} von {0}
4857 This form is not editable due to a Workflow. Dieses Formular kann in diesem Workflow-Status nicht bearbeitet werden.
4858 {0} role does not have permission on any doctype Die Rolle {0} hat auf keinen DocType Zugriff
4859 Filters: Filter:
4860 {0} is equal to {1} {0} ist gleich {1}
4861 {0} is not equal to {1} {0} ist ungleich {1}
4862 {0} is greater than {1} {0} ist größer als {1}
4863 {0} is less than {1} {0} ist kleiner als {1}
4864 {0} is greater than or equal to {1} {0} ist größer oder gleich {1}
4865 {0} is less than or equal to {1} {0} ist kleiner oder gleich {1}
4866 {0} is between {1} and {2} {0} ist zwischen {1} und {2}
4867 {0} is within {1} {0} ist innerhalb von {1}
4868 {0} is one of {1} {0} ist eine von {1}
4869 {0} is not one of {1} {0} ist keine von {1}
4870 {0} is like {1} {0} ist wie {1}
4871 {0} is not like {1} {0} ist nicht wie {1}
4872 {0} is set {0} ist eingetragen
4873 {0} is not set {0} ist nicht eingetragen