Voilà,je voudrais pouvoir modifier les permissions pour chaque groupe pour le moment, j'ai fouillé un peu dans cakephp/acl et je cherche la méthode pour récupérer les permissions, mais je ne trouve rien. Il y a bien allow(), deny() et inherit(), mais rien sur un getPermissions(). Donc pour récupérer les permissions je fais ça:
Le code ci dessous est un exemple:
voir post suivant.
Est-ce qu'il n'y aurais pas un moyen plus propre pour récupérer les permissions?
Bon j'ai revu tout ça ce qui donne:
$this->Permissions = TableRegistry::get('Permissions');
$Acos = $this->Acl->Aco
->find('children', ['for' => 1]) // Je selectionne 1 car app sera tjrs en clé 1
->find('threaded');
foreach($Acos as $k => $aco){
$permissions[$k] = $this->Permissions->getAclLink($group, $aco['alias']);
$permissions[$k]['alias'] = $aco['alias'];
foreach($aco['children'] as $key => $action){
$permissions[$k]['Actions'][$key] = $this->Permissions->getAclLink($group, $action['alias']);
$permissions[$k]['Actions'][$key]['alias'] = $action['alias'];
}
}
debug($permissions);
die();
Voilà ce que ça me ressort:
(int) 0 => [
'aro' => (int) 2,
'aco' => (int) 62,
'link' => [
'Permissions' => []
],
'alias' => 'Attachments',
'Actions' => [
(int) 0 => [
'aro' => (int) 2,
'aco' => (int) 3,
'link' => [
'Permissions' => []
],
'alias' => 'download'
]
]
],
// ....... Voyons les permissions sur le model User on y vois un changement à la clé 6 des actions
(int) 5 => [
'aro' => (int) 2,
'aco' => (int) 72,
'link' => [
'Permissions' => []
],
'alias' => 'Users',
'Actions' => [
(int) 0 => [
'aro' => (int) 2,
'aco' => (int) 110,
'link' => [
'Permissions' => []
],
'alias' => 'index'
],
(int) 6 => [
'aro' => (int) 2,
'aco' => (int) 120,
'link' => [
'Permissions' => [
(int) 0 => [
'id' => (int) 56,
'aro_id' => (int) 2,
'aco_id' => (int) 120,
'_create' => '1',
'_read' => '1',
'_update' => '1',
'_delete' => '1'
]
]
],
'alias' => 'delete'
],
(int) 7 => [
'alias' => 'premium'
]
]
],