Get item defaults from item group (#15089)
This commit is contained in:
parent
733433c91e
commit
7fb8540b70
@ -687,14 +687,6 @@ $.extend(erpnext.item, {
|
||||
}
|
||||
});
|
||||
|
||||
frappe.ui.form.on("Item", {
|
||||
setup: function(frm) {
|
||||
// #13478 : Default Accounts in Item from Item Group
|
||||
cur_frm.add_fetch('item_group', 'default_expense_account', 'expense_account');
|
||||
cur_frm.add_fetch('item_group', 'default_income_account', 'income_account');
|
||||
},
|
||||
});
|
||||
|
||||
frappe.ui.form.on("UOM Conversion Detail", {
|
||||
uom: function(frm, cdt, cdn) {
|
||||
var row = locals[cdt][cdn];
|
||||
|
@ -121,15 +121,13 @@ class Item(WebsiteGenerator):
|
||||
self.validate_fixed_asset()
|
||||
self.validate_retain_sample()
|
||||
self.validate_uom_conversion_factor()
|
||||
self.update_defaults_from_item_group()
|
||||
|
||||
if not self.get("__islocal"):
|
||||
self.old_item_group = frappe.db.get_value(self.doctype, self.name, "item_group")
|
||||
self.old_website_item_groups = frappe.db.sql_list("""select item_group
|
||||
from `tabWebsite Item Group`
|
||||
where parentfield='website_item_groups' and parenttype='Item' and parent=%s""", self.name)
|
||||
elif not self.item_defaults:
|
||||
self.append("item_defaults", {"company": frappe.defaults.get_defaults().company})
|
||||
|
||||
|
||||
def on_update(self):
|
||||
invalidate_cache_for_item(self)
|
||||
@ -662,6 +660,27 @@ class Item(WebsiteGenerator):
|
||||
template_item.flags.ignore_permissions = True
|
||||
template_item.save()
|
||||
|
||||
def update_defaults_from_item_group(self):
|
||||
"""Get defaults from Item Group"""
|
||||
if self.item_group and not self.item_defaults:
|
||||
item_defaults = frappe.db.get_values("Item Default", {"parent": self.item_group},
|
||||
['company', 'default_warehouse','default_price_list','buying_cost_center','default_supplier',
|
||||
'expense_account','selling_cost_center','income_account'], as_dict = 1)
|
||||
if item_defaults:
|
||||
for item in item_defaults:
|
||||
self.append('item_defaults', {
|
||||
'company': item.company,
|
||||
'default_warehouse': item.default_warehouse,
|
||||
'default_price_list': item.default_price_list,
|
||||
'buying_cost_center': item.buying_cost_center,
|
||||
'default_supplier': item.default_supplier,
|
||||
'expense_account': item.expense_account,
|
||||
'selling_cost_center': item.selling_cost_center,
|
||||
'income_account': item.income_account
|
||||
})
|
||||
else:
|
||||
self.append("item_defaults", {"company": frappe.defaults.get_defaults().company})
|
||||
|
||||
def update_variants(self):
|
||||
if self.flags.dont_update_variants or \
|
||||
frappe.db.get_single_value('Item Variant Settings', 'do_not_update_variants'):
|
||||
@ -946,4 +965,4 @@ def get_uom_conv_factor(uom, stock_uom):
|
||||
if uom_stock.from_uom == uom_row.from_uom:
|
||||
value = flt(uom_stock.value) * 1/flt(uom_row.value)
|
||||
|
||||
return value
|
||||
return value
|
Loading…
x
Reference in New Issue
Block a user