mirror of
https://github.com/frappe/erpnext.git
synced 2026-09-17 02:26:33 +00:00
fix: prevent disabled items from being used in bom (#58997)
Co-authored-by: Ajish18 <ajishiyappan1@gmail.com>
(cherry picked from commit e6f431a8d6)
This commit is contained in:
@@ -10,7 +10,7 @@ import frappe
|
|||||||
from frappe import _, bold
|
from frappe import _, bold
|
||||||
from frappe.core.doctype.version.version import get_diff
|
from frappe.core.doctype.version.version import get_diff
|
||||||
from frappe.model.mapper import get_mapped_doc
|
from frappe.model.mapper import get_mapped_doc
|
||||||
from frappe.utils import cint, cstr, flt, today
|
from frappe.utils import cint, cstr, flt, get_link_to_form, today
|
||||||
from frappe.website.website_generator import WebsiteGenerator
|
from frappe.website.website_generator import WebsiteGenerator
|
||||||
|
|
||||||
import erpnext
|
import erpnext
|
||||||
@@ -653,6 +653,19 @@ class BOM(WebsiteGenerator):
|
|||||||
frappe.throw(_("Quantity required for Item {0} in row {1}").format(m.item_code, m.idx))
|
frappe.throw(_("Quantity required for Item {0} in row {1}").format(m.item_code, m.idx))
|
||||||
check_list.append(m)
|
check_list.append(m)
|
||||||
|
|
||||||
|
bom_items = {self.item}
|
||||||
|
bom_items.update(d.item_code for d in self.get("items"))
|
||||||
|
bom_items.update(d.item_code for d in self.get("scrap_items"))
|
||||||
|
|
||||||
|
if disabled_items := frappe.db.get_all(
|
||||||
|
"Item", filters={"item_code": ("in", list(bom_items)), "disabled": 1}, pluck="name"
|
||||||
|
):
|
||||||
|
frappe.throw(
|
||||||
|
_("Disabled Item {0} cannot be used in BOMs.").format(
|
||||||
|
", ".join(get_link_to_form("Item", item) for item in disabled_items)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
def check_recursion(self, bom_list=None):
|
def check_recursion(self, bom_list=None):
|
||||||
"""Check whether recursion occurs in any bom"""
|
"""Check whether recursion occurs in any bom"""
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user