*/ final class ExportToolbarForm extends AbstractType { use ToolbarFormTrait; public function buildForm(FormBuilderInterface $builder, array $options): void { $this->addSearchTermInputField($builder); $this->addDateRange($builder, ['timezone' => $options['timezone']]); $this->addCustomerMultiChoice($builder, ['start_date_param' => null, 'end_date_param' => null, 'ignore_date' => true], true); $this->addProjectMultiChoice($builder, ['ignore_date' => true], true, true); $this->addActivitySelect($builder, [], true, true, false); $this->addTagInputField($builder); if ($options['include_user']) { $this->addUsersChoice($builder); $this->addTeamsChoice($builder); } $this->addExportStateChoice($builder); $this->addTimesheetStateChoice($builder); $this->addBillableChoice($builder); $builder->add('renderer', HiddenType::class, []); if ($options['include_export']) { $builder->add('markAsExported', HiddenType::class, [ 'label' => 'mark_as_exported', 'required' => false, ]); } } public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'data_class' => ExportQuery::class, 'csrf_protection' => false, 'include_user' => true, 'include_export' => true, 'timezone' => date_default_timezone_get(), ]); } }