我需要创建一个名为STATUS的新角色,以显示在用户 CRUD 的角色管理器中,如链接中的图像 参见 image,此角色基于管理类中定义的自定义路由和自定义控制器。
我已经解决了修改配置文件添加一个information
带有默认角色列表的参数的问题,但这将适用于服务中定义的所有管理类,我不希望这样,我想为特定的管理类定义角色,并且也可以出现在角色管理器中以便分配给用户。
欢迎任何建议
感谢帮助!
这些是我的配置:
配置.yml
#SONATAADMINBUNDLE
sonata_admin:
security:
handler: sonata.admin.security.handler.role
information:
EDIT: EDIT
LIST: LIST
CREATE: CREATE
VIEW: VIEW
DELETE: DELETE
EXPORT: EXPORT
OPERATOR: OPERATOR
MASTER: MASTER
STATUS: STATUS
管理类
//..
use Sonata\AdminBundle\Route\RouteCollection;
class SolicitudMantenimientoAdmin extends Admin
{
//...
protected function configureRoutes(RouteCollection $collection)
{
$collection->add('status',$this->getRouterIdParameter().'/status');
}
}
服务
<service id="sonata.admin.solicitudmantenimiento" class="Minsal\SimBundle\Admin\SolicitudMantenimientoAdmin">
<tag name="sonata.admin" manager_type="orm" group="Solicitud" label="Solicitud Mantenimiento" />
<argument />
<argument>Minsal\SimBundle\Entity\SolicitudMantenimiento</argument>
<argument>MinsalSimBundle:SolicitudMantenimiento</argument>
</service>
控制器
use Sonata\AdminBundle\Controller\CRUDController;
class SolicitudMantenimientoController extends CRUDController {
//..
public function statusAction() {
//... code here
return new Response('<html><body>Test</body></html>');
}