/** * Form builder * * @param FormBuilderInterface $builder * @param array $options * * @return null */ public function buildForm(FormBuilderInterface $builder, array $options) { $builder->add('job', EntityType::class, array('label' => 'CompanyFrame.job.label', 'class' => 'AcfDataBundle:Job', 'query_builder' => function (JobRepository $br) { return $br->createQueryBuilder('j')->orderBy('j.label', 'ASC'); }, 'choice_label' => 'label', 'multiple' => false, 'by_reference' => true, 'required' => true)); $builder->add('sexe', ChoiceType::class, array('label' => 'CompanyFrame.sexe.label', 'choices_as_values' => true, 'choices' => CompanyFrame::choiceSexe(), 'attr' => array('choice_label_trans' => true))); $builder->add('firstName', TextType::class, array('label' => 'CompanyFrame.firstName.label')); $builder->add('lastName', TextType::class, array('label' => 'CompanyFrame.lastName.label')); $builder->add('cin', TextType::class, array('label' => 'CompanyFrame.cin.label', 'required' => false)); $builder->add('passport', TextType::class, array('label' => 'CompanyFrame.passport.label', 'required' => false)); $builder->add('email', EmailType::class, array('label' => 'CompanyFrame.email.label', 'required' => false)); $builder->add('phone', TextType::class, array('label' => 'CompanyFrame.phone.label', 'required' => false)); $builder->add('mobile', TextType::class, array('label' => 'CompanyFrame.mobile.label', 'required' => false)); $builder->add('streetNum', IntegerType::class, array('label' => 'CompanyFrame.streetNum.label', 'scale' => 0, 'required' => false)); $builder->add('address', TextareaType::class, array('label' => 'CompanyFrame.address.label', 'required' => false)); $builder->add('address2', TextareaType::class, array('label' => 'CompanyFrame.address2.label', 'required' => false)); $builder->add('town', TextType::class, array('label' => 'CompanyFrame.town.label', 'required' => false)); $builder->add('zipCode', TextType::class, array('label' => 'CompanyFrame.zipCode.label', 'required' => false)); $builder->add('country', CountryType::class, array('label' => 'CompanyFrame.country.label', 'required' => false, 'placeholder' => 'Options.choose', 'empty_data' => null)); $builder->add('otherInfos', TextareaType::class, array('label' => 'CompanyFrame.otherInfos.label', 'required' => false)); }
/** * Form builder * * @param FormBuilderInterface $builder * @param array $options * * @return null */ public function buildForm(FormBuilderInterface $builder, array $options) { $this->company = $options['company']; $this->job = $options['job']; if (null == $this->company) { $builder->add('company', EntityType::class, array('label' => 'CompanyFrame.company.label', 'class' => 'AcfDataBundle:Company', 'query_builder' => function (CompanyRepository $br) { return $br->createQueryBuilder('c')->orderBy('c.corporateName', 'ASC'); }, 'choice_label' => 'corporateName', 'multiple' => false, 'by_reference' => true, 'required' => true)); } else { $companyId = $this->company->getId(); $builder->add('company', EntityidType::class, array('label' => 'CompanyFrame.company.label', 'class' => 'AcfDataBundle:Company', 'query_builder' => function (CompanyRepository $br) use($companyId) { return $br->createQueryBuilder('c')->where('c.id = :id')->setParameter('id', $companyId)->orderBy('c.corporateName', 'ASC'); }, 'choice_label' => 'id', 'multiple' => false, 'by_reference' => true, 'required' => true)); } if (null == $this->job) { $builder->add('job', EntityType::class, array('label' => 'CompanyFrame.job.label', 'class' => 'AcfDataBundle:Job', 'query_builder' => function (JobRepository $br) { return $br->createQueryBuilder('j')->orderBy('j.label', 'ASC'); }, 'choice_label' => 'label', 'multiple' => false, 'by_reference' => true, 'required' => true)); } else { $jobId = $this->job->getId(); $builder->add('job', EntityidType::class, array('label' => 'CompanyFrame.job.label', 'class' => 'AcfDataBundle:Job', 'query_builder' => function (JobRepository $br) use($jobId) { return $br->createQueryBuilder('j')->where('j.id = :id')->setParameter('id', $jobId)->orderBy('j.label', 'ASC'); }, 'choice_label' => 'id', 'multiple' => false, 'by_reference' => true, 'required' => true)); } $builder->add('sexe', ChoiceType::class, array('label' => 'CompanyFrame.sexe.label', 'choices_as_values' => true, 'choices' => CompanyFrame::choiceSexe(), 'attr' => array('choice_label_trans' => true))); $builder->add('firstName', TextType::class, array('label' => 'CompanyFrame.firstName.label')); $builder->add('lastName', TextType::class, array('label' => 'CompanyFrame.lastName.label')); $builder->add('cin', TextType::class, array('label' => 'CompanyFrame.cin.label', 'required' => false)); $builder->add('passport', TextType::class, array('label' => 'CompanyFrame.passport.label', 'required' => false)); $builder->add('email', EmailType::class, array('label' => 'CompanyFrame.email.label', 'required' => false)); $builder->add('phone', TextType::class, array('label' => 'CompanyFrame.phone.label', 'required' => false)); $builder->add('mobile', TextType::class, array('label' => 'CompanyFrame.mobile.label', 'required' => false)); $builder->add('streetNum', IntegerType::class, array('label' => 'CompanyFrame.streetNum.label', 'scale' => 0, 'required' => false)); $builder->add('address', TextareaType::class, array('label' => 'CompanyFrame.address.label', 'required' => false)); $builder->add('address2', TextareaType::class, array('label' => 'CompanyFrame.address2.label', 'required' => false)); $builder->add('town', TextType::class, array('label' => 'CompanyFrame.town.label', 'required' => false)); $builder->add('zipCode', TextType::class, array('label' => 'CompanyFrame.zipCode.label', 'required' => false)); $builder->add('country', CountryType::class, array('label' => 'CompanyFrame.country.label', 'required' => false, 'placeholder' => 'Options.choose', 'empty_data' => null)); $builder->add('otherInfos', TextareaType::class, array('label' => 'CompanyFrame.otherInfos.label', 'required' => false)); }