User and user groups using SonataAdminBundle

I use FOSUserBundle 1.3 and SonataUserBundle, which extend it. I have my own package that extends SonataUserBundle and inside it. I save my user-admin class and the user and group object (along with the associated .orm.xml mappings).

My config.yml:

parameters:
    sonata.user.admin.user.entity: Acme\Bundle\UserBundle\Entity\User
    sonata.user.admin.group.entity: Acme\Bundle\UserBundle\Entity\Group
    sonata.user.admin.user.class: Acme\Bundle\UserBundle\Admin\UserAdmin

fos_user:
    db_driver: orm
    firewall_name: main
    user_class:     Acme\Bundle\UserBundle\Entity\User
    group:
        group_class:   Acme\Bundle\UserBundle\Entity\Group
        group_manager: sonata.user.orm.group_manager
    service:
        user_manager: sonata.user.orm.user_manager

Both entity classes basically just extend the user and group classes of Sonata. My user-admin class extends the sonata \ UserBundle \ Admin \ Entity \ UserAdmin.

The problem is that in my / admin, when I list the users, I get the error message:

Note: Undefined index: groups in / vagrant / vendor / sonata -project / doctrine-orm-admin-bundle / Guesser / FilterTypeGuesser.php line 64

+4
2

edit: @Hemang, .

, SonataEasyExtendsBundle.

, juste AppKernel.php

new Sonata\EasyExtendsBundle\SonataEasyExtendsBundle()

registerBundles.

AppKernel.php:

<?php

use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Config\Loader\LoaderInterface;

class AppKernel extends Kernel
{

  public function registerBundles()
  {
    $bundles = array(
        new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
        new Symfony\Bundle\SecurityBundle\SecurityBundle(),
        new Symfony\Bundle\TwigBundle\TwigBundle(),
        new Symfony\Bundle\MonologBundle\MonologBundle(),
        new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
        new Symfony\Bundle\AsseticBundle\AsseticBundle(),
        new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
        new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),

        new Knp\Bundle\MenuBundle\KnpMenuBundle(),
        new Ivory\CKEditorBundle\IvoryCKEditorBundle(),
        new FOS\UserBundle\FOSUserBundle(),
        new Sonata\CoreBundle\SonataCoreBundle(),
        new Sonata\BlockBundle\SonataBlockBundle(),
        new Sonata\DoctrineORMAdminBundle\SonataDoctrineORMAdminBundle(),
        new Sonata\AdminBundle\SonataAdminBundle(),
        new Sonata\UserBundle\SonataUserBundle('FOSUserBundle'),
        new Application\Sonata\UserBundle\ApplicationSonataUserBundle(),
        new Sonata\EasyExtendsBundle\SonataEasyExtendsBundle(),
    );

    if (in_array($this->getEnvironment(), array('dev', 'test'))) {
      $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
      $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
      $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
    }

    return $bundles;
  }

  public function registerContainerConfiguration(LoaderInterface $loader)
  {
    $loader->load(__DIR__ . '/config/config_' . $this->getEnvironment() . '.yml');
  }

}
+4

... , ... https://github.com/sonata-project/SonataUserBundle/blob/master/DependencyInjection/SonataUserExtension.php#L249

namespace  Acme\Bundle\UserBundle\Entity

class User
{

    ...

    /**                                                 
     * @ORM\ManyToMany(targetEntity="Group")            
     * @ORM\JoinTable(name="fos_user_user_group")       
     */                                                 
    protected  $groups;                                 
}
0

All Articles