brotherton-erpnext/erpnext/patches/v11_0/update_delivery_trip_status.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

26 lines
809 B
Python
Raw Normal View History

2019-11-07 08:46:26 +00:00
# Copyright (c) 2017, Frappe and Contributors
# License: GNU General Public License v3. See license.txt
2019-11-07 08:46:26 +00:00
import frappe
2019-11-07 08:46:26 +00:00
def execute():
frappe.reload_doc("setup", "doctype", "global_defaults", force=True)
frappe.reload_doc("stock", "doctype", "delivery_trip")
frappe.reload_doc("stock", "doctype", "delivery_stop", force=True)
for trip in frappe.get_all("Delivery Trip"):
trip_doc = frappe.get_doc("Delivery Trip", trip.name)
status = {0: "Draft", 1: "Scheduled", 2: "Cancelled"}[trip_doc.docstatus]
if trip_doc.docstatus == 1:
visited_stops = [stop.visited for stop in trip_doc.delivery_stops]
if all(visited_stops):
status = "Completed"
elif any(visited_stops):
status = "In Transit"
frappe.db.set_value("Delivery Trip", trip.name, "status", status, update_modified=False)