Gives operators an explicit order lifecycle: active, settled, archived, deleted. A settled order (cancelled, completed or no-show) can be archived (set aside for retention); an archived order leaves the active list; and delete is gated on archive.

  • Adds an archived timestamp base field on the order, with isArchived/getArchivedTime/setArchived, and OrderManager archiveOrder/unarchiveOrder/isSettled choke points (only settled orders archivable).
  • Delete guard: deletable only once the order is archived or cancelled (a void order needs no archive step), plus the existing tenant and no-running-workflow checks. The old cancelled-or-all-past rule is dropped.
  • Archive/Unarchive operator actions, per row and in bulk; the orders overview hides archived orders by default with a Show archived filter.
  • Honest confirm/cancel messages when nothing changed, instead of a false success.

Kernel tests cover archiving a settled order, the archive-gated delete, direct delete of a cancelled order, and that an active order is neither archivable nor deletable. Docs and French translations are updated.

Issue fork yoyaku-3609664

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

mably created an issue. See original summary.

  • mably committed 1a8d1150 on 1.x
    feat: #3609664 Archive settled orders and gate deletion on archive (...
mably’s picture

Status: Active » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.