The order is summarized in three places that have drifted apart: the cart BasketSummary (rich, seat and price aware), the order pages OrderSummaryBuilder, and the [yoyaku-order:bookings] token used by the confirmation email and the cancel screen (a plain list still showing per-line state and no seats or prices).

This introduces a single TransactionSummary service in the base module that turns a transaction into events and priced tickets, with a screen renderer, an HTML renderer for rich mail and a plain-text renderer for text mail. It is seat-agnostic: a ticket label and an event links come from hook_yoyaku_summary_ticket_alter() and hook_yoyaku_summary_event_alter(), which yoyaku_seating implements to name seats and to link back to the seating page.

OrderSummaryBuilder now extends it, the cart renders it (adding its per-ticket Remove and a per-event removal, BookingCart::releaseSlot()), the cancel screen renders it, and the notification token renders its HTML plus a new plain-text variant. The payment-step summary is a follow-up, as it needs an orchestra-side seam.

Issue fork yoyaku-3612023

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 changed the visibility of the branch 3612023-unify-order-summaries to hidden.

  • mably committed 534842e2 on 1.x
    task: #3612023 Unify order summaries into one TransactionSummary
    
    By:...
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.