Использую FOSUserBundle и встроенные в него группы, каждая из которых имеет свой набор ролей. Стоит задача сделать административный интерфейс для назначения группам ролей (из security.role_hierarchy.roles). (Бандлы для генерации админки от sonata не использую.) Т.е. нужно добавить в форму создания/редактирования группы поле множественного выбора ролей.
Каким путем это правильно сделать:
- Полностью переопределить GroupController из FOSUserBundle и прямо из контроллера сформировать нужную форму? (в манах симфы и бандла настоятельно не рекомендуют дублировать логику).
- Пойти по пути переопределения формы редактирования/добавления группы и добавить в нее новое поле выбора ролей? Но тут возникают вопросы:
- как получить из формы список всех существующих в системе ролей?
- как получить из формы список ролей конкретной группы, чтобы сделать поле choice Field Type и отметить выбранными уже назначенные роли?
Или может быть есть еще какой-то трувей для решения этой задачи?