Продлить SonataProject? Поля формы или разные формы для пользовательских ролей. Symfony 2 + FOSUserBundle + SonataUserBundle - PullRequest
0 голосов
/ 14 декабря 2011

У меня проблема. Я уже установил в мой комплект пользователей Symfony 2 FOS и комплект пользователей Sonata со всеми зависимостями.

Настройка выполнена, и я могу управлять своими пользователями и ролями.

Но я собираюсь создать другую форму для добавления / редактирования пользователей в моей панели для разных ролей. Как я могу это сделать?

Создать несколько форм для каждой роли и проверить их в Sonata \ AdminBundle \ Controller \ CRUDController?

Удалить / добавить поля в форму, когда она создается?

Есть идеи?

Ответы [ 2 ]

1 голос
/ 10 апреля 2012

Вы могли бы также сделать что-то вроде

  1. расширить обычный контроллер Crud,
  2. измените в своей службе имя контроллера, который вы хотите использовать (не sonata_crud, а контроллер, который вы создали на предыдущем шаге)
  3. в этом новом контроллере создайте действие для newSpecialRoleAction и создайте SpecialSoleAction с вашим кодом с соответствующими им представлениями

... из того, что я помню

0 голосов
/ 21 декабря 2011

Я решил это следующим образом.

В base_edit.html.twig из пакета Sonata у меня есть оператор if, который проверяет меня, что пользователь имеет соответствующую роль для отображения конкретных полей в форме.

Это "жесткое кодирование", но я больше ничего не придумал.

Есть еще идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...