<?php
namespace App\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\TimeType;
use Symfony\Component\Form\Extension\Core\Type\DateType;
use Symfony\Component\Form\Extension\Core\Type\DateTimeType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\NumberType;
use Symfony\Component\Form\Extension\Core\Type\TelType;
use Symfony\Component\Form\Extension\Core\Type\FileType;
use Symfony\Component\Validator\Constraints\File;
use Symfony\Component\Validator\Constraints\Email;
use Symfony\Component\Validator\Constraints\NotBlank;
use Symfony\Component\Validator\Constraints\Choice;
use Pimcore\Translation\Translator;
use Symfony\Component\Form\Extension\Core\Type\CollectionType;
class OrderFormType extends AbstractType
{
/**
* @inheritDoc
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', TextType::class, [
'label' => 'form.order.name',
'required' => true,
// 'error_bubbling' => true,
'attr' => [
'placeholder' => 'form.order.name'
]
])
->add('lastname', TextType::class, [
'label' => 'form.order.lastname',
'required' => true,
// 'error_bubbling' => true,
'attr' => [
//'style' => 'height: 250px;'
'placeholder' => 'form.order.lastname'
]
])
// email
->add('email', EmailType::class, [
'label' => 'form.order.email',
'attr' => [
'placeholder' => 'form.order.email'
],
'required' => true,
// 'error_bubbling' => true,
])
->add('tel', TextType::class, [
'label' => 'form.order.phone',
'required' => true,
// 'error_bubbling' => true,
'attr' => [
//'style' => 'height: 250px;'
'placeholder' => 'form.order.phone'
]
])
->add('street', TextType::class, [
'label' => 'form.order.street',
'required' => true,
// 'error_bubbling' => true,
'attr' => [
'placeholder' => 'form.order.street'
]
])
->add('streetnr', TextType::class, [
'label' => 'form.order.streetnr',
'required' => true,
// 'error_bubbling' => true,
'attr' => [
'placeholder' => 'form.order.streetnr'
]
])
->add('postal', TextType::class, [
'label' => 'form.order.postal',
'required' => true,
// 'error_bubbling' => true,
'attr' => [
'placeholder' => 'form.order.postal'
]
])
->add('city', TextType::class, [
'label' => 'form.order.city',
'required' => true,
// 'error_bubbling' => true,
'attr' => [
'placeholder' => 'form.order.city'
]
])
->add('street2', TextType::class, [
'label' => 'form.order.street.two',
'required' => false,
// 'error_bubbling' => true,
'attr' => [
'placeholder' => 'form.order.street.two'
]
])
->add('streetnr2', TextType::class, [
'label' => 'form.order.streetnr.two',
'required' => false,
// 'error_bubbling' => true,
'attr' => [
'placeholder' => 'form.order.streetnr.two'
]
])
->add('postal2', TextType::class, [
'label' => 'form.order.postal.two',
'required' => false,
// 'error_bubbling' => true,
'attr' => [
'placeholder' => 'form.order.postal.two'
]
])
->add('city2', TextType::class, [
'label' => 'form.order.city.two',
'required' => false,
// 'error_bubbling' => true,
'attr' => [
'placeholder' => 'form.order.city.two'
]
])
->add('products', TextareaType::class, [
'label' => 'form.order.products',
'required' => true,
// 'error_bubbling' => true,
'attr' => [
//'style' => 'height: 250px;'
'placeholder' => 'form.order.products'
],
])
->add('termsconditions', CheckboxType::class, [
'label' => 'form.order.termsconditions',
'required' => true,
])
->add('privacypolicy', CheckboxType::class, [
'label' => 'form.order.privacypolicy',
'required' => true,
])
->add('newsletter', CheckboxType::class, [
'label' => 'form.order.newsletter',
'required' => false,
])
->add('message', TextareaType::class, [
'label' => 'form.order.message',
'required' => false,
// 'error_bubbling' => true,
'attr' => [
//'style' => 'height: 250px;'
'placeholder' => 'form.order.message'
],
])
// vr_mandat_pdf
/*
->add('vr_mandat_pdf', FileType::class, [
'label' => 'vr_mandat_pdf',
'attr' => [
'placeholder' => '',
'class' => 'original-file-input',
'data-file' => '1',
'accept' => '.pdf'
],
'required' => false,
// 'error_bubbling' => false,
'constraints' => [
new File([
'maxSize' => '5000k',
'maxSizeMessage' => 'vr-mandat_pdf.toobig',
'mimeTypes' => [
'application/pdf'
],
'mimeTypesMessage' => 'vr-mandat_pdf.wrongtype'
])
]
])
*/
/* ->add('disclaimer', CheckboxType::class, [
'label' => 'disclaimer_gelesen_und_akzeptiert',
'required' => false,
'attr' => [
'class' => 'disclaimer-proof'
],
// 'error_bubbling' => true,
'constraints' => [
new NotBlank(['message' => 'form.order.disclaimer.not.blank'])
]
])*/
// hidden
->add('hidden', HiddenType::class, [
'required' => false
])
// js filled
->add('filled', HiddenType::class, [
'required' => true
])
->add('submit', SubmitType::class, [
'label' => 'order.form.order.submit',
]);
}
/**
* @inheritDoc
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'attr' => [
'novalidate' => 'novalidate'
],
'csrf_protection' => true,
'csrf_field_name' => '_csrf_token',
'csrf_token_id' => ''
]);
}
}