mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-16 03:29:16 +00:00
fix: warehouse_account_map not getting reset for diff company transac (#20995)
* fix: warehouse_account_map not getting reset for diff company transaction * fix: potential key errors while fetching warehouse_account_map * fix: travis Co-authored-by: Nabin Hait <nabinhait@gmail.com>
This commit is contained in:
@@ -13,12 +13,16 @@ install_docs = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
def get_warehouse_account_map(company=None):
|
def get_warehouse_account_map(company=None):
|
||||||
if not frappe.flags.warehouse_account_map or frappe.flags.in_test:
|
company_warehouse_account_map = company and frappe.flags.setdefault('warehouse_account_map', {}).get(company)
|
||||||
|
warehouse_account_map = frappe.flags.warehouse_account_map
|
||||||
|
|
||||||
|
if not warehouse_account_map or not company_warehouse_account_map or frappe.flags.in_test:
|
||||||
warehouse_account = frappe._dict()
|
warehouse_account = frappe._dict()
|
||||||
|
|
||||||
filters = {}
|
filters = {}
|
||||||
if company:
|
if company:
|
||||||
filters['company'] = company
|
filters['company'] = company
|
||||||
|
frappe.flags.setdefault('warehouse_account_map', {}).setdefault(company, {})
|
||||||
|
|
||||||
for d in frappe.get_all('Warehouse',
|
for d in frappe.get_all('Warehouse',
|
||||||
fields = ["name", "account", "parent_warehouse", "company", "is_group"],
|
fields = ["name", "account", "parent_warehouse", "company", "is_group"],
|
||||||
@@ -30,10 +34,12 @@ def get_warehouse_account_map(company=None):
|
|||||||
if d.account:
|
if d.account:
|
||||||
d.account_currency = frappe.db.get_value('Account', d.account, 'account_currency', cache=True)
|
d.account_currency = frappe.db.get_value('Account', d.account, 'account_currency', cache=True)
|
||||||
warehouse_account.setdefault(d.name, d)
|
warehouse_account.setdefault(d.name, d)
|
||||||
|
if company:
|
||||||
frappe.flags.warehouse_account_map = warehouse_account
|
frappe.flags.warehouse_account_map[company] = warehouse_account
|
||||||
|
else:
|
||||||
return frappe.flags.warehouse_account_map
|
frappe.flags.warehouse_account_map = warehouse_account
|
||||||
|
|
||||||
|
return frappe.flags.warehouse_account_map.get(company) or frappe.flags.warehouse_account_map
|
||||||
|
|
||||||
def get_warehouse_account(warehouse, warehouse_account=None):
|
def get_warehouse_account(warehouse, warehouse_account=None):
|
||||||
account = warehouse.account
|
account = warehouse.account
|
||||||
|
|||||||
Reference in New Issue
Block a user