Merge pull request #45718 from frappe/mergify/bp/version-15-hotfix/pr-45710

fix: show only items with inspection enabled on create QI dialog (backport #45710)
This commit is contained in:
rohitwaghchaure
2025-02-05 13:05:16 +05:30
committed by GitHub
2 changed files with 51 additions and 20 deletions

View File

@@ -1564,6 +1564,27 @@ def repost_required_for_queue(doc: StockController) -> bool:
return False return False
def check_item_quality_inspection(doctype, items):
if isinstance(items, str):
items = json.loads(items)
inspection_fieldname_map = {
"Purchase Receipt": "inspection_required_before_purchase",
"Purchase Invoice": "inspection_required_before_purchase",
"Subcontracting Receipt": "inspection_required_before_purchase",
"Sales Invoice": "inspection_required_before_delivery",
"Delivery Note": "inspection_required_before_delivery",
}
items_to_remove = []
for item in items:
if not frappe.db.get_value("Item", item.get("item_code"), inspection_fieldname_map.get(doctype)):
items_to_remove.append(item)
items = [item for item in items if item not in items_to_remove]
return items
@frappe.whitelist() @frappe.whitelist()
def make_quality_inspections(doctype, docname, items): def make_quality_inspections(doctype, docname, items):
if isinstance(items, str): if isinstance(items, str):

View File

@@ -2367,8 +2367,16 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe
primary_action_label: __("Create") primary_action_label: __("Create")
}); });
this.frm.doc.items.forEach(item => { frappe.call({
if (this.has_inspection_required(item)) { method: "erpnext.controllers.stock_controller.check_item_quality_inspection",
args: {
doctype: this.frm.doc.doctype,
items: this.frm.doc.items
},
freeze: true,
callback: function (r) {
r.message.forEach(item => {
if (me.has_inspection_required(item)) {
let dialog_items = dialog.fields_dict.items; let dialog_items = dialog.fields_dict.items;
dialog_items.df.data.push({ dialog_items.df.data.push({
"item_code": item.item_code, "item_code": item.item_code,
@@ -2391,6 +2399,8 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe
dialog.show(); dialog.show();
} }
} }
});
}
has_inspection_required(item) { has_inspection_required(item) {
if (this.frm.doc.doctype === "Stock Entry" && this.frm.doc.purpose == "Manufacture" ) { if (this.frm.doc.doctype === "Stock Entry" && this.frm.doc.purpose == "Manufacture" ) {