wip: modernized edit flow

This commit is contained in:
Björn Fromme
2025-10-08 21:09:53 +02:00
parent c3008d7f7a
commit cba0f747cd
75 changed files with 1662 additions and 747 deletions
+4 -17
View File
@@ -6,6 +6,7 @@ namespace App\Form\Service;
use App\BusProNet\Utility\DirectionMapper;
use App\Form\Service\Abstract\AbstractFieldStateProvider;
use App\Form\Service\Condition\ApplicantCondition;
use App\Form\Service\Condition\BookingEligibilityCondition;
use App\Form\Service\Condition\BulkInsuranceBookingCondition;
use App\Form\Service\Condition\CompositeCondition;
@@ -34,10 +35,11 @@ use App\Service\ParticipantEligibilityService;
class CreateFieldStateProvider extends AbstractFieldStateProvider
{
public function __construct(
private readonly ParticipantEligibilityService $participantEligibilityService
private readonly ParticipantEligibilityService $participantEligibilityService,
) {
parent::__construct();
}
/**
* Registers field state conditions for the create workflow.
*
@@ -124,22 +126,7 @@ class CreateFieldStateProvider extends AbstractFieldStateProvider
$this->fieldStateConditions['bulkInsuranceBooking'] = [
'hidden' => CompositeCondition::or(
CompositeCondition::not($dateOfBirthProvidedCondition), // Hide until date of birth provided
new class() implements \App\Form\Service\Contract\FieldConditionInterface {
public function evaluate(\App\Form\Model\BookingDtoInterface $bookingDto, int $participantIndex, array $formData): bool
{
return $participantIndex > 0; // Hide for all participants except applicant
}
public function getDependentFields(): array
{
return [];
}
public function getDescription(): string
{
return 'Participant is not the applicant';
}
}
CompositeCondition::not(new ApplicantCondition()) // Hide for non-applicants
),
];