Fix self-serve program picker wash type sync

This commit is contained in:
Jeppe Bundgaard
2026-06-09 11:59:42 +02:00
parent 07441c4ed1
commit a1224ec2f4
2 changed files with 19 additions and 4 deletions
@@ -217,7 +217,19 @@ trait selfserve_lane_command_t
}
try {
return (new selfserve_wash_flow())->isMachineAllowedToStartWash((int)$this->id);
$reg = method_exists($this, 'getLicensePlate') ? trim((string)$this->getLicensePlate()) : '';
if ($reg === '') {
return false;
}
$customerNumber = method_exists($this, 'getCustomerNumber') ? (int)$this->getCustomerNumber() : null;
$snapshot = (new selfserve_wash_flow())->previewVehicleEligibility(
(int)$this->id,
$reg,
$customerNumber !== null && $customerNumber > 0 ? $customerNumber : null
);
return (bool)($snapshot['allowed'] ?? false);
} catch (\Throwable) {
return false;
}
@@ -324,6 +336,7 @@ trait selfserve_lane_command_t
protected function runRelaySideEffectsForWashStart(selfserve_lane_command_arguments $arguments): void
{
if ($arguments->defer_relay_side_effects) {
$this->setProgramPickerRelayStatusForWashStart();
return;
}