[minor] Update if missing, source and target warehouse in stock entry detail table, when they are specified in the form
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js
index 7274ece..dfcf07f 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.js
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.js
@@ -230,6 +230,36 @@
if(!row.t_warehouse) row.t_warehouse = this.frm.doc.to_warehouse;
},
+ source_mandatory: ["Material Issue", "Material Transfer", "Purchase Return"],
+ target_mandatory: ["Material Receipt", "Material Transfer", "Sales Return"],
+
+ from_warehouse: function(doc) {
+ var me = this;
+ this.set_warehouse_if_missing("s_warehouse", doc.from_warehouse, function(row) {
+ return me.source_mandatory.indexOf(me.frm.doc.purpose)!==-1;
+ });
+ },
+
+ to_warehouse: function(doc) {
+ var me = this;
+ this.set_warehouse_if_missing("t_warehouse", doc.to_warehouse, function(row) {
+ return me.target_mandatory.indexOf(me.frm.doc.purpose)!==-1;
+ });
+ },
+
+ set_warehouse_if_missing: function(fieldname, value, condition) {
+ for (var i=0, l=(this.frm.doc.mtn_details || []).length; i<l; i++) {
+ var row = this.frm.doc.mtn_details[i];
+ if (!row[fieldname]) {
+ if (condition && !condition(row)) {
+ continue;
+ }
+
+ frappe.model.set_value(row.doctype, row.name, fieldname, value, "Link");
+ }
+ }
+ },
+
mtn_details_on_form_rendered: function(doc, grid_row) {
erpnext.setup_serial_no(grid_row)
},