lib/composer/OrderBundle/src/VisualMedia/OrderBundle/Form/Type/CartType.php line 23

Open in your IDE?
  1. <?php
  2. /**
  3.  * Cart Type
  4.  *
  5.  * @author Bertin van den Ham <b.vandenham@visualmedia.nl>
  6.  */
  7. namespace VisualMedia\OrderBundle\Form\Type;
  8. use Symfony\Component\Form\AbstractType;
  9. use Symfony\Component\Form\Extension\Core\Type\CollectionType;
  10. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  11. use Symfony\Component\Form\FormBuilderInterface;
  12. use Symfony\Component\OptionsResolver\OptionsResolver;
  13. use Symfony\Component\Validator\Constraints\Count;
  14. use Symfony\Component\Validator\Constraints\NotBlank;
  15. use VisualMedia\OrderBundle\Model\CartModel;
  16. /**
  17.  * Cart Type
  18.  */
  19. class CartType extends AbstractType
  20. {
  21.     public const NAME 'cart';
  22.     /**
  23.      * {@inheritDoc}
  24.      */
  25.     public function buildForm(FormBuilderInterface $builder, array $options)
  26.     {
  27.         $builder->add('items'CollectionType::class, array(
  28.             'label' => false,
  29.             'entry_type' => CartItemType::class,
  30.             'constraints' => array(
  31.                 new NotBlank(),
  32.                 new Count(array('min' => 1'minMessage' => 'cart.min_item_message'))
  33.             ),
  34.             'allow_add' => false
  35.         ));
  36.         $builder->add('submit'SubmitType::class, array(
  37.             'label' => 'cart.save'
  38.         ));
  39.     }
  40.     /**
  41.      * {@inheritDoc}
  42.      */
  43.     public function getName(): string
  44.     {
  45.         return static::NAME;
  46.     }
  47.     /**
  48.      * {@inheritDoc}
  49.      */
  50.     public function configureOptions(OptionsResolver $resolver)
  51.     {
  52.         $resolver->setDefaults(array(
  53.             'translation_domain' => 'forms',
  54.             'data_class' => CartModel::class,
  55.         ));
  56.     }
  57. }