From a7af1d619e885e2233b2ac317776d0f76d16ac98 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 5 Feb 2014 18:15:12 +0530 Subject: [PATCH] Fix in accounts receivable report --- .../accounts_receivable/accounts_receivable.py | 6 ++---- accounts/utils.py | 13 ++++++++----- buying/doctype/supplier/supplier.py | 2 +- selling/doctype/customer/customer.py | 2 +- stock/doctype/warehouse/warehouse.py | 2 +- 5 files changed, 13 insertions(+), 12 deletions(-) diff --git a/accounts/report/accounts_receivable/accounts_receivable.py b/accounts/report/accounts_receivable/accounts_receivable.py index eb8c91f99f..f23193274a 100644 --- a/accounts/report/accounts_receivable/accounts_receivable.py +++ b/accounts/report/accounts_receivable/accounts_receivable.py @@ -113,9 +113,8 @@ class AccountsReceivableReport(object): if not hasattr(self, "account_map"): self.account_map = dict(((r.name, r) for r in webnotes.conn.sql("""select acc.name, cust.name as customer, cust.customer_name, cust.territory - from `tabAccount` acc, `tabCustomer` cust - where acc.master_type="Customer" - and cust.name=acc.master_name""", as_dict=True))) + from `tabAccount` acc left join `tabCustomer` cust + on cust.name=acc.master_name where acc.master_type="Customer" """, as_dict=True))) return self.account_map @@ -134,7 +133,6 @@ class AccountsReceivableReport(object): self.gl_entries = webnotes.conn.sql("""select * from `tabGL Entry` where docstatus < 2 {0} order by posting_date, account""".format(conditions), values, as_dict=True) - return self.gl_entries def prepare_conditions(self): diff --git a/accounts/utils.py b/accounts/utils.py index a3557aed09..3c394c6b0f 100644 --- a/accounts/utils.py +++ b/accounts/utils.py @@ -356,20 +356,23 @@ def get_actual_expense(args): and fiscal_year='%(fiscal_year)s' and company='%(company)s' %(condition)s """ % (args))[0][0] -def rename_account_for(dt, olddn, newdn, merge): +def rename_account_for(dt, olddn, newdn, merge, company): old_account = get_account_for(dt, olddn) if old_account: new_account = None if not merge: - if old_account == olddn: - new_account = webnotes.rename_doc("Account", olddn, newdn) + if old_account == add_abbr_if_missing(olddn, company): + new_account = webnotes.rename_doc("Account", old_account, newdn) else: existing_new_account = get_account_for(dt, newdn) new_account = webnotes.rename_doc("Account", old_account, existing_new_account or newdn, merge=True if existing_new_account else False) - if new_account: - webnotes.conn.set_value("Account", new_account, "master_name", newdn) + webnotes.conn.set_value("Account", new_account or old_account, "master_name", newdn) + +def add_abbr_if_missing(dn, company): + from setup.doctype.company.company import get_name_with_abbr + return get_name_with_abbr(dn, company) def get_account_for(account_for_doctype, account_for): if account_for_doctype in ["Customer", "Supplier"]: diff --git a/buying/doctype/supplier/supplier.py b/buying/doctype/supplier/supplier.py index 2435d0cc31..cea44d6c68 100644 --- a/buying/doctype/supplier/supplier.py +++ b/buying/doctype/supplier/supplier.py @@ -161,7 +161,7 @@ class DocType(TransactionBase): def before_rename(self, olddn, newdn, merge=False): from accounts.utils import rename_account_for - rename_account_for("Supplier", olddn, newdn, merge) + rename_account_for("Supplier", olddn, newdn, merge, self.doc.company) def after_rename(self, olddn, newdn, merge=False): set_field = '' diff --git a/selling/doctype/customer/customer.py b/selling/doctype/customer/customer.py index 49296b0b1c..0b2cef824a 100644 --- a/selling/doctype/customer/customer.py +++ b/selling/doctype/customer/customer.py @@ -156,7 +156,7 @@ class DocType(TransactionBase): def before_rename(self, olddn, newdn, merge=False): from accounts.utils import rename_account_for - rename_account_for("Customer", olddn, newdn, merge) + rename_account_for("Customer", olddn, newdn, merge, self.doc.company) def after_rename(self, olddn, newdn, merge=False): set_field = '' diff --git a/stock/doctype/warehouse/warehouse.py b/stock/doctype/warehouse/warehouse.py index 0b2fa840c5..fa88a40998 100644 --- a/stock/doctype/warehouse/warehouse.py +++ b/stock/doctype/warehouse/warehouse.py @@ -102,7 +102,7 @@ class DocType: webnotes.conn.sql("delete from `tabBin` where warehouse=%s", olddn) from accounts.utils import rename_account_for - rename_account_for("Warehouse", olddn, newdn, merge) + rename_account_for("Warehouse", olddn, newdn, merge, self.doc.company) return newdn