src/Form/ContractOrderType.php line 14
<?phpnamespace App\Form;use App\Entity\ContractOrder;use App\Entity\Destination;use App\Service\ContractOrderService;use Symfony\Component\Form\AbstractType;use Symfony\Component\Form\Extension\Core\Type\CheckboxType;use Symfony\Component\Form\Extension\Core\Type\ChoiceType;use Symfony\Component\Form\FormBuilderInterface;use Symfony\Component\OptionsResolver\OptionsResolver;class ContractOrderType extends AbstractType{public function __construct(private ContractOrderService $contractOrderService){}public function buildForm(FormBuilderInterface $builder, array $options): void{/** @var ContractOrder $contractOrder */$contractOrder = $builder->getData();$isUnlocked = false;if($contractOrder->getDestination() instanceof Destination) {$isUnlocked = $this->contractOrderService->canOrderFullDestination($contractOrder->getDestination());}$transferChoices = ['Autokar CK' => 'bus','Vlastní' => 'car',];if($contractOrder->getTerm()->getOnlyBus() && !$isUnlocked) {$transferChoices = ['Autokar CK' => 'bus',];}if($contractOrder->getTerm()->getOnlyCar() && !$isUnlocked) {$transferChoices = ['Vlastní' => 'car',];}$builder->add('transferType', ChoiceType::class, ['label' => 'Typ dopravy','choices' => $transferChoices,])// ->add('cateringType', null, ['label' => 'Typ stravování'])->add('boardingPlace', ChoiceType::class, ['label' => 'Nástupní místo','choices' => ['Ústí nad Labem' => 'Ústí nad Labem','Brno' => 'Brno','Praha' => 'Praha','Ostatní po dohodě v CK' => 'Ostatní po dohodě v CK',]])->add('note', null, ['label' => 'Poznámka'])->add('client', ClientType::class, ['label' => 'Klient'])->add('returningClient', CheckboxType::class, [ 'required'=>false, 'label' => 'Cestovali jste s námi?'])->add('withPet', CheckboxType::class, ['required'=>false,'label' => 'Domácí mazlíček?'])->add('firstMinute', CheckboxType::class, ['required'=>false,'label' => 'Zavazuji se, že uhradím do konce ledna 50% zálohu'])->add('gdpr', CheckboxType::class, ['mapped' => false, 'required' => true, 'label' => 'Souhlasím se zpracováním osobních údajů']);if(!empty($contractOrder->getDestination()->getDietPrice())) {$builder->add('withDiet', CheckboxType::class, ['required'=>true,'label' => sprintf('Potvrzuji poplatek za stravování %s Kč na osobu', $contractOrder->getDestination()->getDietPrice())]);}}public function configureOptions(OptionsResolver $resolver): void{$resolver->setDefaults(['data_class' => ContractOrder::class,]);}}