refactor(minor): use set_onload to get unpacked items details

(cherry picked from commit b0eb9ea7bd)
This commit is contained in:
s-aga-r
2023-04-28 22:47:27 +05:30
committed by Mergify
parent 1ead0a3fef
commit 7105648468
2 changed files with 23 additions and 21 deletions

View File

@@ -185,23 +185,7 @@ erpnext.stock.DeliveryNoteController = class DeliveryNoteController extends erpn
}
if(doc.docstatus==0 && !doc.__islocal) {
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) {
if (doc.__onload && doc.__onload.has_unpacked_items) {
this.frm.add_custom_button(__('Packing Slip'), function() {
frappe.model.open_mapped_doc({
method: "erpnext.stock.doctype.delivery_note.delivery_note.make_packing_slip",

View File

@@ -86,6 +86,10 @@ class DeliveryNote(SellingController):
]
)
def onload(self):
if self.docstatus == 0:
self.set_onload("has_unpacked_items", self.has_unpacked_items())
def before_print(self, settings=None):
def toggle_print_hide(meta, fieldname):
df = meta.get_field(fieldname)
@@ -390,6 +394,20 @@ class DeliveryNote(SellingController):
)
)
def has_unpacked_items(self):
for item in self.items:
if (
not frappe.db.exists("Product Bundle", {"new_item_code": item.item_code})
and item.packed_qty < item.qty
):
return True
for item in self.packed_items:
if item.packed_qty < item.qty:
return True
return False
def update_billed_amount_based_on_so(so_detail, update_modified=True):
from frappe.query_builder.functions import Sum
@@ -708,9 +726,9 @@ def make_packing_slip(source_name, target_doc=None):
"name": "dn_detail",
},
"postprocess": update_item,
"condition": lambda doc: (
not frappe.db.exists("Product Bundle", {"new_item_code": doc.item_code})
and (doc.qty - doc.packed_qty) > 0
"condition": lambda item: (
not frappe.db.exists("Product Bundle", {"new_item_code": item.item_code})
and item.packed_qty < item.qty
),
},
"Packed Item": {
@@ -724,7 +742,7 @@ def make_packing_slip(source_name, target_doc=None):
"name": "pi_detail",
},
"postprocess": update_item,
"condition": lambda doc: ((doc.qty - doc.packed_qty) > 0),
"condition": lambda item: (item.packed_qty < item.qty),
},
},
target_doc,