2017-07-17 131 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))