feat: body dimensions optional

This commit is contained in:
Björn Fromme
2026-03-16 12:00:55 +01:00
parent a6d2661562
commit cc747f0690
5 changed files with 10 additions and 65 deletions
+4
View File
@@ -60,6 +60,10 @@ class BodyDimensionsType extends AbstractType
'height_required' => false,
'weight_required' => false,
'shoeSize_required' => false,
'help' => 'Du kannst die Daten auch später nachreichen',
'help_attr' => [
'class' => 'lg:col-span-3 text-sm -mt-2 px-2',
],
]);
$resolver->setAllowedTypes('height_required', 'bool');
@@ -298,6 +298,9 @@ class ParticipantFieldOptionsProvider extends AbstractFieldOptionsProvider
'maxlength' => 20,
],
'help' => 'Bitte gib das Kennzeichen deines Fahrzeugs an. Du kannst es aber auch später nachreichen.',
'help_attr' => [
'class' => 'text-sm px-2 mt-2',
],
'sanitize_html' => true,
];
@@ -13,26 +13,9 @@ class ParticipantValidator extends ConstraintValidator
/** @var ParticipantDto $participant */
$participant = $value;
$this->assertBodyMeasurementsValid($participant);
$this->assertPickupSelected($participant);
}
public function assertBodyMeasurementsValid(ParticipantDto $participant): void
{
if (0 === count($participant->rentals)) {
return;
}
foreach (['height', 'shoeSize', 'weight'] as $property) {
if (empty($participant->{$property})) {
$this->context->buildViolation('Bitte angeben wegen Leihmaterial')
->atPath($property)
->addViolation()
;
}
}
}
public function assertPickupSelected(ParticipantDto $participant): void
{
// Check if either outbound or inbound transportation is bus