<?php
namespace App\Form\Customer;
use App\Entity\ComplexMeasurement;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\NumberType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Contracts\Translation\TranslatorInterface;
/**
* Formular pro vypocet ceny za balik na zaklade parametru baliku, formular nema tlacitko submit
*/
class PackageCalculation extends AbstractType
{
private TranslatorInterface $translator;
public function __construct(TranslatorInterface $translator)
{
$this->translator = $translator;
}
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add(
'length',
NumberType::class,
[
'label' => $this->translator->trans('Délka:'),
'help' => $this->translator->trans('v centimetrech, maximální délka je 100 cm'),
'required' => true,
'attr' => ['step' => 'any']
]
)
->add(
'width',
NumberType::class,
[
'label' => $this->translator->trans('Šířka:'),
'help' => $this->translator->trans('v centimetrech, maximální šířka je 100 cm'),
'required' => true,
'attr' => ['step' => 'any']
]
)
->add(
'height',
NumberType::class,
[
'label' => $this->translator->trans('Výška:'),
'help' => $this->translator->trans('v centimetrech, maximální výška je 100 cm'),
'required' => true,
'attr' => ['step' => 'any']
]
)
->add(
'weight',
NumberType::class,
[
'label' => $this->translator->trans('Hmotnost:'),
'help' => $this->translator->trans('v kilogramech, maximální váha je 30 kg'),
'required' => true,
'attr' => ['step' => 'any']
]
);
if ($options['renderSubmitButton']) {
$builder->add(
'submit',
SubmitType::class,
[
'label' => $this->translator->trans('Odeslat')
]
);
}
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setRequired('entityManager');
$resolver->setRequired('renderSubmitButton');
$resolver->setDefaults([
'renderSubmitButton' => false,
'data_class' => ComplexMeasurement::class
]);
}
}