Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

63 lines
2.5KB

  1. <?php
  2. namespace Lc\SovBundle\Form\Ticket;
  3. use Doctrine\ORM\EntityManagerInterface;
  4. use Lc\SovBundle\Model\Ticket\TicketMessageInterface;
  5. use Symfony\Component\Form\AbstractType;
  6. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  7. use Symfony\Component\Form\Extension\Core\Type\FileType;
  8. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  9. use Symfony\Component\Form\FormBuilderInterface;
  10. use Symfony\Component\OptionsResolver\OptionsResolver;
  11. use Symfony\Component\Validator\Constraints\File;
  12. class TicketMessageType extends AbstractType
  13. {
  14. protected EntityManagerInterface $entityManager;
  15. public function __construct(EntityManagerInterface $entityManager)
  16. {
  17. $this->entityManager = $entityManager;
  18. }
  19. public function buildForm(FormBuilderInterface $builder, array $options)
  20. {
  21. $builder
  22. ->add('message', TextareaType::class, [
  23. 'label' => 'entity.TicketMessage.fields.message',
  24. 'translation_domain' => 'admin',
  25. ])
  26. ->add('image', FileType::class, [
  27. 'label' => 'Photo',
  28. 'mapped' => false,
  29. 'required' => false,
  30. 'constraints' => [
  31. new File([
  32. 'maxSize' => '2048k',
  33. 'mimeTypes' => [
  34. 'image/png',
  35. 'image/jpeg',
  36. 'image/jpg',
  37. 'image/gif',
  38. ],
  39. 'mimeTypesMessage' => "Mauvais format d'image (formats acceptés : jpeg, png, gif)",
  40. ])
  41. ],
  42. ])
  43. ->add('closeTicket', CheckboxType::class, [
  44. 'label' => 'entity.TicketMessage.fields.closeTicket',
  45. 'translation_domain' => 'admin',
  46. 'required' => false,
  47. 'mapped' => false,
  48. ]);
  49. }
  50. public function configureOptions(OptionsResolver $resolver)
  51. {
  52. $resolver->setDefaults([
  53. 'data_class' => $this->entityManager->getEntityName(TicketMessageInterface::class),
  54. ]);
  55. }
  56. }