Linux SRV-16 6.18.44-paas #1 SMP PREEMPT_DYNAMIC Thu Aug 13 10:08:12 UTC 2026 x86_64
/
proc
/
212
/
root
/
proc
/
self
/
root
/
proc
/
212
/
task
/
212
/
root
/
proc
/
70528
/
cwd
/
src
/
Form
/
//proc/212/root/proc/self/root/proc/212/task/212/root/proc/70528/cwd/src/Form/CartItemType.php
<?php namespace App\Form; use App\Entity\Fold; use App\Entity\Page; use App\Entity\Size; use App\Entity\Color; use App\Entity\Product; use App\Entity\CartItem; use App\Entity\Grammage; use App\Entity\Quantity; use App\Entity\Finishing; use App\Repository\ColorRepository; use App\Repository\FinishingRepository; use App\Repository\FoldRepository; use App\Repository\GrammageRepository; use App\Repository\PageRepository; use App\Repository\QuantityRepository; use App\Repository\SizeRepository; use Symfony\Component\Form\AbstractType; use Vich\UploaderBundle\Form\Type\VichFileType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Bridge\Doctrine\Form\Type\EntityType; use Symfony\Component\OptionsResolver\OptionsResolver; use Symfony\Component\Form\Extension\Core\Type\NumberType; use Symfony\Component\Form\Extension\Core\Type\HiddenType; use Symfony\Component\Form\Extension\Core\Type\TextareaType; class CartItemType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options): void { $builder ->add('size', EntityType::class, [ "class" => Size::class, 'query_builder' => function (SizeRepository $pr) use ($options) { return $pr->createQueryBuilder('p') ->where("p.product = $options[productId]") ->andWhere("p.active = 1"); }, "choice_label" => "name" ]) ->add('pages', EntityType::class, [ "class" => Page::class, 'query_builder' => function (PageRepository $pr) use ($options) { return $pr->createQueryBuilder('p') ->where("p.product = $options[productId]") ->andWhere("p.active = 1"); }, "choice_label" => "name" ]) ->add('quantity', EntityType::class, [ "class" => Quantity::class, 'query_builder' => function (QuantityRepository $pr) use ($options) { return $pr->createQueryBuilder('p') ->where("p.product = $options[productId]") ->andWhere("p.active = 1"); }, "choice_label" => "quantity" ]) ->add('color', EntityType::class, [ "class" => Color::class, 'query_builder' => function (ColorRepository $pr) use ($options) { return $pr->createQueryBuilder('p') ->where("p.product = $options[productId]") ->andWhere("p.active = 1"); }, "choice_label" => "name" ]) ->add('grammage', EntityType::class, [ "class" => Grammage::class, "choices" => $options["grammages"], "choice_label" => "name" ]) ->add('finishing', EntityType::class, [ "class" => Finishing::class, 'query_builder' => function (FinishingRepository $pr) use ($options) { return $pr->createQueryBuilder('p') ->where("p.product = $options[productId]") ->andWhere("p.active = 1"); }, "choice_label" => "name" ]) ->add("fold", EntityType::class, [ "class" => Fold::class, 'query_builder' => function (FoldRepository $pr) use ($options) { return $pr->createQueryBuilder('p') ->where("p.product = $options[productId]") ->andWhere("p.active = 1"); }, "choice_label" => "name" ]) ->add("designFile", VichFileType::class, [ "label" => false, "required" => false, "attr" => [ "style" => "display: none", ] ]) ->add("textMessage", TextareaType::class, [ "label" => "Message, indications ou consignes supplémentaires pour ce produit", "required" => false ]) ->add("mockup", HiddenType::class, [ "required" => false ]) ->add("mock_up_prompt", TextareaType::class, [ "mapped" => false, "required" => false, "label" => false ]); } public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'data_class' => CartItem::class, "productId" => false, "grammages" => false ]); } }