我的仪表板管理员有两个不同的角色:ROLE_SONATA_ADMIN和ROLE_SONATA_SUPER_ADMIN。
这两个角色具有几乎相同的功能,但添加新用户时有所不同:如果管理员具有角色' ROLE_SONATA_SUPER_ADMIN'它可以添加其他管理员,如果没有它只能添加简单的用户。
目前我显示了字段'键入'要选择要添加的用户类型:
->add('type',ChoiceType::class,array('label' => 'Type' ,
'choices' => array('ADMIN' => 'admin',
'CLIENT' => 'client',
)))
如何根据admin角色更改字段类型选项。?
感谢
答案 0 :(得分: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',
];
}
And :
$formMapper->add('type',ChoiceType::class,array('label' => 'Type' ,
'choices' => $cases))