<?phpnamespace App\Form\Movimientos;use App\Entity\Movimientos\RemitoEntrega;use Symfony\Component\Form\AbstractType;use Symfony\Component\Form\FormBuilderInterface;use Symfony\Component\OptionsResolver\OptionsResolver;use Symfony\Component\Form\Extension\Core\Type\DateType;use Symfony\Bridge\Doctrine\Form\Type\EntityType;use Doctrine\ORM\EntityRepository;use Doctrine\ORM\QueryBuilder;use App\Entity\Movimientos\Proveedor;use App\Entity\Almacen\Deposito;use Symfony\Component\Validator\Constraints\NotBlank;class RemitoEntregaType extends AbstractType{ public function buildForm(FormBuilderInterface $builder, array $options): void { $deposito = ($options['user'] ? $options['user']->getDefault() : null); $builder ->add('fecha', DateType::class, [ 'widget' => 'single_text', ] ) ->add('numeroComprobante') ->add('observaciones') ->add('deposito', EntityType::class, [ 'class' => Deposito::class, 'data' => $deposito, 'placeholder' => 'Seleccione un depósito', 'constraints' => array( new NotBlank(['message' => 'Campo requerido']), ), 'query_builder' => function (EntityRepository $er) { return $er->createQueryBuilder('d') ->where('d.activo = :activo') ->setParameter('activo', true) ->orderBy('d.nombre', 'ASC'); }, ]) ->add('proveedor', EntityType::class, [ 'class' => Proveedor::class, 'placeholder' => 'Seleccione un proveedor', 'query_builder' => function (EntityRepository $er) { return $er->createQueryBuilder('u') ->where('u.activo = :activo') ->setParameter('activo', true) ->orderBy('u.razonSocial', 'ASC'); } ] ) ; } public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'data_class' => RemitoEntrega::class, ]) ->setRequired('user'); }}