sfDoctrineGuard - получить доступ только к тем группам, в которых пользователь является членом - PullRequest
0 голосов
/ 18 марта 2011

У меня есть таблица со столбцом sfGuardGroup, поэтому, когда пользователь входит в систему, он может видеть только записи, сделанные пользователями в их группе.

При создании записи я хочу иметь поле выбора дляsfGuardGroup, которая содержит только те группы, членом которых является зарегистрированный пользователь.

Кто-нибудь знает, как это сделать, пожалуйста?

Спасибо

1 Ответ

0 голосов
/ 18 марта 2011

В форме :: configure

  1. get user: используйте sfContex :: getInstance () -> getUser () (простой способ, не рекомендуется) или добавьте sfUser из контроллера в качестве опции

    $ this-> form = new myAwesomeUserForm (array (), array ('user' => $ this-> getUser ()));

  2. Использовать sfWidgetFormChoice

  3. Используйте sfGuardSecurityUser :: getGroups ($ user-> getGroups), чтобы установить варианты для виджета sfWidgetFormChoice.Здесь $ user является экземпляром myUser> sfGuardSecurityUser
  4. Не забудьте валидатор
...