Symfony2 SyliusRbacBundle Setup
Я изучаю возможность использования SyliusRbacBundle для моего приложения. Мне удается установить его вместе с FosUserBundle. Когда я добрался до части установки, я получил следующую ошибку при запуске команды "sylius:rbac:initialize", следуя инструкциям, найденным здесь: http://docs.sylius.org/en/latest/bundles/SyliusRbacBundle/setup.html
Initializing Sylius RBAC roles and permissions.
Adding permission "Update product". (app.product_update)
Adding permission "Create product". (app.product_create)
Adding permission "Manage product". (app.product_manage)
[Doctrine\DBAL\DBALException]
An exception occurred while executing 'INSERT INTO sylius_role (code, name,
description, security_roles, tree_left, tree_right, tree_level, created_at
, updated_at, parent_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)' with params
["root", "Root", null, "a:0:{}", null, null, null, "2015-05-11 16:45:34",
"2015-05-11 16:45:34", null]:
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'tree_left' ca
nnot be null
[PDOException]
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'tree_left' ca
nnot be null
sylius:rbac:initialize
Вот так выглядит мой config.yml:
sylius_rbac:
driver: doctrine/orm
security_roles:
ROLE_ADMINISTRATION_ACCESS: Can access backend
roles:
app.admin:
name: Administrator
description: Administrator
app.product_manager:
name: Product Manager
description: muchos productos
permissions: [app.product_update, app.product_create]
roles_hierarchy:
app.admin: [app.product_manager]
permissions:
app.product_update: Update product
app.product_create: Create product
app.product_manage: Manage product
permissions_hierarchy:
app.product_manage: [app.product_create, app.product_update]
У кого-нибудь есть подсказка, как это решить?
Спасибо!
1 ответ
Sylius/Rbac
использует поведение дерева из Atlantic18/DoctrineExtensions
,
Вы можете использовать это в системе Symfony, используя stof/StofDoctrineExtensionsBundle
,
После того, как он будет установлен, вам нужно включить поведение дерева в вашем app/config/config.yml
лайк..
stof_doctrine_extensions:
orm:
default:
tree: true
Это должно заставить слушателя зарегистрироваться правильно, а затем ваши поля будут заполнены автоматически.