diff --git a/erpnext/stock/dashboard/item_dashboard.js b/erpnext/stock/dashboard/item_dashboard.js index 68633d63afeebfdeae9862b28c2291d4b357aab8..d52fd73e07bbde26527c8080bcda283d1b6865c8 100644 --- a/erpnext/stock/dashboard/item_dashboard.js +++ b/erpnext/stock/dashboard/item_dashboard.js @@ -44,18 +44,18 @@ erpnext.stock.ItemDashboard = class ItemDashboard { let actual_qty = unescape(element.attr('data-actual_qty')); let disable_quick_entry = Number(unescape(element.attr('data-disable_quick_entry'))); let entry_type = action === "Move" ? "Material Transfer" : "Material Receipt"; + let stock_uom = unescape(element.attr("data-stock-uom")); if (disable_quick_entry) { open_stock_entry(item, warehouse, entry_type); } else { if (action === "Add") { - let rate = unescape($(this).attr('data-rate')); - erpnext.stock.move_item(item, null, warehouse, actual_qty, rate, function () { + let rate = unescape($(this).attr("data-rate")); + erpnext.stock.move_item(item, null, warehouse, actual_qty, rate, stock_uom, function () { me.refresh(); }); - } - else { - erpnext.stock.move_item(item, warehouse, null, actual_qty, null, function () { + } else { + erpnext.stock.move_item(item, warehouse, null, actual_qty, null, stock_uom, function () { me.refresh(); }); } @@ -204,7 +204,7 @@ erpnext.stock.ItemDashboard = class ItemDashboard { } } -erpnext.stock.move_item = function (item, source, target, actual_qty, rate, callback) { +erpnext.stock.move_item = function (item, source, target, actual_qty, rate, stock_uom, callback) { var dialog = new frappe.ui.Dialog({ title: target ? __('Add Item') : __('Move Item'), fields: [{ @@ -289,11 +289,13 @@ erpnext.stock.move_item = function (item, source, target, actual_qty, rate, call doc.from_warehouse = dialog.get_value('source'); doc.to_warehouse = dialog.get_value('target'); doc.stock_entry_type = doc.from_warehouse ? "Material Transfer" : "Material Receipt"; - let row = frappe.model.add_child(doc, 'items'); - row.item_code = dialog.get_value('item_code'); - row.s_warehouse = dialog.get_value('source'); - row.t_warehouse = dialog.get_value('target'); - row.qty = dialog.get_value('qty'); + let row = frappe.model.add_child(doc, "items"); + row.item_code = dialog.get_value("item_code"); + row.s_warehouse = dialog.get_value("source"); + row.stock_uom = stock_uom; + row.uom = stock_uom; + row.t_warehouse = dialog.get_value("target"); + row.qty = dialog.get_value("qty"); row.conversion_factor = 1; row.transfer_qty = dialog.get_value('qty'); row.basic_rate = dialog.get_value('rate'); diff --git a/erpnext/stock/dashboard/item_dashboard.py b/erpnext/stock/dashboard/item_dashboard.py index e6382688669b3e78b3647e9bfbfc99d0a2ffb325..3d7c21639e0f4ea3b1658194c686e881dffaabb8 100644 --- a/erpnext/stock/dashboard/item_dashboard.py +++ b/erpnext/stock/dashboard/item_dashboard.py @@ -71,6 +71,7 @@ def get_data( item.update( { "item_name": frappe.get_cached_value("Item", item.item_code, "item_name"), + "stock_uom": frappe.get_cached_value("Item", item.item_code, "stock_uom"), "disable_quick_entry": frappe.get_cached_value("Item", item.item_code, "has_batch_no") or frappe.get_cached_value("Item", item.item_code, "has_serial_no"), "projected_qty": flt(item.projected_qty, precision), diff --git a/erpnext/stock/dashboard/item_dashboard_list.html b/erpnext/stock/dashboard/item_dashboard_list.html index 3b2619133bf47e3f7f2d5d364aeffd052f543560..ae90ff80686a36ea0f682a41c49d833f58c434aa 100644 --- a/erpnext/stock/dashboard/item_dashboard_list.html +++ b/erpnext/stock/dashboard/item_dashboard_list.html @@ -49,12 +49,14 @@ data-disable_quick_entry="{{ d.disable_quick_entry }}" data-warehouse="{{ d.warehouse }}" data-actual_qty="{{ d.actual_qty }}" + data-stock-uom="{{ d.stock_uom }}" data-item="{{ escape(d.item_code) }}">{{ __("Move") }} {% endif %}