mirror of
https://github.com/frappe/erpnext.git
synced 2026-09-19 11:27:55 +00:00
Merge remote-tracking branch 'origin/develop' into feat/so-po-advance-payment-status
This commit is contained in:
@@ -214,7 +214,7 @@ frappe.ui.form.on("Purchase Order Item", {
|
||||
}
|
||||
},
|
||||
|
||||
fg_item_qty: async function(frm, cdt, cdn) {
|
||||
qty: async function (frm, cdt, cdn) {
|
||||
if (frm.doc.is_subcontracted && !frm.doc.is_old_subcontracting_flow) {
|
||||
var row = locals[cdt][cdn];
|
||||
|
||||
@@ -222,7 +222,7 @@ frappe.ui.form.on("Purchase Order Item", {
|
||||
var result = await frm.events.get_subcontracting_boms_for_finished_goods(row.fg_item)
|
||||
|
||||
if (result.message && row.item_code == result.message.service_item && row.uom == result.message.service_item_uom) {
|
||||
frappe.model.set_value(cdt, cdn, "qty", flt(row.fg_item_qty) * flt(result.message.conversion_factor));
|
||||
frappe.model.set_value(cdt, cdn, "fg_item_qty", flt(row.qty) / flt(result.message.conversion_factor));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -119,6 +119,15 @@ class RequestforQuotation(BuyingController):
|
||||
supplier.quote_status = "Pending"
|
||||
self.send_to_supplier()
|
||||
|
||||
def before_print(self, settings=None):
|
||||
"""Use the first suppliers data to render the print preview."""
|
||||
if self.vendor or not self.suppliers:
|
||||
# If a specific supplier is already set, via Tools > Download PDF,
|
||||
# we don't want to override it.
|
||||
return
|
||||
|
||||
self.update_supplier_part_no(self.suppliers[0].supplier)
|
||||
|
||||
def on_cancel(self):
|
||||
self.db_set("status", "Cancelled")
|
||||
|
||||
|
||||
@@ -114,7 +114,7 @@ def prepare_data(data, filters):
|
||||
if filters.get("group_by_po"):
|
||||
po_name = row["purchase_order"]
|
||||
|
||||
if not po_name in purchase_order_map:
|
||||
if po_name not in purchase_order_map:
|
||||
# create an entry
|
||||
row_copy = copy.deepcopy(row)
|
||||
purchase_order_map[po_name] = row_copy
|
||||
|
||||
@@ -110,7 +110,7 @@ def prepare_data(data, filters):
|
||||
|
||||
for row in data:
|
||||
# item wise map for charts
|
||||
if not row["item_code"] in item_qty_map:
|
||||
if row["item_code"] not in item_qty_map:
|
||||
item_qty_map[row["item_code"]] = {
|
||||
"qty": flt(row["stock_qty"], precision),
|
||||
"stock_qty": flt(row["stock_qty"], precision),
|
||||
@@ -127,7 +127,7 @@ def prepare_data(data, filters):
|
||||
|
||||
if filters.get("group_by_mr"):
|
||||
# consolidated material request map for group by filter
|
||||
if not row["material_request"] in material_request_map:
|
||||
if row["material_request"] not in material_request_map:
|
||||
# create an entry with mr as key
|
||||
row_copy = copy.deepcopy(row)
|
||||
material_request_map[row["material_request"]] = row_copy
|
||||
|
||||
@@ -126,7 +126,7 @@ def prepare_data(supplier_quotation_data, filters):
|
||||
# map for chart preparation of the form {'supplier1': {'qty': 'price'}}
|
||||
supplier = data.get("supplier_name")
|
||||
if filters.get("item_code"):
|
||||
if not supplier in supplier_qty_price_map:
|
||||
if supplier not in supplier_qty_price_map:
|
||||
supplier_qty_price_map[supplier] = {}
|
||||
supplier_qty_price_map[supplier][row["qty"]] = row["price"]
|
||||
|
||||
@@ -169,7 +169,7 @@ def prepare_chart_data(suppliers, qty_list, supplier_qty_price_map):
|
||||
for supplier in suppliers:
|
||||
entry = supplier_qty_price_map[supplier]
|
||||
for qty in qty_list:
|
||||
if not qty in data_points_map:
|
||||
if qty not in data_points_map:
|
||||
data_points_map[qty] = []
|
||||
if qty in entry:
|
||||
data_points_map[qty].append(entry[qty])
|
||||
|
||||
Reference in New Issue
Block a user