Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: add endpoints when creating integrations #574

Merged
merged 1 commit into from
Mar 31, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions bloomstack_core/bloomtrace/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,15 @@ def get_bloomtrace_client():
return client


def make_integration_request(doctype, docname, integration):
def make_integration_request(doctype, docname, endpoint):
settings = frappe.get_cached_doc("Compliance Settings")
if not (frappe.conf.enable_bloomtrace and settings.is_compliance_enabled) or \
frappe.db.exists("Integration Request", {"reference_doctype": doctype, "reference_docname": docname}):
frappe.db.exists("Integration Request", {"reference_doctype": doctype, "reference_docname": docname, "endpoint": endpoint}):
return

doc = frappe.get_doc(doctype, docname)
company = settings.get("company", {"company": doc.company}) and settings.get("company", {"company": doc.company})[0]
fieldname = "push_{0}".format(frappe.scrub(integration))
fieldname = "push_{0}".format(frappe.scrub(endpoint))

if not company or not company.get(fieldname):
return
Expand All @@ -44,7 +44,7 @@ def make_integration_request(doctype, docname, integration):
"status": "Queued",
"reference_doctype": doctype,
"reference_docname": docname,
"endpoint": integration
"endpoint": endpoint
}).save(ignore_permissions=True)


Expand Down
8 changes: 3 additions & 5 deletions bloomstack_core/hook_events/delivery_note.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,7 @@
from bloomstack_core.bloomtrace import get_bloomtrace_client, make_integration_request

def create_integration_request(doc, method):
if not doc.is_return:
make_integration_request(doc.doctype, doc.name, "Package")

make_integration_request(doc.doctype, doc.name, "Package")
make_integration_request(doc.doctype, doc.name, "Transfer")

def link_invoice_against_delivery_note(delivery_note, method):
Expand Down Expand Up @@ -45,10 +43,10 @@ def execute_bloomtrace_integration_request():
delivery_note = frappe.get_doc("Delivery Note", integration_request.reference_docname)

try:
if not delivery_note.is_return:
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):
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)

Expand Down
2 changes: 1 addition & 1 deletion bloomstack_core/hook_events/plant_batch.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from bloomstack_core.bloomtrace import get_bloomtrace_client, make_integration_request

def create_integration_request(doc, method):
make_integration_request(doc.doctype, doc.name, "Plant")
make_integration_request(doc.doctype, doc.name, "Plant Batch")

def execute_bloomtrace_integration_request():
frappe_client = get_bloomtrace_client()
Expand Down
3 changes: 2 additions & 1 deletion bloomstack_core/hook_events/stock_reconciliation.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@
def create_integration_request(doc, method):
for item in doc.items:
if item.package_tag:
make_integration_request("Stock Reconciliation", doc.name)
# UID Transaction Log is used to make changes in Package using adjust endpoint
make_integration_request("Stock Reconciliation", doc.name, "Package")
break

def execute_bloomtrace_integration_request():
Expand Down