1

我的仪表板管理员有两个不同的角色:ROLE_SONATA_ADMIN 和 ROLE_SONATA_SUPER_ADMIN。

两种角色的功能几乎相同,但添加新用户时有区别:如果管理员具有角色“ROLE_SONATA_SUPER_ADMIN”,则可以添加其他管理员,否则只能添加简单用户。

目前我显示了“类型”字段来选择要添加的用户类型:

            ->add('type',ChoiceType::class,array('label' => 'Type' ,
            'choices' => array('ADMIN' => 'admin',
                'CLIENT' => 'client',

            )))

如何根据管理员角色更改字段类型选项。?

谢谢

4

1 回答 1

1
   protected function configureFormFields(FormMapper $formMapper)
{
    $user=$this->getConfigurationPool()->getContainer()->get('security.token_storage')->getToken()->getUser();


    if($user->hasRole("ROLE_SONATA_SUPER_ADMIN ")){


        $cases = ['ADMIN' => 'admin', 'CANDIDAT' => 'candidat',

        ];

    }else{

        $cases = [ 'CANDIDAT' => 'candidat',
            'CLIENT' => 'client',
        ];
    }

和 :

        $formMapper->add('type',ChoiceType::class,array('label' => 'Type' ,
            'choices' => $cases))
于 2017-07-17T15:30:50.183 回答