2017-07-17 135 views
1

我有我的仪表板管理员两个不同的角色更改字段的选项。根据管理员(索纳塔管理员)的角色

这两个角色具有几乎相同的功能,但添加新用户时有所不同:如果管理员具有角色'ROLE_SONATA_SUPER_ADMIN',则可以添加其他管理员,如果不是,则只能添加简单用户。

对于我所显示的字段“类型”要选择用户类型添加的时刻:

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

      ))) 

如何,我可以根据管理员角色更改字段类型的选项?

感谢

回答

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))