From 2d554c05d6047806cf7f082a1cf1e9ed1fcd9641 Mon Sep 17 00:00:00 2001 From: khushi8112 Date: Tue, 26 May 2026 21:55:54 +0530 Subject: [PATCH] fix: item master list view UI cleanup (cherry picked from commit 69ee7e93d88b45557afc8525f0a6a64a72425494) --- erpnext/stock/doctype/item/item.json | 12 ++++---- erpnext/stock/doctype/item/item_list.js | 37 +++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 5 deletions(-) diff --git a/erpnext/stock/doctype/item/item.json b/erpnext/stock/doctype/item/item.json index 78cfa788fc7..fdb3457e4d6 100644 --- a/erpnext/stock/doctype/item/item.json +++ b/erpnext/stock/doctype/item/item.json @@ -236,7 +236,7 @@ "description": "ERPNext will make a stock ledger entry for each transaction of this item. Keep unchecked for non-stock or service items.", "fieldname": "is_stock_item", "fieldtype": "Check", - "in_list_view": 1, + "in_list_view": 0, "label": "Maintain Stock", "oldfieldname": "is_stock_item", "oldfieldtype": "Select", @@ -279,7 +279,8 @@ "fieldname": "is_fixed_asset", "fieldtype": "Check", "label": "Is Fixed Asset", - "read_only_depends_on": "eval:doc.is_stock_item" + "read_only_depends_on": "eval:doc.is_stock_item", + "in_list_view": 1 }, { "allow_in_quick_entry": 1, @@ -592,7 +593,7 @@ "oldfieldtype": "Currency" }, { - "description": "Minimum stock level to maintain as a buffer. Used to calculate recommended reorder level: Reorder Level = Safety Stock + (Average Daily Consumption \u00d7 Lead Time).", + "description": "Minimum stock level to maintain as a buffer. Used to calculate recommended reorder level: Reorder Level = Safety Stock + (Average Daily Consumption × Lead Time).", "fieldname": "safety_stock", "fieldtype": "Float", "label": "Safety Stock", @@ -696,7 +697,8 @@ "fieldname": "is_sales_item", "fieldtype": "Check", "label": "Allow Sales", - "show_description_on_click": 1 + "show_description_on_click": 1, + "in_list_view": 1 }, { "fieldname": "column_break3", @@ -1069,7 +1071,7 @@ "image_field": "image", "links": [], "make_attachments_public": 1, - "modified": "2026-05-26 10:18:46.862670", + "modified": "2026-05-27 10:18:46.862670", "modified_by": "Administrator", "module": "Stock", "name": "Item", diff --git a/erpnext/stock/doctype/item/item_list.js b/erpnext/stock/doctype/item/item_list.js index e8d886a9c24..34e0fae07d0 100644 --- a/erpnext/stock/doctype/item/item_list.js +++ b/erpnext/stock/doctype/item/item_list.js @@ -8,9 +8,46 @@ frappe.listview_settings["Item"] = { "end_of_life", "disabled", "variant_of", + "is_stock_item", + "is_fixed_asset", + "is_sales_item", + "is_purchase_item", ], filters: [["disabled", "=", "0"]], + formatters: { + is_fixed_asset: function (value, df, doc) { + if (doc.is_fixed_asset) return __("Fixed Asset"); + if (doc.is_stock_item) return __("Stock"); + return __("Service"); + }, + + is_sales_item: function (value, df, doc) { + const sales = cint(doc.is_sales_item); + const purchases = cint(doc.is_purchase_item); + if (sales && purchases) return __("Sales & Purchase"); + if (sales) return __("Sales"); + if (purchases) return __("Purchase"); + return "—"; + }, + }, + + onload: function (listview) { + listview.columns = listview.columns.map((col) => { + if (!col.df) return col; + const renames = { + is_fixed_asset: __("Item Type"), + is_sales_item: __("Purpose"), + stock_uom: __("UOM"), + }; + if (col.df.fieldname in renames) { + return { ...col, df: { ...col.df, label: renames[col.df.fieldname] } }; + } + return col; + }); + listview.render_header(true); + }, + get_indicator: function (doc) { if (doc.disabled) { return [__("Disabled"), "grey", "disabled,=,Yes"];