feat: unique email addresses of participants unless child, cleanup

addresses #869axbn21
This commit is contained in:
Björn Fromme committed 2026-03-16 11:59:11 +01:00
1 parent f50aa55e8b
commit 7aea149b6c
57 files changed
+1036 -153

No files matched your search

@@ -54,7 +54,7 @@ class AgeRangeCondition implements FieldConditionInterface
* checks if it falls within the configured age range. Returns false if
* the participant has no date of birth set.
*
* @param BookingDto $bookingDto The current booking data (create or edit)
* @param BookingDto $bookingDto The current booking data (create or edit)
* @param int $participantIndex The index of the participant being evaluated
* @param array<string, mixed> $formData Current form data (unused for age conditions)
*
@@ -21,7 +21,7 @@ class ApplicantCondition implements FieldConditionInterface
/**
* Evaluates if the participant is the applicant.
*
* @param BookingDto $bookingDto The current booking data (create or edit)
* @param BookingDto $bookingDto The current booking data (create or edit)
* @param int $participantIndex The index of the participant being evaluated
* @param array<string, mixed> $formData Current form data (unused)
*
@@ -26,7 +26,7 @@ use App\Service\ParticipantEligibilityService;
class BookingEligibilityCondition implements FieldConditionInterface
{
public function __construct(
private readonly ParticipantEligibilityService $participantEligibilityService
private readonly ParticipantEligibilityService $participantEligibilityService,
) {
}
@@ -36,7 +36,7 @@ class BookingEligibilityCondition implements FieldConditionInterface
* Returns true when the participant is INELIGIBLE (should hide service fields).
* Returns false when the participant is eligible (show normal form fields).
*
* @param BookingDto $bookingDto The current booking data
* @param BookingDto $bookingDto The current booking data
* @param int $participantIndex The index of the participant being evaluated
* @param array<string, mixed> $formData Current form data for condition evaluation
*
@@ -71,4 +71,4 @@ class BookingEligibilityCondition implements FieldConditionInterface
{
return 'Participant has no available skipasses for their age';
}
}
}
@@ -29,7 +29,7 @@ class BulkInsuranceBookingCondition implements FieldConditionInterface
* For dependent participants, returns true if the applicant has bulk insurance booking enabled,
* regardless of whether an insurance is selected (applies to "no insurance" as well).
*
* @param BookingDto $bookingDto The current booking data
* @param BookingDto $bookingDto The current booking data
* @param int $participantIndex The index of the participant being evaluated
* @param array<string, mixed> $formData Current form data for condition evaluation
*
@@ -93,4 +93,4 @@ class BulkInsuranceBookingCondition implements FieldConditionInterface
return false;
}
}
}
@@ -64,7 +64,7 @@ class CompositeCondition implements FieldConditionInterface
* evaluation for optimal performance. The evaluation stops as soon as the
* final result can be determined.
*
* @param BookingDto $bookingDto The current booking data (create or edit)
* @param BookingDto $bookingDto The current booking data (create or edit)
* @param int $participantIndex The index of the participant being evaluated
* @param array<string, mixed> $formData Current form data for condition evaluation
*
@@ -27,7 +27,7 @@ class DateOfBirthProvidedCondition implements FieldConditionInterface
* Checks if the participant exists and has a non-null dateOfBirth property.
* This is a prerequisite for showing age-dependent form fields and services.
*
* @param BookingDto $bookingDto The current booking data
* @param BookingDto $bookingDto The current booking data
* @param int $participantIndex The index of the participant being evaluated
* @param array<string, mixed> $formData Current form data (unused for this condition)
*
@@ -60,7 +60,7 @@ class FieldValueCondition implements FieldConditionInterface
* against the expected value using the configured operator. Supports
* both participant-level fields and booking-level fields.
*
* @param BookingDto $bookingDto The current booking data (create or edit)
* @param BookingDto $bookingDto The current booking data (create or edit)
* @param int $participantIndex The index of the participant being evaluated
* @param array<string, mixed> $formData Current form data for condition evaluation
*
@@ -21,7 +21,7 @@ class MutabilityCondition implements FieldConditionInterface
/**
* Evaluates if the participant's personal data is mutable.
*
* @param BookingDto $bookingDto The current booking data (create or edit)
* @param BookingDto $bookingDto The current booking data (create or edit)
* @param int $participantIndex The index of the participant being evaluated
* @param array<string, mixed> $formData Current form data (unused)
*
@@ -28,7 +28,7 @@ class RentalSelectionCondition implements FieldConditionInterface
* which would indicate rental services have been selected and body
* dimensions should be required for proper equipment sizing.
*
* @param BookingDto $bookingDto The current booking data (create or edit)
* @param BookingDto $bookingDto The current booking data (create or edit)
* @param int $participantIndex The index of the participant being evaluated
* @param array<string, mixed> $formData Current form data for condition evaluation
*
@@ -35,7 +35,7 @@ class RoomSelectionCondition implements FieldConditionInterface
* Checks both submitted form data and participant DTO data to determine
* if the selected room matches any of the configured room codes.
*
* @param BookingDto $bookingDto The current booking data (create or edit)
* @param BookingDto $bookingDto The current booking data (create or edit)
* @param int $participantIndex The index of the participant being evaluated
* @param array<string, mixed> $formData Current form data for condition evaluation
*
@@ -94,7 +94,7 @@ class RoomSelectionCondition implements FieldConditionInterface
/**
* Finds a room by ID in the available travel rooms.
*
* @param int $roomId The room ID to find
* @param int $roomId The room ID to find
* @param BookingDto $bookingDto The booking DTO containing travel data
*
* @return Room|null The found room or null if not found
@@ -52,7 +52,7 @@ class ServiceSubTypeCondition implements FieldConditionInterface
* property against the expected value(s). Handles both form data and
* participant DTO data sources.
*
* @param BookingDto $bookingDto The current booking data (create or edit)
* @param BookingDto $bookingDto The current booking data (create or edit)
* @param int $participantIndex The index of the participant being evaluated
* @param array<string, mixed> $formData Current form data for condition evaluation
*
@@ -28,7 +28,7 @@ class SkiPassSelectionCondition implements FieldConditionInterface
* which would indicate a skipass has been selected and rental services
* should be made available with duration filtering applied.
*
* @param BookingDto $bookingDto The current booking data (create or edit)
* @param BookingDto $bookingDto The current booking data (create or edit)
* @param int $participantIndex The index of the participant being evaluated
* @param array<string, mixed> $formData Current form data for condition evaluation
*