The booking workflow resolved its confirmation policy (auto-confirm vs operator validation) once at start, from the first of the order line bookings, including released ones. Two problems compound: since the workflow now survives basket edits (#3613210: Editing a pending basket cancels its booking workflow, and an empty order is treated as free), an order re-based onto a different resource type keeps the policy from the original basket; and a released line whose resource has no type, held first, falls through to the site-default auto-confirm profile. A free refuge booking (an operator-validation type) reached after such an edit auto-confirmed, skipping operator validation.
Fix:
WorkflowProfileResolverignores released lines: only a line in a consuming state determines the order type.- A new
AutoConfirmVariableProviderresolves the policy live from the order at the prepare step, and the booking workflow runs that prepare step before the placement decision, soyoyaku_auto_confirmreflects the order as it stands rather than as it was at start. It is no longer baked at start.
Covered by a new kernel test (WorkflowProfileResolutionTest) and the existing workflow E2E, both green.
Issue fork yoyaku-3613236
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
Comment #3
mably commentedComment #5
mably commented