]> git.immae.eu Git - github/wallabag/wallabag.git/blob - src/Wallabag/ApiBundle/Form/Type/ClientType.php
0ea1a9c5c6469c60c4126ba5773cf1172d4a7894
[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\UrlType;
9 use Symfony\Component\Form\Extension\Core\Type\TextType;
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, ['required' => false, 'label' => 'developer.client.form.redirect_uris_label'])
20 ->add('save', SubmitType::class, ['label' => 'developer.client.form.save_label'])
21 ;
22
23 $builder->get('redirect_uris')
24 ->addModelTransformer(new CallbackTransformer(
25 function ($originalUri) {
26 return $originalUri;
27 },
28 function ($submittedUri) {
29 return [$submittedUri];
30 }
31 ))
32 ;
33 }
34
35 public function configureOptions(OptionsResolver $resolver)
36 {
37 $resolver->setDefaults([
38 'data_class' => 'Wallabag\ApiBundle\Entity\Client',
39 ]);
40 }
41
42 public function getBlockPrefix()
43 {
44 return 'client';
45 }
46 }