fix(delivery): update package total on validate (#16131)
This commit is contained in:
parent
5472fff027
commit
f43433b43d
@ -579,3 +579,4 @@ erpnext.patches.v10_0.update_user_image_in_employee
|
||||
erpnext.patches.v11_0.update_delivery_trip_status
|
||||
erpnext.patches.v10_0.repost_gle_for_purchase_receipts_with_rejected_items
|
||||
erpnext.patches.v11_0.set_missing_gst_hsn_code
|
||||
erpnext.patches.v11_0.update_package_total_in_delivery_trips
|
7
erpnext/patches/v11_0/update_package_total_in_delivery_trips.py
Executable file
7
erpnext/patches/v11_0/update_package_total_in_delivery_trips.py
Executable file
@ -0,0 +1,7 @@
|
||||
import frappe
|
||||
|
||||
def execute():
|
||||
for trip in frappe.get_all("Delivery Trip", {"docstatus" : 1}):
|
||||
trip_doc = frappe.get_doc("Delivery Trip", trip.name)
|
||||
total = sum([stop.grand_total for stop in trip_doc.delivery_stops if stop.grand_total])
|
||||
frappe.db.set_value("Delivery Trip", trip.name, "package_total", total, update_modified=False)
|
@ -25,6 +25,8 @@ class DeliveryTrip(Document):
|
||||
|
||||
def validate(self):
|
||||
self.validate_stop_addresses()
|
||||
self.update_status()
|
||||
self.update_package_total()
|
||||
|
||||
def on_submit(self):
|
||||
self.update_status()
|
||||
@ -37,11 +39,6 @@ class DeliveryTrip(Document):
|
||||
self.update_status()
|
||||
self.update_delivery_notes(delete=True)
|
||||
|
||||
def validate_stop_addresses(self):
|
||||
for stop in self.delivery_stops:
|
||||
if not stop.customer_address:
|
||||
stop.customer_address = get_address_display(frappe.get_doc("Address", stop.address).as_dict())
|
||||
|
||||
def update_status(self):
|
||||
status = {
|
||||
0: "Draft",
|
||||
@ -58,6 +55,14 @@ class DeliveryTrip(Document):
|
||||
|
||||
self.db_set("status", status)
|
||||
|
||||
def update_package_total(self):
|
||||
self.package_total = sum([stop.grand_total for stop in self.delivery_stops if stop.grand_total])
|
||||
|
||||
def validate_stop_addresses(self):
|
||||
for stop in self.delivery_stops:
|
||||
if not stop.customer_address:
|
||||
stop.customer_address = get_address_display(frappe.get_doc("Address", stop.address).as_dict())
|
||||
|
||||
def update_delivery_notes(self, delete=False):
|
||||
"""
|
||||
Update all connected Delivery Notes with Delivery Trip details
|
||||
|
Loading…
x
Reference in New Issue
Block a user