src/Form/Almacen/ArticuloType.php line 29

Open in your IDE?
  1. <?php
  2. namespace App\Form\Almacen;
  3. use App\Entity\Almacen\Articulo;
  4. use Symfony\Component\Form\AbstractType;
  5. use Symfony\Component\Form\FormBuilderInterface;
  6. use Symfony\Component\OptionsResolver\OptionsResolver;
  7. use Symfony\Bridge\Doctrine\Form\Type\EntityType;
  8. use Symfony\Component\Validator\Constraints\NotBlank;
  9. use Doctrine\ORM\EntityRepository;
  10. use App\Entity\Almacen\UnidadMedida;
  11. use App\Entity\Calidad\InsumoArticulo;
  12. use App\Entity\Calidad\ProductoArticulo;
  13. use App\Entity\Calidad\TipoArticulo;
  14. class ArticuloType extends AbstractType
  15. {
  16.     public function buildForm(FormBuilderInterface $builder, array $options): void
  17.     {
  18.         $builder
  19.             ->add('descripcion')
  20.             ->add('codigo')
  21.             ->add('codigoBarras')
  22.             ->add('unidaMedida',
  23.                   EntityType::class,        
  24.                   [
  25.                     'class' => UnidadMedida::class,
  26.                     'query_builder' => function (EntityRepository $er){
  27.                                                                         return $er->createQueryBuilder('u')
  28.                                                                                   ->where('u.activa = :activo')
  29.                                                                                   ->setParameter('activo'true)
  30.                                                                                   ->orderBy('u.nombre''ASC');
  31.                                                                         },
  32.                  ])
  33.             ->add('insumo',
  34.                   EntityType::class,        
  35.                   [
  36.                     'class' => InsumoArticulo::class,
  37.                     'required' => false,
  38.                     'query_builder' => function (EntityRepository $er){
  39.                                                                         return $er->createQueryBuilder('u')
  40.                                                                                   ->where('u.activo = :activo')
  41.                                                                                   ->setParameter('activo'true)
  42.                                                                                   ->orderBy('u.nombre''ASC');
  43.                                                                         },
  44.                  ])
  45.             ->add('producto',
  46.                   EntityType::class,        
  47.                   [
  48.                     'class' => ProductoArticulo::class,
  49.                     'required' => false,
  50.                     'query_builder' => function (EntityRepository $er){
  51.                                                                         return $er->createQueryBuilder('u')
  52.                                                                                   ->where('u.activo = :activo')
  53.                                                                                   ->setParameter('activo'true)
  54.                                                                                   ->orderBy('u.nombre''ASC');
  55.                                                                         },
  56.                  ])
  57.             ->add('tipo',
  58.                   EntityType::class,        
  59.                   [
  60.                     'class' => TipoArticulo::class,
  61.                     'required' => false,
  62.                     'query_builder' => function (EntityRepository $er){
  63.                                                                         return $er->createQueryBuilder('u')
  64.                                                                                   ->where('u.activo = :activo')
  65.                                                                                   ->setParameter('activo'true)
  66.                                                                                   ->orderBy('u.nombre''ASC');
  67.                                                                         },
  68.                  ])
  69.             ->add('aplicaciones')
  70.             ->add('categoria')
  71.             ->add('maquinarias')
  72.             ->add('activo')
  73.             ->add('herramienta')
  74.         ;
  75.     }
  76.     public function configureOptions(OptionsResolver $resolver): void
  77.     {
  78.         $resolver->setDefaults([
  79.             'data_class' => Articulo::class,
  80.         ]);
  81.     }
  82. }