Hello :)
J'aurais voulu savoir comment faire pour vérifier les droits sur une action d'un controller dans une vue.
J'ai vu qu'il existait la fonction check, j'ai donc testé, ca marche ... encore qu'il faut connaitre la clé étrangère ... mais ca marche.
$this->Acl->check(array('model' => 'User', 'foreign_key' => $this->Session->Read('Auth.User.id')), 'add');
Le problème c'est qu'on ne peut pas le faire dans une vue :/
Auriez vous une astuce ?
Merci
See you :)
J'ai trouvé ca (http://forum.cakephp-fr.org/viewtopic.php?id=1142) :
Dans app_controller :
function checkAuth($controller, $action){
return ($this->Acl->check(array('model' => 'User', 'foreign_key' => $this->Auth->user('id')), $controller.'/'.$action, "*"))?true:false;
}
Dans le controller on passe la valeur du checkAuth :
$this->set('perm_add_user', $this->checkAuth('Users', 'add') );
Dans la vue :
if( $perm_add_user ){ echo $this->Html->link(__('adduser', true),array('controller'=>'users','action'=>'add')); }
Voila espérant que ca peut en aider certains, après y a peut-être mieux :)