Files
Order-Manager/app/tracking.py
T

32 lines
1011 B
Python

"""
Turns a ticket's tracking numbers into the JIRA status your team would
set it to at end-of-day close-out - "Waiting For Return" if a return
label was also generated by ShipStation's automation, "Device Return
Not Needed" if it's outgoing-only. Saves having to eyeball each one.
"""
from __future__ import annotations
from typing import List, Optional
from app import config
def suggest_jira_status(tracking_numbers: List[dict]) -> Optional[str]:
if not tracking_numbers:
return None
has_outgoing = any(not t.get("is_return") for t in tracking_numbers)
has_return = any(t.get("is_return") for t in tracking_numbers)
if not has_outgoing:
# Only a return label with no outgoing - unusual, don't guess.
return None
if has_return:
return config.get(
"FULFILLED_STATUS_WITH_RETURN", config.DEFAULT_FULFILLED_WITH_RETURN
)
return config.get(
"FULFILLED_STATUS_WITHOUT_RETURN", config.DEFAULT_FULFILLED_WITHOUT_RETURN
)