2010-01-07 15 views
6

Estoy tratando de obtener el nombre de la función del administrador actualmente conectado. Puedo obtener el usuario administrador, pero no puedo averiguar cómo consultar su nombre de función. Los documentos de Magento son débiles =/Magento - ¿Cómo consultar el nombre del rol de administrador?

$usr = Mage::getSingleton('admin/session')->getUser(); 

Ideas anyone?

Respuesta

7

hablado demasiado pronto ... me dieron el nombre de la función de la siguiente manera:

$roleId = implode('', Mage::getSingleton('admin/session')->getUser()->getRoles()); 
$roleName = Mage::getModel('admin/roles')->load($roleId)->getRoleName(); 
+1

También puede obtener el rol por Mage :: getSingleton ('admin/session') -> getUser() -> getRole(); Esto devolverá un objeto de función del que puede extraer todos los datos. –

1

Utilizando este código obtendrá el papel de usuario actual

$admin_user_session = Mage::getSingleton('admin/session'); 
$adminuserId = $admin_user_session->getUser()->getUserId(); 
$role_data = Mage::getModel('admin/user')->load($adminuserId)->getRole()->getData(); 
$role_name = $role_data['role_name']; 
1

Mago :: getSingleton ('admin/session') -> getUser() -> getRole() -> getRoleName();

M.

1

Aquí hay otro que puede ser un poco más amigable:

$acl = Mage::getResourceModel('admin/acl')->loadAcl(); 
$acl->isAllowed($user->getAclRole(), 'admin/foo/bar')); 

que devolverá un valor lógico. $user es un objeto admin/user.

Cuestiones relacionadas