Есть ли простой способ отключить некоторые действия CRUD для данного класса администратора? Например. Мне просто нужен список пользователей, добавленных через интерфейс, без возможности их добавления вручную.отключить действие в комплекте соната администратора CRUD
ответ
В классе администратора:
protected function configureRoutes(RouteCollection $collection)
{
// to remove a single route
$collection->remove('delete');
// OR remove all route except named ones
$collection->clearExcept(array('list', 'show'));
}
также использовать RouteCollection в верхней части администратора класса
use Sonata\AdminBundle\Route\RouteCollection;
Docs: http://sonata-project.org/bundles/admin/master/doc/reference/routing.html#removing-a-single-route
Как насчет того, если вам нужно удалить маршрут, только если пользователь не назначена определенная роль? –
Это работает для одного типа пользователей, но если у нескольких пользователей разные роли, действие сохраняется в кеше. При переключении ролей кеш загружается и роли не проверяются. – marijnz0r
возможно дубликат [Syfmony2 сонатной adminBundle без создания действия] (HTTP : //stackoverflow.com/questions/17923343/syfmony2-sonata-adminbundle-without-create-action) – TautrimasPajarskas