Problem/Motivation

Found by the release audit of 1.x at a81dd9eb.

  • The Edit and Delete links that bring an operator back to the page are written five times. RowOperationsTrait::buildRowOperationLinks() in yoyaku_ui exists for them and five classes use it, yet ResourceTariffOrderForm and ApplyTariffPresetForm in the same module keep their own copy, and VenueInventoryOrderFormBase and InventoryListTrait in yoyaku_placement keep two more, since placement cannot reach yoyaku_ui.
  • The way back to a locked order re-reads what Orchestra's resolver answers. CheckoutResumeHooks::getParkedPaymentToken() runs its own query for an instance's parked tokens and reads each node's interaction by hand, where InteractionResolver::findParkedInteractiveTokens() and getNodeInteraction() answer both. Its copy is unordered, where the resolver sorts by id so the answer is always the same one, and it does not drop an interaction whose plugin is no longer installed.
  • docs/booking-channels.md names BookingChannelField::definition(); the method is getDefinition().
  • docs/api.md says nothing about deleting slots and resources: which are refused, what counts what is left, and how code removing content it created itself switches on the slot delete cascade, as both example modules do. An integrator writing an uninstall meets the refusal with no page telling them the way out.

Proposed resolution

  • The trait moves to the engine, beside SelectableOverviewFormBase, and the four copies use it.
  • getParkedPaymentToken() asks the resolver.
  • Correct the method name, and give docs/api.md a section on deleting slots and resources.
  • Regenerate docs/metrics.md as the last commit, since the tag pipeline measures it.

Remaining tasks

Review the merge request. It merges last, after the audit's other two (#3626903, #3626905), rebased with the metrics regenerated.

User interface changes

None.

API changes

RowOperationsTrait moves from Drupal\yoyaku_ui\Controller to Drupal\yoyaku\Form.

AI-Generated: Yes (Claude Code was used to run this audit and draft this issue. I reviewed it before posting.)

Issue fork yoyaku-3626904

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’s picture

Issue summary: View changes
Status: Active » Needs review

  • mably committed 98181f7d on 1.x
    task: #3626904 Row operation links are written five times, the way back...
mably’s picture

Status: Needs review » 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.