[fix] warehouse required bug
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js
index 538c08f..ae024c6 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.js
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.js
@@ -548,8 +548,9 @@
 
 erpnext.select_batch_and_serial_no = (frm, d = undefined) => {
 	let get_warehouse = (item) => {
-		return cstr(item.s_warehouse) ? ['Source Warehouse', cstr(item.s_warehouse)]
-			: ['Target Warehouse', cstr(item.t_warehouse)];
+		if(cstr(item.s_warehouse)) return ['Source Warehouse', cstr(item.s_warehouse)];
+		if(cstr(item.t_warehouse)) return ['Target Warehouse', cstr(item.t_warehouse)];
+		return 0;
 	}
 
 	let show_modal_with_oldest_batch = (item, item_code, total_qty, warehouse_details, has_batch) => {
@@ -587,16 +588,16 @@
 	}
 
 	if(d) {
-		if(d.has_batch_no && !d.batch_no) {
-			if(get_warehouse(d)) {
+		if(get_warehouse(d)) {
+			if(d.has_batch_no && !d.batch_no) {
 				show_modal_with_oldest_batch(d, d.item_code, d.qty, get_warehouse(d), 1);
-			} else {
-				d.item_code = '';
-				refresh_field('items');
-				frappe.throw("Please select a warehouse.");
+			} else if(d.has_serial_no && !d.serial_no) {
+				erpnext.show_batch_serial_modal(frm, d, d.item_code, d.qty, get_warehouse(d), 0);
 			}
-		} else if(d.has_serial_no && !d.serial_no) {
-			erpnext.show_batch_serial_modal(frm, d, d.item_code, d.qty, get_warehouse(d), 0);
+		} else {
+			d.item_code = '';
+			refresh_field('items');
+			frappe.throw("Please select a warehouse.");
 		}
 	}
 }
@@ -800,7 +801,7 @@
 
 	if(serial_no_link) {
 		serial_no_link.$input.on('change', function(e) {
-			if(serial_no_link.get_value()) {
+			if(serial_no_link.get_value().length > 0) {
 				let new_line = '\n';
 				if(!serial_no_list.get_value()) {
 					new_line = '';
@@ -808,7 +809,7 @@
 				serial_no_list.set_value(serial_no_list.get_value() + new_line + serial_no_link.get_value());
 				update_quantity(0);
 			}
-			serial_no_link.set_value('');
+			serial_no_link.set_input('');
 		});
 
 		serial_no_list.$input.on('input', function() {