added password field
This commit is contained in:
		@@ -3,12 +3,15 @@
 | 
			
		||||
namespace App\Controller\Admin;
 | 
			
		||||
 | 
			
		||||
use App\Entity\User;
 | 
			
		||||
use EasyCorp\Bundle\EasyAdminBundle\Config\Crud;
 | 
			
		||||
use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractCrudController;
 | 
			
		||||
use EasyCorp\Bundle\EasyAdminBundle\Field\ChoiceField;
 | 
			
		||||
use EasyCorp\Bundle\EasyAdminBundle\Field\EmailField;
 | 
			
		||||
use EasyCorp\Bundle\EasyAdminBundle\Field\IdField;
 | 
			
		||||
use EasyCorp\Bundle\EasyAdminBundle\Field\ImageField;
 | 
			
		||||
use EasyCorp\Bundle\EasyAdminBundle\Field\TextField;
 | 
			
		||||
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
 | 
			
		||||
use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
 | 
			
		||||
 | 
			
		||||
class UserCrudController extends AbstractCrudController
 | 
			
		||||
{
 | 
			
		||||
@@ -19,16 +22,27 @@ class UserCrudController extends AbstractCrudController
 | 
			
		||||
 | 
			
		||||
    public function configureFields(string $pageName): iterable
 | 
			
		||||
    {
 | 
			
		||||
        $roles = ['ROLE_FOUNDER', 'ROLE_ADMIN', 'ROLE_MODERATOR', 'ROLE_USER'];
 | 
			
		||||
 | 
			
		||||
        yield IdField::new(propertyName: 'id')
 | 
			
		||||
            ->onlyOnIndex();
 | 
			
		||||
        yield TextField::new(propertyName: 'firstName');
 | 
			
		||||
        yield TextField::new(propertyName: 'lastName');
 | 
			
		||||
        yield EmailField::new(propertyName: 'email');
 | 
			
		||||
        yield TextField::new('password')
 | 
			
		||||
            ->setFormType(RepeatedType::class)
 | 
			
		||||
            ->setFormTypeOptions([
 | 
			
		||||
                'type' => PasswordType::class,
 | 
			
		||||
                'first_options' => ['label' => 'Password'],
 | 
			
		||||
                'second_options' => ['label' => 'Password (Repeat)'],
 | 
			
		||||
                'mapped' => false,
 | 
			
		||||
            ])
 | 
			
		||||
            ->setRequired($pageName === Crud::PAGE_NEW)
 | 
			
		||||
            ->onlyOnForms();
 | 
			
		||||
        yield ImageField::new(propertyName: 'avatar')
 | 
			
		||||
            ->setBasePath(path: 'uploads/avatars')
 | 
			
		||||
            ->setUploadDir(uploadDirPath: 'public/uploads/avatars')
 | 
			
		||||
            ->setUploadedFileNamePattern(patternOrCallable: '[slug]-[timestamp].[extension]');
 | 
			
		||||
        $roles = ['ROLE_FOUNDER', 'ROLE_ADMIN', 'ROLE_MODERATOR', 'ROLE_USER'];
 | 
			
		||||
        yield ChoiceField::new(propertyName: 'roles')
 | 
			
		||||
            ->setChoices(choiceGenerator: array_combine(keys: $roles, values: $roles))
 | 
			
		||||
            ->allowMultipleChoices()
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user