При активации группы (base на ее documentation) в FOSUserBundle ролевые группы не встроены в форму редактирования и обновления! Я уже переопределяю GroupFormType и GroupController, но я не могу передавать роли от контроллера до класс формы. мой вопрос: как я могу добавить роли в форму, чтобы администратор мог изменять или назначать роли группам?Добавить поле ролей в группу FOSUserBundle
1
A
ответ
4
Решая свою проблему, добавив поле роли переопределить GroupController
public function editAction(Request $request, $groupName)
{
...
/** @var $formFactory \FOS\UserBundle\Form\Factory\FactoryInterface */
$formFactory = $this->get('fos_user.group.form.factory');
$form = $formFactory->createForm();
$form->add('roles', 'choice', array(
'choices' => $this->getExistingRoles(),
'data' => $group->getRoles(),
'label' => 'Roles',
'expanded' => true,
'multiple' => true,
'mapped' => true,
));
...
}
public function getExistingRoles()
{
$roleHierarchy = $this->container->getParameter('security.role_hierarchy.roles');
$roles = array_keys($roleHierarchy);
foreach ($roles as $role) {
$theRoles[$role] = $role;
}
return $theRoles;
}
0
Со своей стороны я решил inerite класса GroupFormType. Здесь наследуются класс:
namespace UserBundle\Form;
use FOS\UserBundle\Form\Type\GroupFormType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\FormBuilderInterface;
class GroupType extends AbstractType
{
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$permissions = array(
'Utilisateur' => 'ROLE_USER',
'Administrateur' => 'ROLE_ADMIN'
);
$builder
->add('name', null, array('label' => 'form.group_name', 'translation_domain' => 'FOSUserBundle'))
->add('role', ChoiceType::class, array(
'label' => 'Rôle',
'choices' => $permissions,
'multiple' => true,
'expanded' => true
))
;
}
public function getParent()
{
return GroupFormType::class;
}
}
Не забудьте точный новый класс в config.yml
fos_user:
group:
form:
type: UserBundle\Form\GroupType
Смежные вопросы
- 1. Создание ролей в fosUserBundle
- 2. Symfony2 FOSUserbundle добавить пользователя в группу
- 3. Добавить пользовательское поле в fosuserbundle
- 4. Как добавить поле в группу?
- 5. Чистое использование групп и ролей в FOSUserBundle
- 6. Добавить роли в FOSUserBundle
- 7. Что означает значение данных ролей Symfony2 FOSUserBundle?
- 8. Различные формы регистрации для разных ролей. FOSUserBundle
- 9. FOSUserBundle, как добавить дополнительные роли пользователя?
- 10. FOSUserBundle простая форма редактирования ролей пользователей
- 11. добавить Пользовательское поле в Jomsocial группу
- 12. Добавить роль в FOSUserBundle
- 13. Как добавить роли базы данных в FOSUserBundle
- 14. Добавить телефонное поле в FOSUserBundle в symfony 2.7
- 15. Symfony2 FOSUserBundle пользовательское поле регистрации
- 16. Добавить пользовательское поле в FOSUserBundle команду не работает
- 17. FOSUserBundle Symfony2. Дополнительное поле входа
- 18. Несколько «ролей» в поле модели?
- 19. FOSUserBundle добавить свойства
- 20. Настройка роли группы FOSUserBundle
- 21. Работа с FOSUserBundle PlainPassword поле
- 22. FOSUserBundle: Неопознанное поле: имя пользователяCanonical
- 23. symfony2 fosUserBundle добавить поле с данными от объекта
- 24. Добавление пользовательских ролей в группу с помощью API Google
- 25. Добавить пользователей в группу GitLab
- 26. Как добавить несколько ролей к пользователю и проверить это с помощью FOSUSERBUNDLE в symfony2
- 27. как добавить группу в поле @Query аннотации в Solr
- 28. Добавить поле местоположения в группу друзей приятелей в wordpress сайте
- 29. Добавить новое поле в группу клиентов в Prestashop
- 30. добавить пользователя в группу
у вас есть полный рабочий пример для этого, пожалуйста? – user3174311