From 9854c84ad8717dbe93ffb7745191f9220c3486e5 Mon Sep 17 00:00:00 2001 From: s-aga-r Date: Fri, 28 Apr 2023 18:28:28 +0530 Subject: [PATCH] fix(ux): don't show `Create > Packing Slip` button if items are already packed (cherry picked from commit da00fc0f16bd980243548cd1560078aa1891a323) --- .../doctype/delivery_note/delivery_note.js | 29 +++++++++++++++---- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.js b/erpnext/stock/doctype/delivery_note/delivery_note.js index ae56645b7306..08419c26ed60 100644 --- a/erpnext/stock/doctype/delivery_note/delivery_note.js +++ b/erpnext/stock/doctype/delivery_note/delivery_note.js @@ -185,11 +185,30 @@ erpnext.stock.DeliveryNoteController = class DeliveryNoteController extends erpn } if(doc.docstatus==0 && !doc.__islocal) { - this.frm.add_custom_button(__('Packing Slip'), function() { - frappe.model.open_mapped_doc({ - method: "erpnext.stock.doctype.delivery_note.delivery_note.make_packing_slip", - frm: me.frm - }) }, __('Create')); + var remaining_qty = 0; + + doc.items.forEach(item => { + frappe.db.exists("Product Bundle", item.item_code).then(exists => { + if (!exists) { + remaining_qty += (item.qty - item.packed_qty); + } + }); + }); + + if (!remaining_qty) { + doc.packed_items.forEach(item => { + remaining_qty += (item.qty - item.packed_qty); + }); + } + + if (remaining_qty > 0) { + this.frm.add_custom_button(__('Packing Slip'), function() { + frappe.model.open_mapped_doc({ + method: "erpnext.stock.doctype.delivery_note.delivery_note.make_packing_slip", + frm: me.frm + }) }, __('Create') + ); + } } if (!doc.__islocal && doc.docstatus==1) {