|
- <?php
-
- namespace Lc\CaracoleBundle\Form\Order;
-
- use Doctrine\ORM\EntityManagerInterface;
- use Lc\CaracoleBundle\Model\Order\OrderProductInterface;
- use Symfony\Component\Form\AbstractType;
- use Symfony\Component\Form\Extension\Core\Type\HiddenType;
- use Symfony\Component\Form\Extension\Core\Type\NumberType;
- use Symfony\Component\Form\FormBuilderInterface;
- use Symfony\Component\OptionsResolver\OptionsResolver;
- use Lc\CaracoleBundle\Form\Product\ProductToIdTransformer;
-
- class OrderProductType extends AbstractType
- {
- protected EntityManagerInterface $entityManager;
- protected ProductToIdTransformer $productTransformer;
-
- public function __construct(EntityManagerInterface $entityManager, ProductToIdTransformer $productTransformer)
- {
- $this->entityManager = $entityManager;
- $this->productTransformer = $productTransformer;
- }
-
- public function buildForm(FormBuilderInterface $builder, array $options)
- {
- $data = $options['data'];
-
- $builder
- ->add('quantityOrder', NumberType::class)
- ->add('product', HiddenType::class);
-
- $builder->get('product')->addModelTransformer($this->productTransformer);
- }
-
- public function configureOptions(OptionsResolver $resolver)
- {
- $resolver->setDefaults([
- 'data_class' => $this->entityManager->getEntityName(
- OrderProductInterface::class
- ),
- ]);
- }
- }
|