From 440a3b75be6a8ee7c7baae4b3e2e484203dedcea Mon Sep 17 00:00:00 2001 From: Saqib Date: Tue, 31 Dec 2019 17:20:04 +0530 Subject: [PATCH] fix: don't show transfer button if already items are supplied (#20154) --- erpnext/buying/doctype/purchase_order/purchase_order.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.js b/erpnext/buying/doctype/purchase_order/purchase_order.js index 7b5e5c5cca0..7b1f1354d79 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order.js +++ b/erpnext/buying/doctype/purchase_order/purchase_order.js @@ -134,7 +134,7 @@ erpnext.buying.PurchaseOrderController = erpnext.buying.BuyingController.extend( if (doc.status != "On Hold") { if(flt(doc.per_received, 2) < 100 && allow_receipt) { cur_frm.add_custom_button(__('Receipt'), this.make_purchase_receipt, __('Create')); - if(doc.is_subcontracted==="Yes") { + if(doc.is_subcontracted==="Yes" && me.has_unsupplied_items()) { cur_frm.add_custom_button(__('Material to Supplier'), function() { me.make_stock_entry(); }, __("Transfer")); } @@ -191,6 +191,10 @@ erpnext.buying.PurchaseOrderController = erpnext.buying.BuyingController.extend( set_schedule_date(this.frm); }, + has_unsupplied_items: function() { + return this.frm.doc['supplied_items'].some(item => item.required_qty != item.supplied_qty) + }, + make_stock_entry: function() { var items = $.map(cur_frm.doc.items, function(d) { return d.bom ? d.item_code : false; }); var me = this; @@ -267,7 +271,7 @@ erpnext.buying.PurchaseOrderController = erpnext.buying.BuyingController.extend( if (me.frm.doc['supplied_items']) { me.frm.doc['supplied_items'].forEach((item, index) => { - if (item.rm_item_code && item.main_item_code) { + if (item.rm_item_code && item.main_item_code && item.required_qty - item.supplied_qty != 0) { me.raw_material_data.push ({ 'name':item.name, 'item_code': item.main_item_code,