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.)
Comments
Comment #3
mably commentedComment #5
mably commented