getId(); if ($id !== null) { $customer = $entry->getCustomer(); $options['currency'] = $customer->getCurrency(); } } $builder ->add('name', TextType::class, [ 'label' => 'label.name', 'attr' => [ 'autofocus' => 'autofocus' ], ]) ->add('comment', TextareaType::class, [ 'label' => 'label.comment', 'required' => false, ]) ->add('orderNumber', TextType::class, [ 'label' => 'label.orderNumber', 'required' => false, ]) ->add('customer', CustomerType::class, [ 'query_builder' => function (CustomerRepository $repo) use ($builder, $customer) { $query = new CustomerFormTypeQuery($customer); $query->setUser($builder->getOption('user')); return $repo->getQueryBuilderForFormType($query); }, ]); $this->addCommonFields($builder, $options); if (null === $id && $options['create_more']) { $this->addCreateMore($builder); } } /** * {@inheritdoc} */ public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults([ 'data_class' => Project::class, 'csrf_protection' => true, 'csrf_field_name' => '_token', 'csrf_token_id' => 'admin_project_edit', 'currency' => Customer::DEFAULT_CURRENCY, 'include_budget' => false, 'create_more' => false, 'attr' => [ 'data-form-event' => 'kimai.projectUpdate' ], ]); } }