Allow editing orders in the order card

Cashiers can edit recipient, TTN, notes, goods and total in the order
modal and save via PATCH /orders/{id}. Edited orders get edited_at and
are no longer overwritten by CRM sync. Editing is blocked once a receipt
exists; changing the TTN resets Nova Poshta tracking fields.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-24 17:23:41 +03:00
co-authored by Claude Opus 5.5
parent cbf9832e5b
commit 56ac0fc370
16 changed files with 946 additions and 58 deletions
+4
View File
@@ -41,6 +41,10 @@ class Order(TimestampMixin, Base):
is_deleted: Mapped[bool] = mapped_column(Boolean, nullable=False, default=False, index=True)
deleted_at: Mapped[datetime | None] = mapped_column(DateTime(timezone=True))
# Заказ правили вручную в карточке — синхронизация из CRM его больше не
# перезаписывает, иначе правки кассира затирались бы при следующем открытии.
edited_at: Mapped[datetime | None] = mapped_column(DateTime(timezone=True))
# Заполняется будущей интеграцией с Checkbox — сейчас всегда NULL.
receipt_created_at: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), index=True)