diff options
Diffstat (limited to 'src/Wallabag/CoreBundle/Form/Type')
-rw-r--r-- | src/Wallabag/CoreBundle/Form/Type/ClientType.php | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/Wallabag/CoreBundle/Form/Type/ClientType.php b/src/Wallabag/CoreBundle/Form/Type/ClientType.php new file mode 100644 index 00000000..dd934715 --- /dev/null +++ b/src/Wallabag/CoreBundle/Form/Type/ClientType.php | |||
@@ -0,0 +1,44 @@ | |||
1 | <?php | ||
2 | |||
3 | namespace Wallabag\CoreBundle\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\FormBuilderInterface; | ||
10 | use Symfony\Component\OptionsResolver\OptionsResolver; | ||
11 | |||
12 | class ClientType extends AbstractType | ||
13 | { | ||
14 | public function buildForm(FormBuilderInterface $builder, array $options) | ||
15 | { | ||
16 | $builder | ||
17 | ->add('redirect_uris', UrlType::class, array('required' => true, 'label' => 'Redirect URIs')) | ||
18 | ->add('save', SubmitType::class, array('label' => 'Create a new client')) | ||
19 | ; | ||
20 | |||
21 | $builder->get('redirect_uris') | ||
22 | ->addModelTransformer(new CallbackTransformer( | ||
23 | function ($originalUri) { | ||
24 | return $originalUri; | ||
25 | }, | ||
26 | function ($submittedUri) { | ||
27 | return array($submittedUri); | ||
28 | } | ||
29 | )) | ||
30 | ; | ||
31 | } | ||
32 | |||
33 | public function configureOptions(OptionsResolver $resolver) | ||
34 | { | ||
35 | $resolver->setDefaults(array( | ||
36 | 'data_class' => 'Wallabag\ApiBundle\Entity\Client', | ||
37 | )); | ||
38 | } | ||
39 | |||
40 | public function getBlockPrefix() | ||
41 | { | ||
42 | return 'client'; | ||
43 | } | ||
44 | } | ||