fix: Dont overwrite default warehouse in Material Request
diff --git a/erpnext/stock/doctype/material_request/material_request.js b/erpnext/stock/doctype/material_request/material_request.js
index 3a8deb6..60f5ff3 100644
--- a/erpnext/stock/doctype/material_request/material_request.js
+++ b/erpnext/stock/doctype/material_request/material_request.js
@@ -180,9 +180,8 @@
});
},
- get_item_data: function(frm, item) {
+ get_item_data: function(frm, item, overwrite_warehouse=false) {
if (item && !item.item_code) { return; }
-
frm.call({
method: "erpnext.stock.get_item_details.get_item_details",
child: item,
@@ -203,7 +202,8 @@
plc_conversion_rate: 1,
rate: item.rate,
conversion_factor: item.conversion_factor
- }
+ },
+ overwrite_warehouse: overwrite_warehouse
},
callback: function(r) {
const d = item;
@@ -354,29 +354,29 @@
}
const item = locals[doctype][name];
- frm.events.get_item_data(frm, item);
+ frm.events.get_item_data(frm, item, false);
},
from_warehouse: function(frm, doctype, name) {
const item = locals[doctype][name];
- frm.events.get_item_data(frm, item);
+ frm.events.get_item_data(frm, item, false);
},
warehouse: function(frm, doctype, name) {
const item = locals[doctype][name];
- frm.events.get_item_data(frm, item);
+ frm.events.get_item_data(frm, item, false);
},
rate: function(frm, doctype, name) {
const item = locals[doctype][name];
- frm.events.get_item_data(frm, item);
+ frm.events.get_item_data(frm, item, false);
},
item_code: function(frm, doctype, name) {
const item = locals[doctype][name];
item.rate = 0;
set_schedule_date(frm);
- frm.events.get_item_data(frm, item);
+ frm.events.get_item_data(frm, item, true);
},
schedule_date: function(frm, cdt, cdn) {
diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py
index b1a1614..b8554c8 100644
--- a/erpnext/stock/get_item_details.py
+++ b/erpnext/stock/get_item_details.py
@@ -47,6 +47,8 @@
"""
args = process_args(args)
+ for_validate = process_string_args(for_validate)
+ overwrite_warehouse = process_string_args(overwrite_warehouse)
item = frappe.get_cached_doc("Item", args.item_code)
validate_item_details(args, item)
@@ -166,6 +168,10 @@
set_transaction_type(args)
return args
+def process_string_args(args):
+ if isinstance(args, string_types):
+ args = json.loads(args)
+ return args
@frappe.whitelist()
def get_item_code(barcode=None, serial_no=None):