addSearchTermInputField($builder); $this->addTemplateChoice($builder); if ($options['include_user']) { $this->addUsersChoice($builder); } $this->addDateRangeChoice($builder); $this->addCustomerChoice($builder, true); $this->addProjectChoice($builder); $this->addActivityChoice($builder); $this->addTagInputField($builder); $this->addExportStateChoice($builder); $builder->add('markAsExported', CheckboxType::class, [ 'label' => 'label.mark_as_exported', 'required' => false, ]); $builder->add('create', SubmitType::class, [ 'label' => 'button.print', 'attr' => ['formtarget' => '_blank'], ]); $builder->add('preview', SubmitType::class, [ 'label' => 'button.preview', ]); } protected function addTemplateChoice(FormBuilderInterface $builder) { $builder->add('template', InvoiceTemplateType::class, [ 'required' => true, 'placeholder' => null, ]); } /** * {@inheritdoc} */ public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults([ 'data_class' => InvoiceQuery::class, 'csrf_protection' => false, 'include_user' => true, ]); } }