Come posso ottenere la raccolta di tutti i ruoli (Sistema-> Autorizzazione-> Ruoli) e utenti con questo ruolo?Magento: ottieni ruoli e utenti
Grazie.
Come posso ottenere la raccolta di tutti i ruoli (Sistema-> Autorizzazione-> Ruoli) e utenti con questo ruolo?Magento: ottieni ruoli e utenti
Grazie.
per avere tutti i ruoli
$roles = Mage::getModel('admin/roles')->getCollection();
foreach($roles as $role):
echo '<br/>Role : '.$role->getId()." | ".$role->getRoleName();
endforeach;
Per gli utenti di ruolo
$roles_users = Mage::getResourceModel('admin/roles_user_collection');
foreach($roles_users as $roleuser):
$user = Mage::getModel('admin/user')->load($roleuser->getUserId());
echo '<br/>User : '.$user->getUsername()." | ".$user->getFirstname();
endforeach;
è anche possibile ottenere tutti gli ID utente di ruolo con questo
$roles = Mage::getModel('admin/roles')->load($roleId)->getRoleUsers();
mi sono imbattuto in questo post quando ho cercato un modo per selezionare tutti gli utenti admin appartenenti a un ruolo utente specifico. (Vedere this answer e this question.) La domanda qui potrebbe essere letta come se Alex volesse gli utenti amministratori per ciascun ruolo. Poiché la risposta non ordina per ruolo di amministratore, vorrei offrire la seguente soluzione:
$usersByRole = array();
$adminRoles = Mage::getModel('admin/roles')->getCollection();
foreach($adminRoles as $adminRole) {
$adminRoleId = $adminRole->getId();
$adminRoleUserCollection = Mage::getModel('admin/role')->getCollection()
->addFieldToFilter('parent_id', ['eq'=>$adminRoleId])
->join(['user' => 'admin/user'], 'user.user_id=main_table.user_id');
$usersByRole[$adminRole->getRoleName()] = $adminRoleUserCollection;
}
Grazie! Forse anche tu ora come ottenere utenti con questi ruoli? :) – Alex
@AlexK gentilmente trovare la mia risposta aggiornata ;-) Fatemi sapere se avete qualche dubbio con questo. – Haijerome
Grazie mille! Ha funzionato alla grande! – Alex