<?php
/**
* Vacancy Type
*
* @author Vincent van Waasbergen <v.vanwaasbergen@visualmedia.nl>
*/
namespace App\Form\Type;
use App\Entity\Vacancy;
use FOS\CKEditorBundle\Form\Type\CKEditorType;
use Symfony\Component\Form\AbstractType;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\Extension\Core\Type\DateType;
use Symfony\Component\Form\Extension\Core\Type\FileType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Validator\Constraints\IsTrue;
use Symfony\Component\Validator\Constraints\NotBlank;
use VisualMedia\EmployeeBundle\Entity\BaseEmployee;
use VisualMedia\LisaBundle\Component\Manager;
use VisualMedia\LisaBundle\Component\ManagerData;
use VisualMedia\LisaBundle\Form\Type\DateTimeType;
use VisualMedia\ProjectBundle\Entity\BaseProject;
use VisualMedia\VacancyBundle\Form\Type\VacancyType as BaseVacancyType;
/**
* Vacancy Type
*/
class VacancyResponseType extends AbstractType
{
/**
* {@inheritDoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder->add('firstName', TextType::class, array(
'label' => 'Voornaam',
'required' => true,
));
$builder->add('lastName', TextType::class, array(
'label' => 'Achternaam',
'required' => true,
));
$builder->add('phone', TextType::class, array(
'label' => 'Telefoonnummer',
'required' => true,
));
$builder->add('email', TextType::class, array(
'label' => 'E-mailadres',
'required' => true,
));
$builder->add('uploadResume', TextType::class, array(
'label' => 'Uploaden CV',
'required' => false,
));
$builder->add('uploadResume', FileType::class, array(
'label' => 'Uploaden CV',
'required' => false,
'mapped' => false,
'attr' => [ 'accept' => implode(',', [ 'application/msword', '.doc', '.docx,', 'application/pdf' ]) ],
));
$builder->add('motivation', TextareaType::class, array(
'label' => 'Je motivatie',
'trim' => true,
'required' => true,
'constraints' => array(
new NotBlank(),
)
));
// $builder->add('uploadMotivation', FileType::class, array(
// 'label' => 'Uploaden motivatiebrief',
// 'required' => true,
// 'mapped' => false,
// 'attr' => [ 'accept' => implode(',', [ 'application/msword', '.doc', '.docx,', 'application/pdf' ]) ],
// ));
$builder->add('privacyStatement', CheckboxType::class, array(
'label' => 'Ik geef toestemming voor het opslaan van mijn gegevens, volgens de richtlijnen zoals beschreven in ons <a href="/privacyverklaring/" target="_blank">privacyverklaring</a>.',
'constraints' => [ new IsTrue([ 'message' => 'checkout.terms_and_conditions.is_true' ]) ],
'data' => false,
));
$builder->add('submit', SubmitType::class, [ 'label' => 'Verzenden' ]);
}
/**
* {@inheritDoc}
*/
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
// ...
]);
}
}