fix: dynamic condition in the pricing rule not working (backport #42467) (backport #42495) (#42496)

fix: dynamic condition in the pricing rule not working (backport #42467) (#42495)

fix: dynamic condition in the pricing rule not working (#42467)

(cherry picked from commit 0e817f42ef)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
(cherry picked from commit ac2ef21896)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
This commit is contained in:
mergify[bot]
2024-07-27 11:07:20 +05:30
committed by GitHub
parent 2de69e2b12
commit 334c4d0676
2 changed files with 5 additions and 5 deletions

View File

@@ -1796,7 +1796,7 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe
me.in_apply_price_list = true;
return this.frm.call({
method: "erpnext.stock.get_item_details.apply_price_list",
args: { args: args },
args: { args: args, doc: me.frm.doc },
callback: function(r) {
if (!r.exc) {
frappe.run_serially([

View File

@@ -1189,7 +1189,7 @@ def get_batch_qty(batch_no, warehouse, item_code):
@frappe.whitelist()
def apply_price_list(args, as_doc=False):
def apply_price_list(args, as_doc=False, doc=None):
"""Apply pricelist on a document-like dict object and return as
{'parent': dict, 'children': list}
@@ -1228,7 +1228,7 @@ def apply_price_list(args, as_doc=False):
for item in item_list:
args_copy = frappe._dict(args.copy())
args_copy.update(item)
item_details = apply_price_list_on_item(args_copy)
item_details = apply_price_list_on_item(args_copy, doc=doc)
children.append(item_details)
if as_doc:
@@ -1246,10 +1246,10 @@ def apply_price_list(args, as_doc=False):
return {"parent": parent, "children": children}
def apply_price_list_on_item(args):
def apply_price_list_on_item(args, doc=None):
item_doc = frappe.db.get_value("Item", args.item_code, ["name", "variant_of"], as_dict=1)
item_details = get_price_list_rate(args, item_doc)
item_details.update(get_pricing_rule_for_item(args))
item_details.update(get_pricing_rule_for_item(args, doc=doc))
return item_details