From a963618b08f90408bdcaeaa033cb7cbe1f481232 Mon Sep 17 00:00:00 2001 From: Ernesto Ruiz Date: Tue, 25 Oct 2022 21:54:55 -0600 Subject: [PATCH 01/12] fix: add translate function to name of chart labels in deferred_revenue_and_expense.py --- .../deferred_revenue_and_expense.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/erpnext/accounts/report/deferred_revenue_and_expense/deferred_revenue_and_expense.py b/erpnext/accounts/report/deferred_revenue_and_expense/deferred_revenue_and_expense.py index 1eb257ac85..6cc86c3efe 100644 --- a/erpnext/accounts/report/deferred_revenue_and_expense/deferred_revenue_and_expense.py +++ b/erpnext/accounts/report/deferred_revenue_and_expense/deferred_revenue_and_expense.py @@ -396,7 +396,7 @@ class Deferred_Revenue_and_Expense_Report(object): "labels": [period.label for period in self.period_list], "datasets": [ { - "name": "Actual Posting", + "name": _("Actual Posting"), "chartType": "bar", "values": [x.actual for x in self.period_total], } @@ -410,7 +410,7 @@ class Deferred_Revenue_and_Expense_Report(object): if self.filters.with_upcoming_postings: chart["data"]["datasets"].append( - {"name": "Expected", "chartType": "line", "values": [x.total for x in self.period_total]} + {"name": _("Expected"), "chartType": "line", "values": [x.total for x in self.period_total]} ) return chart From a671652ab2ebb5d25aa45d979d1c3c8b3861efcf Mon Sep 17 00:00:00 2001 From: Ernesto Ruiz Date: Tue, 25 Oct 2022 22:00:46 -0600 Subject: [PATCH 02/12] fix: refactor code for better translatable string --- .../accounts/report/accounts_receivable/accounts_receivable.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py index 8557c03bd5..7fe23de612 100755 --- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py +++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py @@ -1009,7 +1009,7 @@ class ReceivablePayableReport(object): "{range3}-{range4}".format( range3=cint(self.filters["range3"]) + 1, range4=self.filters["range4"] ), - "{range4}-{above}".format(range4=cint(self.filters["range4"]) + 1, above=_("Above")), + _("{range4}-Above").format(range4=cint(self.filters["range4"]) + 1), ] ): self.add_column(label=label, fieldname="range" + str(i + 1)) From 71a0ae2e596538de3cac07839d4e03cf24f7e1bd Mon Sep 17 00:00:00 2001 From: Ernesto Ruiz Date: Tue, 25 Oct 2022 22:05:25 -0600 Subject: [PATCH 03/12] fix: refactor code for better translatable string in stock_ageing.py --- erpnext/stock/report/stock_ageing/stock_ageing.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/erpnext/stock/report/stock_ageing/stock_ageing.py b/erpnext/stock/report/stock_ageing/stock_ageing.py index 7c430e491a..944433103f 100644 --- a/erpnext/stock/report/stock_ageing/stock_ageing.py +++ b/erpnext/stock/report/stock_ageing/stock_ageing.py @@ -198,11 +198,11 @@ def setup_ageing_columns(filters: Filters, range_columns: List): f"0 - {filters['range1']}", f"{cint(filters['range1']) + 1} - {cint(filters['range2'])}", f"{cint(filters['range2']) + 1} - {cint(filters['range3'])}", - f"{cint(filters['range3']) + 1} - {_('Above')}", + _("{0} - Above").format(cint(filters['range3']) + 1), ] for i, label in enumerate(ranges): fieldname = "range" + str(i + 1) - add_column(range_columns, label=f"Age ({label})", fieldname=fieldname) + add_column(range_columns, label=_("Age ({0})").format(label), fieldname=fieldname) def add_column( From c1e608d9ef84b4b9e765b84482b666554c98220c Mon Sep 17 00:00:00 2001 From: Ernesto Ruiz Date: Tue, 25 Oct 2022 22:09:02 -0600 Subject: [PATCH 04/12] fix: add translate function to period in stock_analytics.py --- erpnext/stock/report/stock_analytics/stock_analytics.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/erpnext/stock/report/stock_analytics/stock_analytics.py b/erpnext/stock/report/stock_analytics/stock_analytics.py index 89ca9d9126..175c479dda 100644 --- a/erpnext/stock/report/stock_analytics/stock_analytics.py +++ b/erpnext/stock/report/stock_analytics/stock_analytics.py @@ -114,11 +114,11 @@ def get_period(posting_date, filters): months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] if filters.range == "Weekly": - period = "Week " + str(posting_date.isocalendar()[1]) + " " + str(posting_date.year) + period = _("Week {0} {1}").format(str(posting_date.isocalendar()[1]), str(posting_date.year)) elif filters.range == "Monthly": - period = str(months[posting_date.month - 1]) + " " + str(posting_date.year) + period = _(str(months[posting_date.month - 1])) + " " + str(posting_date.year) elif filters.range == "Quarterly": - period = "Quarter " + str(((posting_date.month - 1) // 3) + 1) + " " + str(posting_date.year) + period = _("Quarter {0} {1}").format(str(((posting_date.month - 1) // 3) + 1), str(posting_date.year)) else: year = get_fiscal_year(posting_date, company=filters.company) period = str(year[2]) From 083a78135c04af032ca5665e6b451876a4b758ed Mon Sep 17 00:00:00 2001 From: Ernesto Ruiz Date: Tue, 25 Oct 2022 22:17:06 -0600 Subject: [PATCH 05/12] fix: add translate function to period in sales_analytics.py --- erpnext/selling/report/sales_analytics/sales_analytics.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/erpnext/selling/report/sales_analytics/sales_analytics.py b/erpnext/selling/report/sales_analytics/sales_analytics.py index 186352848d..2c34c23dab 100644 --- a/erpnext/selling/report/sales_analytics/sales_analytics.py +++ b/erpnext/selling/report/sales_analytics/sales_analytics.py @@ -313,11 +313,11 @@ class Analytics(object): def get_period(self, posting_date): if self.filters.range == "Weekly": - period = "Week " + str(posting_date.isocalendar()[1]) + " " + str(posting_date.year) + period = _("Week {0} {1}").format(str(posting_date.isocalendar()[1]), str(posting_date.year)) elif self.filters.range == "Monthly": - period = str(self.months[posting_date.month - 1]) + " " + str(posting_date.year) + period = _(str(self.months[posting_date.month - 1])) + " " + str(posting_date.year) elif self.filters.range == "Quarterly": - period = "Quarter " + str(((posting_date.month - 1) // 3) + 1) + " " + str(posting_date.year) + period = _("Quarter {0} {1}").format(str(((posting_date.month - 1) // 3) + 1), str(posting_date.year)) else: year = get_fiscal_year(posting_date, company=self.filters.company) period = str(year[0]) From 48ed6381b374032a3d46f4afb3f3252ba83c2580 Mon Sep 17 00:00:00 2001 From: Ernesto Ruiz Date: Tue, 25 Oct 2022 22:18:47 -0600 Subject: [PATCH 06/12] fix: add translate function to name of chart labels in budget_variance_report.py --- .../report/budget_variance_report/budget_variance_report.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/erpnext/accounts/report/budget_variance_report/budget_variance_report.py b/erpnext/accounts/report/budget_variance_report/budget_variance_report.py index 7b774ba740..96cfab9f11 100644 --- a/erpnext/accounts/report/budget_variance_report/budget_variance_report.py +++ b/erpnext/accounts/report/budget_variance_report/budget_variance_report.py @@ -383,8 +383,8 @@ def get_chart_data(filters, columns, data): "data": { "labels": labels, "datasets": [ - {"name": "Budget", "chartType": "bar", "values": budget_values}, - {"name": "Actual Expense", "chartType": "bar", "values": actual_values}, + {"name": _("Budget"), "chartType": "bar", "values": budget_values}, + {"name": _("Actual Expense"), "chartType": "bar", "values": actual_values}, ], }, "type": "bar", From 2012bdf4bd8d1cead09de99e5b9a68aa8a9990ef Mon Sep 17 00:00:00 2001 From: Ernesto Ruiz Date: Tue, 25 Oct 2022 22:24:33 -0600 Subject: [PATCH 07/12] fix: add translate function to string on budget_variance_report.js to match the variance word translated --- .../report/budget_variance_report/budget_variance_report.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/accounts/report/budget_variance_report/budget_variance_report.js b/erpnext/accounts/report/budget_variance_report/budget_variance_report.js index 718b6e2fcb..5955c2e0fc 100644 --- a/erpnext/accounts/report/budget_variance_report/budget_variance_report.js +++ b/erpnext/accounts/report/budget_variance_report/budget_variance_report.js @@ -75,7 +75,7 @@ frappe.query_reports["Budget Variance Report"] = { "formatter": function (value, row, column, data, default_formatter) { value = default_formatter(value, row, column, data); - if (column.fieldname.includes('variance')) { + if (column.fieldname.includes(__("variance"))) { if (data[column.fieldname] < 0) { value = "" + value + ""; From b7b53b58574de501410a80fab02073291d9a5fc4 Mon Sep 17 00:00:00 2001 From: Ernesto Ruiz Date: Tue, 25 Oct 2022 22:34:21 -0600 Subject: [PATCH 08/12] fix: correct linters --- erpnext/selling/report/sales_analytics/sales_analytics.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/erpnext/selling/report/sales_analytics/sales_analytics.py b/erpnext/selling/report/sales_analytics/sales_analytics.py index 2c34c23dab..605d2fac44 100644 --- a/erpnext/selling/report/sales_analytics/sales_analytics.py +++ b/erpnext/selling/report/sales_analytics/sales_analytics.py @@ -317,7 +317,9 @@ class Analytics(object): elif self.filters.range == "Monthly": period = _(str(self.months[posting_date.month - 1])) + " " + str(posting_date.year) elif self.filters.range == "Quarterly": - period = _("Quarter {0} {1}").format(str(((posting_date.month - 1) // 3) + 1), str(posting_date.year)) + period = _("Quarter {0} {1}").format( + str(((posting_date.month - 1) // 3) + 1), str(posting_date.year) + ) else: year = get_fiscal_year(posting_date, company=self.filters.company) period = str(year[0]) From 9c529c61bb90ac7827e8448b90e33b812a9f7093 Mon Sep 17 00:00:00 2001 From: Ernesto Ruiz Date: Tue, 25 Oct 2022 22:35:37 -0600 Subject: [PATCH 09/12] fix: correct linters --- erpnext/stock/report/stock_analytics/stock_analytics.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/erpnext/stock/report/stock_analytics/stock_analytics.py b/erpnext/stock/report/stock_analytics/stock_analytics.py index 175c479dda..27b94ab3f9 100644 --- a/erpnext/stock/report/stock_analytics/stock_analytics.py +++ b/erpnext/stock/report/stock_analytics/stock_analytics.py @@ -118,7 +118,9 @@ def get_period(posting_date, filters): elif filters.range == "Monthly": period = _(str(months[posting_date.month - 1])) + " " + str(posting_date.year) elif filters.range == "Quarterly": - period = _("Quarter {0} {1}").format(str(((posting_date.month - 1) // 3) + 1), str(posting_date.year)) + period = _("Quarter {0} {1}").format( + str(((posting_date.month - 1) // 3) + 1), str(posting_date.year) + ) else: year = get_fiscal_year(posting_date, company=filters.company) period = str(year[2]) From 4c7fa9482d81ec0794c69570371e4b923d188f5f Mon Sep 17 00:00:00 2001 From: Ernesto Ruiz Date: Tue, 25 Oct 2022 22:39:05 -0600 Subject: [PATCH 10/12] fix: correct linters --- erpnext/stock/report/stock_ageing/stock_ageing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/stock/report/stock_ageing/stock_ageing.py b/erpnext/stock/report/stock_ageing/stock_ageing.py index 944433103f..2fa97ae354 100644 --- a/erpnext/stock/report/stock_ageing/stock_ageing.py +++ b/erpnext/stock/report/stock_ageing/stock_ageing.py @@ -198,7 +198,7 @@ def setup_ageing_columns(filters: Filters, range_columns: List): f"0 - {filters['range1']}", f"{cint(filters['range1']) + 1} - {cint(filters['range2'])}", f"{cint(filters['range2']) + 1} - {cint(filters['range3'])}", - _("{0} - Above").format(cint(filters['range3']) + 1), + _("{0} - Above").format(cint(filters["range3"]) + 1), ] for i, label in enumerate(ranges): fieldname = "range" + str(i + 1) From f322c608cf7acbb8c5928f151876a2e5ddc13595 Mon Sep 17 00:00:00 2001 From: anandbaburajan Date: Mon, 31 Oct 2022 12:41:37 +0530 Subject: [PATCH 11/12] fix: for asset's purchase_date, if bill_date is set, use that instead of posting_date --- erpnext/assets/doctype/asset/asset.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/erpnext/assets/doctype/asset/asset.js b/erpnext/assets/doctype/asset/asset.js index 5512d4159d..7e54219740 100644 --- a/erpnext/assets/doctype/asset/asset.js +++ b/erpnext/assets/doctype/asset/asset.js @@ -432,7 +432,11 @@ frappe.ui.form.on('Asset', { set_values_from_purchase_doc: function(frm, doctype, purchase_doc) { frm.set_value('company', purchase_doc.company); - frm.set_value('purchase_date', purchase_doc.posting_date); + if (purchase_doc.bill_date) { + frm.set_value('purchase_date', purchase_doc.bill_date); + } else { + frm.set_value('purchase_date', purchase_doc.posting_date); + } const item = purchase_doc.items.find(item => item.item_code === frm.doc.item_code); if (!item) { doctype_field = frappe.scrub(doctype) From b0fc568c80ec5bead83fc0bc61be78e95ba24813 Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Thu, 3 Nov 2022 11:24:58 +0530 Subject: [PATCH 12/12] fix: not able to select customer / supplier --- erpnext/buying/doctype/supplier/test_supplier.py | 4 ++++ erpnext/controllers/queries.py | 4 ++-- erpnext/selling/doctype/customer/test_customer.py | 4 ++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/erpnext/buying/doctype/supplier/test_supplier.py b/erpnext/buying/doctype/supplier/test_supplier.py index e2dbf21be2..b9fc344647 100644 --- a/erpnext/buying/doctype/supplier/test_supplier.py +++ b/erpnext/buying/doctype/supplier/test_supplier.py @@ -156,6 +156,8 @@ class TestSupplier(FrappeTestCase): def test_serach_fields_for_supplier(self): from erpnext.controllers.queries import supplier_query + frappe.db.set_value("Buying Settings", None, "supp_master_name", "Naming Series") + supplier_name = create_supplier(supplier_name="Test Supplier 1").name make_property_setter( @@ -187,6 +189,8 @@ class TestSupplier(FrappeTestCase): self.assertEqual(data[0].supplier_type, "Company") self.assertTrue("supplier_type" in data[0]) + frappe.db.set_value("Buying Settings", None, "supp_master_name", "Supplier Name") + def create_supplier(**args): args = frappe._dict(args) diff --git a/erpnext/controllers/queries.py b/erpnext/controllers/queries.py index 3bdc017068..b0cf724166 100644 --- a/erpnext/controllers/queries.py +++ b/erpnext/controllers/queries.py @@ -85,7 +85,7 @@ def customer_query(doctype, txt, searchfield, start, page_len, filters, as_dict= fields = ["name"] if cust_master_name != "Customer Name": - fields = ["customer_name"] + fields.append("customer_name") fields = get_fields(doctype, fields) searchfields = frappe.get_meta(doctype).get_search_fields() @@ -123,7 +123,7 @@ def supplier_query(doctype, txt, searchfield, start, page_len, filters, as_dict= fields = ["name"] if supp_master_name != "Supplier Name": - fields = ["supplier_name"] + fields.append("supplier_name") fields = get_fields(doctype, fields) diff --git a/erpnext/selling/doctype/customer/test_customer.py b/erpnext/selling/doctype/customer/test_customer.py index 691adccd4d..a621c737ed 100644 --- a/erpnext/selling/doctype/customer/test_customer.py +++ b/erpnext/selling/doctype/customer/test_customer.py @@ -345,6 +345,8 @@ class TestCustomer(FrappeTestCase): def test_serach_fields_for_customer(self): from erpnext.controllers.queries import customer_query + frappe.db.set_value("Selling Settings", None, "cust_master_name", "Naming Series") + make_property_setter( "Customer", None, "search_fields", "customer_group", "Data", for_doctype="Doctype" ) @@ -369,6 +371,8 @@ class TestCustomer(FrappeTestCase): self.assertEqual(data[0].territory, "_Test Territory") self.assertTrue("territory" in data[0]) + frappe.db.set_value("Selling Settings", None, "cust_master_name", "Customer Name") + def get_customer_dict(customer_name): return {