Email procedure (beta), WorkFlow update
This commit is contained in:
@@ -161,6 +161,8 @@ def save_orders(orders: List[NormalizedOrder]) -> SaveResult:
|
||||
continue
|
||||
|
||||
jira_row.tracking_numbers = order.get("tracking_numbers", [])
|
||||
if order.get("shipping_method"):
|
||||
jira_row.shipping_method = order["shipping_method"]
|
||||
enriched_count += 1
|
||||
continue
|
||||
|
||||
@@ -185,6 +187,7 @@ def save_orders(orders: List[NormalizedOrder]) -> SaveResult:
|
||||
line_items=order.get("line_items", []),
|
||||
shipping_info=order.get("shipping_info", {}),
|
||||
creator=order.get("creator"),
|
||||
assignee=order.get("assignee"),
|
||||
description=order.get("description"),
|
||||
tracking_numbers=order.get("tracking_numbers", []),
|
||||
summary=order["summary"],
|
||||
@@ -225,6 +228,7 @@ def save_orders(orders: List[NormalizedOrder]) -> SaveResult:
|
||||
existing.line_items = order.get("line_items", [])
|
||||
existing.shipping_info = order.get("shipping_info", {})
|
||||
existing.creator = order.get("creator")
|
||||
existing.assignee = order.get("assignee")
|
||||
existing.description = order.get("description")
|
||||
existing.summary = order["summary"]
|
||||
existing.status = new_status
|
||||
@@ -330,6 +334,32 @@ def mark_shipstation_sent(ticket_number: str) -> None:
|
||||
session.close()
|
||||
|
||||
|
||||
def save_pack_data(ticket_number: str, serial_numbers: dict, packed: bool) -> None:
|
||||
"""
|
||||
Saves serial numbers and the packed/done flag from the Pack Ticket
|
||||
dialog. Staff-entered data, not sourced from JIRA - this is the
|
||||
beginning of the eventual end-of-day push back to JIRA (deferred for
|
||||
now), so nothing here gets overwritten by a JIRA re-import.
|
||||
"""
|
||||
session = get_session()
|
||||
try:
|
||||
order = session.execute(
|
||||
select(Order).where(Order.source == "jira", Order.ticket_number == ticket_number)
|
||||
).scalar_one_or_none()
|
||||
if order is None:
|
||||
return
|
||||
order.serial_numbers = serial_numbers
|
||||
was_packed = order.packed
|
||||
order.packed = packed
|
||||
if packed and not was_packed:
|
||||
order.packed_at = dt.datetime.now()
|
||||
elif not packed:
|
||||
order.packed_at = None
|
||||
session.commit()
|
||||
finally:
|
||||
session.close()
|
||||
|
||||
|
||||
def get_dashboard_stats() -> dict:
|
||||
"""
|
||||
Counts for the dashboard. "Active Orders" and the company breakdown
|
||||
|
||||
Reference in New Issue
Block a user