Je suis en train de changer les champs accessibles BeforeSave si l'utilisateur est un gestionnaireModifier les champs accessibles BeforeSave utilisant le plugin CRUD [CakePHP 3]
$this->Crud->on('beforeSave', function(Event $event) {
if($this->Auth->user('role') == 'Manager')
{
$this->Crud->action()->saveOptions(['accessibleFields' => ['verified' => true]]);
}
});
Mais il ne semble pas fonctionner, pourquoi? Éditer: Pour clarifier, j'essaye de faire une demande HTTP de PUT par mon API et change la valeur du champ "vérifié". Je peux changer tous les champs que j'ai définis pour être accessible dans mon entity.php, mais quand j'essaye de changer le champ "vérifié" après le beforeSave ci-dessus, je ne vois aucun changement dans l'objet, parce qu'il semble pas définir le champ a accessible.
Édition 2: De la documentation officielle du plugin CRUD, j'ai essayé de faire $this->Crud->action()->saveOptions(['atomic' => false]);
mais je n'ai pas réussi à le faire fonctionner. J'ai envoyé un issue sur la page GitHub plugin crud j'espère obtenir plus de réponses là-bas.
Merci de votre aide.
De quelle manière cela ne fonctionne-t-il pas? Que voyez-vous au lieu de votre comportement souhaité? – drmonkeyninja
Cela ne changera pas le champ –