src/Form/VehicleRtsActivityTransportsType.php line 53
<?php
namespace App\Form;
use App\Entity\TransporterDrivers;
use App\Entity\Transporters;
use App\Entity\VehicleRtsActivitiesInvoices;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Contracts\Translation\TranslatorInterface;
use Doctrine\ORM\EntityRepository;
/**
* Class VehicleRtsActivityTransportsType
* @package App\Form
*/
class VehicleRtsActivityTransportsType extends AbstractType
{
/**
* @var Translator
*/
protected $translator;
/**
* VehicleRtsActivityTransportsType constructor.
* @param Translator|null $translator
*/
public function __construct(TranslatorInterface $translator= null)
{
$this->translator = $translator;
}
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$trans = $this->translator;
$transporterValidation = $trans->trans('you should select a transporter', [], 'validators');
$builder->add('transporter', EntityType::class, array(
'class' => Transporters::class,
'label' => 'Transporter',
'choice_label' => 'name'.ucfirst($options['locale']),
'placeholder' => 'Please Select',
'required' => true,
'attr' => ['validate-msg' => $transporterValidation]
))
->add('driver', EntityType::class, array(
'label' => 'The Driver',
'class' => TransporterDrivers::class,
'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('TD')
->where('TD.isActive = 1');
},
'placeholder' => 'Please Select',
'required' => false,
'choice_label' => function (TransporterDrivers $driver) use ($options) {
if($driver->getIsActive()==1) {
return $driver->getUser()->getUserIdentityInfo()->getName($options['locale']);
}
}
))
->add('rtsInvoice', VehicleRtsActivitiesInvoicesType::class, array(
'label' => false,
'data_class' => VehicleRtsActivitiesInvoices::class,
'by_reference' => false,
'required' => true,
'theEffectiveVat'=> $options['theEffectiveVat']
));
}
/**
* {@inheritdoc}
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'translation_domain' => 'vehicles',
'locale' => 'en',
'theEffectiveVat' => false
));
}
/**
* {@inheritdoc}
*/
public function getBlockPrefix()
{
return 'appbundle_vehiclertsactivitytransports';
}
}