je tente déséperemant de modifier un champs dans ma base user mais j'ai des erreurs?

comment faire pour modifier des champs dans la base,
quand dans le model il y a "public $actsAs = array('Acl' => array('type' => 'requester'));" ?

Merci d'avance

6 réponses


rosti
Auteur

up

rosti
Auteur

Ou peux être je me suis mal exprimer.
Comment fait t'on pour utiliser le crud avec acl;

j'ai regardé partout et je n'ai rien trouvé.

Merci d'avance

Le crud avec Acl? tu veux faire quoi comme modification exactement ?

rosti
Auteur

Merci slyvann pour ta réactivité.

J'aimerai simplement, modifier dans ma base User le champs 'lastvisit' à chaque fois qu'un utilisateur se connecte.
pour ça je fais dans ma page index =>

$id = $this->Session->read('Auth.User.id');
$this->User->id = $id;
$this->User->saveField('lastvisit', date('Y-m-d G:i:s'));

mais je reçois cette erreur

AclNode::node() - Couldn't find Aro node identified by "Array ( [Aro0.model] => Group [Aro0.foreign_key] => 2 ) "

sais-tu pourquoi? ou peut être il y a un autre moyen ?
j'ai chercher sur le net mais je n'est rien trouvé?

Merci

Bizarre ton ACL est bien construit ?

rosti
Auteur

Bonjour Grafikart

Bin en faite non,
je l'ai refais et le problème vient du petit bout de code récupere dans la doc de la v2.x.
le voici (retaper à mes besoin)

public function initDB() {
    $group = $this->User->Group;
    //Allow admins to everything
    $group->id = 1;
    $this->Acl->allow($group, 'controllers');

    $group->id = 2;
    $this->Acl->deny($group, 'controllers');
    $this->Acl->allow($group, 'controllers/Users');

    $group->id = 3;
    $this->Acl->deny($group, 'controllers');
    $this->Acl->allow($group, 'controllers/Users');
    $this->Acl->allow($group, 'controllers/Users/edit');
    $this->Acl->allow($group, 'controllers/Users/index');
    $this->Acl->allow($group, 'controllers/Users/view');    
    echo "all done";

}

Quand je l'execute , ça me fait plusieurs erreur de ce style

DbAcl::allow() - Invalid node [CORE\Cake\Controller\Component\Acl\DbAcl.php, line 163]

j'ai fait comme toi, j'ai suivi pas à pas la doc SUR L'acl, mais là en version v2.1.

je comprend pas et les recherches sur net sont pas top.

tu as peux être un idée ?

Merci d'avance