]> git.immae.eu Git - github/wallabag/wallabag.git/blob - src/Wallabag/ApiBundle/Form/Type/ClientType.php
Add a real configuration for CS-Fixer
[github/wallabag/wallabag.git] / src / Wallabag / ApiBundle / Form / Type / ClientType.php
1 <?php
2
3 namespace Wallabag\ApiBundle\Form\Type;
4
5 use Symfony\Component\Form\AbstractType;
6 use Symfony\Component\Form\CallbackTransformer;
7 use Symfony\Component\Form\Extension\Core\Type\SubmitType;
8 use Symfony\Component\Form\Extension\Core\Type\TextType;
9 use Symfony\Component\Form\Extension\Core\Type\UrlType;
10 use Symfony\Component\Form\FormBuilderInterface;
11 use Symfony\Component\OptionsResolver\OptionsResolver;
12
13 class ClientType extends AbstractType
14 {
15 public function buildForm(FormBuilderInterface $builder, array $options)
16 {
17 $builder
18 ->add('name', TextType::class, ['label' => 'developer.client.form.name_label'])
19 ->add('redirect_uris', UrlType::class, [
20 'required' => false,
21 'label' => 'developer.client.form.redirect_uris_label',
22 'property_path' => 'redirectUris',
23 ])
24 ->add('save', SubmitType::class, ['label' => 'developer.client.form.save_label'])
25 ;
26
27 $builder->get('redirect_uris')
28 ->addModelTransformer(new CallbackTransformer(
29 function ($originalUri) {
30 return $originalUri;
31 },
32 function ($submittedUri) {
33 return [$submittedUri];
34 }
35 ))
36 ;
37 }
38
39 public function configureOptions(OptionsResolver $resolver)
40 {
41 $resolver->setDefaults([
42 'data_class' => 'Wallabag\ApiBundle\Entity\Client',
43 ]);
44 }
45
46 public function getBlockPrefix()
47 {
48 return 'client';
49 }
50 }