fix(defaults): apply discount and provisonal defaults from item group and brand if available (backport #37466) (#37704)

fix(defaults): apply discount and provisonal defaults from item group and brand if available (#37466)

(cherry picked from commit 1612d7ba3f353e23ad6ae9ba12b995106cddcb9e)

Co-authored-by: David Arnold <dgx.arnold@gmail.com>
This commit is contained in:
mergify[bot] 2023-10-26 18:14:57 +05:30 committed by GitHub
parent bfd240a19d
commit f382b1cf61
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -330,8 +330,12 @@ def get_basic_details(args, item, overwrite_warehouse=True):
), ),
"expense_account": expense_account "expense_account": expense_account
or get_default_expense_account(args, item_defaults, item_group_defaults, brand_defaults), or get_default_expense_account(args, item_defaults, item_group_defaults, brand_defaults),
"discount_account": get_default_discount_account(args, item_defaults), "discount_account": get_default_discount_account(
"provisional_expense_account": get_provisional_account(args, item_defaults), args, item_defaults, item_group_defaults, brand_defaults
),
"provisional_expense_account": get_provisional_account(
args, item_defaults, item_group_defaults, brand_defaults
),
"cost_center": get_default_cost_center( "cost_center": get_default_cost_center(
args, item_defaults, item_group_defaults, brand_defaults args, item_defaults, item_group_defaults, brand_defaults
), ),
@ -685,12 +689,22 @@ def get_default_expense_account(args, item, item_group, brand):
) )
def get_provisional_account(args, item): def get_provisional_account(args, item, item_group, brand):
return item.get("default_provisional_account") or args.default_provisional_account return (
item.get("default_provisional_account")
or item_group.get("default_provisional_account")
or brand.get("default_provisional_account")
or args.default_provisional_account
)
def get_default_discount_account(args, item): def get_default_discount_account(args, item, item_group, brand):
return item.get("default_discount_account") or args.discount_account return (
item.get("default_discount_account")
or item_group.get("default_discount_account")
or brand.get("default_discount_account")
or args.discount_account
)
def get_default_deferred_account(args, item, fieldname=None): def get_default_deferred_account(args, item, fieldname=None):