From c1ba790524ba2880dfa17037a02199a636bc7117 Mon Sep 17 00:00:00 2001 From: hrwx Date: Wed, 31 Mar 2021 18:21:38 +0530 Subject: [PATCH] fix: add error if delivery trip sync fails --- bloomstack_core/hook_events/delivery_note.py | 26 +++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/bloomstack_core/hook_events/delivery_note.py b/bloomstack_core/hook_events/delivery_note.py index 1d24b2da..1c3b2b67 100644 --- a/bloomstack_core/hook_events/delivery_note.py +++ b/bloomstack_core/hook_events/delivery_note.py @@ -43,15 +43,23 @@ def execute_bloomtrace_integration_request(): delivery_note = frappe.get_doc("Delivery Note", integration_request.reference_docname) try: - if not delivery_note.is_return and integration_request.endpoint == "Package": - insert_delivery_payload(delivery_note, frappe_client) - - if delivery_note.lr_no or (delivery_note.estimated_arrival and delivery_note.departure_time) and integration_request.endpoint == "Transfer": - # If delivery trip is created or estimated_arrival and departure_time is present, only then move forward to integrate with BloomTrace - insert_transfer_template(delivery_note, frappe_client) - - integration_request.error = "" - integration_request.status = "Completed" + error, status = "", "Completed" + + if integration_request.endpoint == "Package": + if not delivery_note.is_return: + insert_delivery_payload(delivery_note, frappe_client) + else: + error, status = "Delivery Note is marked as return", "Failed" + + if integration_request.endpoint == "Transfer": + if delivery_note.lr_no or (delivery_note.estimated_arrival and delivery_note.departure_time): + # If delivery trip is created or estimated_arrival and departure_time is present, only then move forward to integrate with BloomTrace + insert_transfer_template(delivery_note, frappe_client) + else: + error, status = "Delivery Trip / Estimated Departure / Estimated Arrival is missing", "Failed" + + integration_request.error = error + integration_request.status = status integration_request.save(ignore_permissions=True) except Exception as e: integration_request.error = cstr(frappe.get_traceback())