getId() === null; $options['currency'] = $customer->getCurrency(); } $builder ->add('name', TextType::class, [ 'label' => 'name', 'attr' => [ 'autofocus' => 'autofocus' ], ]) ->add('number', TextType::class, [ 'label' => 'number', 'required' => false, ]) ->add('comment', TextareaType::class, [ 'label' => 'description', 'required' => false, ]) ->add('company', TextType::class, [ 'label' => 'company', 'required' => false, ]) ->add('vatId', TextType::class, [ 'label' => 'vat_id', 'required' => false, ]) ->add('contact', TextType::class, [ 'label' => 'contact', 'required' => false, ]) ->add('address', TextareaType::class, [ 'label' => 'address', 'required' => false, ]) ->add('country', CountryType::class, [ 'label' => 'country', ]) ->add('currency', CurrencyType::class, [ 'label' => 'currency', ]) ->add('phone', TelType::class, [ 'label' => 'phone', 'required' => false, 'block_prefix' => 'phone', ]) ->add('fax', TelType::class, [ 'label' => 'fax', 'required' => false, 'attr' => ['icon' => 'fax'], 'block_prefix' => 'phone', ]) ->add('mobile', TelType::class, [ 'label' => 'mobile', 'required' => false, 'attr' => ['icon' => 'mobile'], 'block_prefix' => 'phone', ]) ->add('email', MailType::class, [ 'required' => false, ]) ->add('homepage', UrlType::class, [ 'label' => 'homepage', 'required' => false, 'block_prefix' => 'homepage', ]) ->add('timezone', TimezoneType::class, [ 'label' => 'timezone', ]) ->add('invoiceText', TextareaType::class, [ 'label' => 'invoiceText', 'help' => 'help.invoiceText', 'required' => false, ]) ->add('invoiceTemplate', InvoiceTemplateType::class, [ 'help' => 'help.invoiceTemplate_customer', 'required' => false, ]) ; if ($isNew) { $builder ->add('teams', TeamType::class, [ 'required' => false, 'multiple' => true, 'expanded' => false, 'by_reference' => false, 'help' => 'help.teams', ]); } $this->addCommonFields($builder, $options); } public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'data_class' => Customer::class, 'csrf_protection' => true, 'csrf_field_name' => '_token', 'csrf_token_id' => 'admin_customer_edit', 'currency' => Customer::DEFAULT_CURRENCY, 'include_budget' => false, 'include_time' => false, 'attr' => [ 'data-form-event' => 'kimai.customerUpdate' ], ]); } }