aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Wallabag/UserBundle/Form
diff options
context:
space:
mode:
authorJeremy Benoist <jeremy.benoist@gmail.com>2016-09-30 20:09:06 +0200
committerJeremy Benoist <jeremy.benoist@gmail.com>2016-10-02 11:08:53 +0200
commit152fcccd4489378a8ed9391e3e191df4aeba6435 (patch)
treec64685be77d9e850d5370c66fac3ffb5b12f095b /src/Wallabag/UserBundle/Form
parent52c1fc7449554c942c945e6c740e0e11d2f60a0d (diff)
downloadwallabag-152fcccd4489378a8ed9391e3e191df4aeba6435.tar.gz
wallabag-152fcccd4489378a8ed9391e3e191df4aeba6435.tar.zst
wallabag-152fcccd4489378a8ed9391e3e191df4aeba6435.zip
Add users management UI
- remove the “add a user” from the config page - add a CRUD on user - fix some missing translations (+ bad indentation)
Diffstat (limited to 'src/Wallabag/UserBundle/Form')
-rw-r--r--src/Wallabag/UserBundle/Form/NewUserType.php58
-rw-r--r--src/Wallabag/UserBundle/Form/UserType.php61
2 files changed, 119 insertions, 0 deletions
diff --git a/src/Wallabag/UserBundle/Form/NewUserType.php b/src/Wallabag/UserBundle/Form/NewUserType.php
new file mode 100644
index 00000000..ad5a2405
--- /dev/null
+++ b/src/Wallabag/UserBundle/Form/NewUserType.php
@@ -0,0 +1,58 @@
1<?php
2
3namespace Wallabag\UserBundle\Form;
4
5use Symfony\Component\Form\AbstractType;
6use Symfony\Component\Form\Extension\Core\Type\EmailType;
7use Symfony\Component\Form\Extension\Core\Type\PasswordType;
8use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
9use Symfony\Component\Form\Extension\Core\Type\SubmitType;
10use Symfony\Component\Form\Extension\Core\Type\TextType;
11use Symfony\Component\Form\FormBuilderInterface;
12use Symfony\Component\OptionsResolver\OptionsResolver;
13use Symfony\Component\Validator\Constraints;
14
15class NewUserType extends AbstractType
16{
17 public function buildForm(FormBuilderInterface $builder, array $options)
18 {
19 $builder
20 ->add('username', TextType::class, [
21 'required' => true,
22 'label' => 'user.form.username_label',
23 ])
24 ->add('plainPassword', RepeatedType::class, [
25 'type' => PasswordType::class,
26 'invalid_message' => 'validator.password_must_match',
27 'first_options' => ['label' => 'user.form.password_label'],
28 'second_options' => ['label' => 'user.form.repeat_new_password_label'],
29 'constraints' => [
30 new Constraints\Length([
31 'min' => 8,
32 'minMessage' => 'validator.password_too_short',
33 ]),
34 new Constraints\NotBlank(),
35 ],
36 'label' => 'user.form.plain_password_label',
37 ])
38 ->add('email', EmailType::class, [
39 'label' => 'user.form.email_label',
40 ])
41 ->add('save', SubmitType::class, [
42 'label' => 'user.form.save',
43 ])
44 ;
45 }
46
47 public function configureOptions(OptionsResolver $resolver)
48 {
49 $resolver->setDefaults([
50 'data_class' => 'Wallabag\UserBundle\Entity\User',
51 ]);
52 }
53
54 public function getBlockPrefix()
55 {
56 return 'new_user';
57 }
58}
diff --git a/src/Wallabag/UserBundle/Form/UserType.php b/src/Wallabag/UserBundle/Form/UserType.php
new file mode 100644
index 00000000..cfa67793
--- /dev/null
+++ b/src/Wallabag/UserBundle/Form/UserType.php
@@ -0,0 +1,61 @@
1<?php
2
3namespace Wallabag\UserBundle\Form;
4
5use Symfony\Component\Form\AbstractType;
6use Symfony\Component\Form\FormBuilderInterface;
7use Symfony\Component\OptionsResolver\OptionsResolver;
8use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
9use Symfony\Component\Form\Extension\Core\Type\SubmitType;
10use Symfony\Component\Form\Extension\Core\Type\TextType;
11use Symfony\Component\Form\Extension\Core\Type\EmailType;
12
13class UserType extends AbstractType
14{
15 /**
16 * @param FormBuilderInterface $builder
17 * @param array $options
18 */
19 public function buildForm(FormBuilderInterface $builder, array $options)
20 {
21 $builder
22 ->add('name', TextType::class, [
23 'required' => false,
24 'label' => 'user.form.name_label',
25 ])
26 ->add('username', TextType::class, [
27 'required' => true,
28 'label' => 'user.form.username_label',
29 ])
30 ->add('email', EmailType::class, [
31 'required' => true,
32 'label' => 'user.form.email_label',
33 ])
34 ->add('enabled', CheckboxType::class, [
35 'required' => false,
36 'label' => 'user.form.enabled_label',
37 ])
38 ->add('locked', CheckboxType::class, [
39 'required' => false,
40 'label' => 'user.form.locked_label',
41 ])
42 ->add('twoFactorAuthentication', CheckboxType::class, [
43 'required' => false,
44 'label' => 'user.form.twofactor_label',
45 ])
46 ->add('save', SubmitType::class, [
47 'label' => 'user.form.save',
48 ])
49 ;
50 }
51
52 /**
53 * @param OptionsResolver $resolver
54 */
55 public function configureOptions(OptionsResolver $resolver)
56 {
57 $resolver->setDefaults(array(
58 'data_class' => 'Wallabag\UserBundle\Entity\User',
59 ));
60 }
61}