2017-08-21 3 views
-1

Je développe un backend en utilisant SonataAdminBundle et je veux gérer les utilisateurs en les listant par rôles, par exemple une liste d'admin et une liste d'utilisateurs simples.overrider userAdmin par rôles

Je l'emporterait sur la classe utilisateur admin (AdministrateurAdmin et SimpleuserAdmin) comme ceci:

<?php 

namespace Myproject\BackendBundle\Admin; 

use Sonata\UserBundle\Admin\Model\UserAdmin as BaseUserAdmin; 

class AdministrateurAdmin extends BaseUserAdmin 
{ 
    // ... 
} 

Je veux montrer seulement les administrateurs de rôle ROLE_ADMIN.

Répondre

0

essayez d'ajouter cette fonction:

public function createQuery($context = 'list') 
{ 
    $query = parent::createQuery($context); 
    $query->andWhere(
     $query->expr()->in($query->getRootAliases()[0] . '.roles', ':my_param') 
); 
    $query->setParameter('my_param', 'ROLE_ADMIN'); 
    return $query; 
}