forked from wallabag/wallabag
Add users management UI
- remove the “add a user” from the config page - add a CRUD on user - fix some missing translations (+ bad indentation)
This commit is contained in:
58
src/Wallabag/UserBundle/Form/NewUserType.php
Normal file
58
src/Wallabag/UserBundle/Form/NewUserType.php
Normal file
@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
namespace Wallabag\UserBundle\Form;
|
||||
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\EmailType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
use Symfony\Component\Validator\Constraints;
|
||||
|
||||
class NewUserType extends AbstractType
|
||||
{
|
||||
public function buildForm(FormBuilderInterface $builder, array $options)
|
||||
{
|
||||
$builder
|
||||
->add('username', TextType::class, [
|
||||
'required' => true,
|
||||
'label' => 'user.form.username_label',
|
||||
])
|
||||
->add('plainPassword', RepeatedType::class, [
|
||||
'type' => PasswordType::class,
|
||||
'invalid_message' => 'validator.password_must_match',
|
||||
'first_options' => ['label' => 'user.form.password_label'],
|
||||
'second_options' => ['label' => 'user.form.repeat_new_password_label'],
|
||||
'constraints' => [
|
||||
new Constraints\Length([
|
||||
'min' => 8,
|
||||
'minMessage' => 'validator.password_too_short',
|
||||
]),
|
||||
new Constraints\NotBlank(),
|
||||
],
|
||||
'label' => 'user.form.plain_password_label',
|
||||
])
|
||||
->add('email', EmailType::class, [
|
||||
'label' => 'user.form.email_label',
|
||||
])
|
||||
->add('save', SubmitType::class, [
|
||||
'label' => 'user.form.save',
|
||||
])
|
||||
;
|
||||
}
|
||||
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
{
|
||||
$resolver->setDefaults([
|
||||
'data_class' => 'Wallabag\UserBundle\Entity\User',
|
||||
]);
|
||||
}
|
||||
|
||||
public function getBlockPrefix()
|
||||
{
|
||||
return 'new_user';
|
||||
}
|
||||
}
|
||||
61
src/Wallabag/UserBundle/Form/UserType.php
Normal file
61
src/Wallabag/UserBundle/Form/UserType.php
Normal file
@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
namespace Wallabag\UserBundle\Form;
|
||||
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\EmailType;
|
||||
|
||||
class UserType extends AbstractType
|
||||
{
|
||||
/**
|
||||
* @param FormBuilderInterface $builder
|
||||
* @param array $options
|
||||
*/
|
||||
public function buildForm(FormBuilderInterface $builder, array $options)
|
||||
{
|
||||
$builder
|
||||
->add('name', TextType::class, [
|
||||
'required' => false,
|
||||
'label' => 'user.form.name_label',
|
||||
])
|
||||
->add('username', TextType::class, [
|
||||
'required' => true,
|
||||
'label' => 'user.form.username_label',
|
||||
])
|
||||
->add('email', EmailType::class, [
|
||||
'required' => true,
|
||||
'label' => 'user.form.email_label',
|
||||
])
|
||||
->add('enabled', CheckboxType::class, [
|
||||
'required' => false,
|
||||
'label' => 'user.form.enabled_label',
|
||||
])
|
||||
->add('locked', CheckboxType::class, [
|
||||
'required' => false,
|
||||
'label' => 'user.form.locked_label',
|
||||
])
|
||||
->add('twoFactorAuthentication', CheckboxType::class, [
|
||||
'required' => false,
|
||||
'label' => 'user.form.twofactor_label',
|
||||
])
|
||||
->add('save', SubmitType::class, [
|
||||
'label' => 'user.form.save',
|
||||
])
|
||||
;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param OptionsResolver $resolver
|
||||
*/
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
{
|
||||
$resolver->setDefaults(array(
|
||||
'data_class' => 'Wallabag\UserBundle\Entity\User',
|
||||
));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user