Email procedure (beta), WorkFlow update

This commit is contained in:
2026-09-02 11:44:54 -05:00
parent 826a70bdf6
commit edd5f2a886
12 changed files with 450 additions and 8 deletions
+27 -1
View File
@@ -65,6 +65,9 @@ class Order(Base):
# Display name of whoever created the JIRA ticket.
creator = Column(String(200), nullable=True)
# Display name of whoever the ticket is assigned to (who's working it) -
# distinct from creator (who opened it).
assignee = Column(String(200), nullable=True)
# Plain-text version of the JIRA ticket's Description field (parsed
# from Atlassian Document Format - see app/adf.py). Mainly useful for
@@ -77,6 +80,26 @@ class Order(Base):
# "is_return": false}]. Populated by the "Pull Tracking Numbers"
# action, separately from the JIRA import.
tracking_numbers = Column(JSON, nullable=True)
# Service level used for the outbound label (e.g. "Priority Overnight",
# "Ground") - read off the ShipStation label during the same pull that
# gets tracking numbers, not something JIRA knows about.
shipping_method = Column(String(100), nullable=True)
# Freeform {label: value} pairs, e.g. {"Laptop Serial Number": "6NJLP54",
# "Laptop Asset Tag": "30882"} - entered by staff (often via barcode
# scanner) as devices are packed. Deliberately not fixed columns per
# device type: which fields are relevant varies by company and by kit,
# and hard-coding that would fight the "versatile" requirement. See
# app/serial_suggestions.py for how likely fields get suggested from
# the ticket's line items.
serial_numbers = Column(JSON, nullable=True)
# Staff-set "packed and ready to ship" flag - the Ship Sheet's "Done"
# column. Deliberately separate from JIRA's own status: a ticket can be
# packed=True while still sitting in JIRA as "Created", waiting on the
# (currently manual, eventually automated) end-of-day push that sets
# the real JIRA status.
packed = Column(Boolean, nullable=False, default=False)
packed_at = Column(DateTime, nullable=True)
summary = Column(String(500), nullable=False, default="")
status = Column(String(100), nullable=False, default="")
@@ -101,7 +124,10 @@ class Order(Base):
# way to confirm that manual step happened.
shipstation_sent_at = Column(DateTime, nullable=True)
# Downstream pipeline flags - useful once Odoo export is fully wired up
# Legacy/unused - kept only because SQLite doesn't make dropping a
# column free and nothing reads this. Don't confuse with `packed`
# above (the real "Done" flag) or the JIRA-status-based fulfilled
# concept used for the Done tab/dashboard - this column predates both.
fulfilled = Column(Boolean, nullable=False, default=False)
# Full original payload from JIRA, for anything not modeled explicitly