]> Raphaƫl G. Git Repositories - airbundle/blobdiff - Form/SnippetType.php
Prevent site.icon and site.logo arrays to be flattened
[airbundle] / Form / SnippetType.php
index 9c2117194c1858fd2e8af27b9175f19ae7e9e661..05f581833d77d07c7d127fd9ab285e2c326c8a80 100644 (file)
@@ -3,14 +3,18 @@
 namespace Rapsys\AirBundle\Form;
 
 use Symfony\Component\Form\AbstractType;
 namespace Rapsys\AirBundle\Form;
 
 use Symfony\Component\Form\AbstractType;
-use Symfony\Component\Form\FormBuilderInterface;
-use Symfony\Component\OptionsResolver\OptionsResolver;
-#use Symfony\Bridge\Doctrine\Form\Type\EntityType;
+use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
+use Symfony\Component\Form\Extension\Core\Type\FileType;
 use Symfony\Component\Form\Extension\Core\Type\HiddenType;
 use Symfony\Component\Form\Extension\Core\Type\HiddenType;
-use Symfony\Component\Form\Extension\Core\Type\TextType;
-use Symfony\Component\Form\Extension\Core\Type\TextareaType;
+use Symfony\Component\Form\Extension\Core\Type\NumberType;
 use Symfony\Component\Form\Extension\Core\Type\SubmitType;
 use Symfony\Component\Form\Extension\Core\Type\SubmitType;
+use Symfony\Component\Form\Extension\Core\Type\TextareaType;
+use Symfony\Component\Form\Extension\Core\Type\UrlType;
+use Symfony\Component\Form\FormBuilderInterface;
+use Symfony\Component\OptionsResolver\OptionsResolver;
+use Symfony\Component\Validator\Constraints\File;
 use Symfony\Component\Validator\Constraints\NotBlank;
 use Symfony\Component\Validator\Constraints\NotBlank;
+
 use Rapsys\AirBundle\Form\Extension\Type\HiddenEntityType;
 use Rapsys\AirBundle\Entity\Location;
 use Rapsys\AirBundle\Entity\User;
 use Rapsys\AirBundle\Form\Extension\Type\HiddenEntityType;
 use Rapsys\AirBundle\Entity\Location;
 use Rapsys\AirBundle\Entity\User;
@@ -25,9 +29,17 @@ class SnippetType extends AbstractType {
                        ->add('locale', HiddenType::class, ['required' => true])
                        ->add('location', HiddenEntityType::class, ['required' => true])
                        ->add('user', HiddenEntityType::class, ['required' => true])
                        ->add('locale', HiddenType::class, ['required' => true])
                        ->add('location', HiddenEntityType::class, ['required' => true])
                        ->add('user', HiddenEntityType::class, ['required' => true])
-                       ->add('description', TextareaType::class, ['attr' => ['placeholder' => 'Your description', 'cols' => 50, 'rows' => 15], 'constraints' => [new NotBlank(['message' => 'Please provide your description'])], 'required' => true])
+                       ->add('description', TextareaType::class, ['attr' => ['placeholder' => 'Your description', 'cols' => 50, 'rows' => 15], 'required' => false])
+                       ->add('class', TextareaType::class, ['attr' => ['placeholder' => 'Your class', 'cols' => 50, 'rows' => 10], 'required' => false])
+                       ->add('short', TextareaType::class, ['attr' => ['placeholder' => 'Your short', 'cols' => 50, 'rows' => 10], 'required' => false])
+                       ->add('rate', NumberType::class, ['attr' => ['placeholder' => 'Your rate'], 'required' => false])
+                       ->add('hat', CheckboxType::class, ['attr' => ['placeholder' => 'Your hat'], 'required' => false])
+                       ->add('contact', UrlType::class, ['attr' => ['placeholder' => 'Your contact'], 'required' => false])
+                       ->add('donate', UrlType::class, ['attr' => ['placeholder' => 'Your donate'], 'required' => false])
+                       ->add('link', UrlType::class, ['attr' => ['placeholder' => 'Your link'], 'required' => false])
+                       ->add('profile', UrlType::class, ['attr' => ['placeholder' => 'Your profile'], 'required' => false])
+                       ->add('image', FileType::class, ['attr' => ['placeholder' => 'Your image'], 'constraints' => [new File(['maxSize' => '5M', 'mimeTypes' => ['image/jpeg', 'image/png', 'image/tiff', 'image/webp'], 'mimeTypesMessage' => 'Please upload a valid Image document'])], 'mapped' => false, 'required' => false])
                        ->add('submit', SubmitType::class, ['label' => 'Send', 'attr' => ['class' => 'submit']]);
                        ->add('submit', SubmitType::class, ['label' => 'Send', 'attr' => ['class' => 'submit']]);
-                       #->add('delete', SubmitType::class, ['label' => 'Remove', 'attr' => ['class' => 'submit']]);
        }
 
        /**
        }
 
        /**
@@ -41,8 +53,11 @@ class SnippetType extends AbstractType {
 
        /**
         * {@inheritdoc}
 
        /**
         * {@inheritdoc}
-        */
-       public function getName() {
-               return 'snippet_form';
-       }
+        * XXX: this doesn't work, because it's impossible to generate this same id on other side
+        * TODO: we would need to be able to generate this id at form creation
+        *
+       public function getBlockPrefix() {
+               //Prevent collision between instances with an unique block prefix
+               return 'snippet_'.uniqid();
+       }*/
 }
 }