Bonjour,
Je galère pas mal sur la gestion des droits d'accès d'un module que j'ai réalisé.
Je me suis fortement inspiré du module "keyword" qui lui aussi gère des "objets" (create/update/deleted/position/visible) et via le "AbstractCrudController" bien pratique.
Sauf que l'on est obligé de déclarer une ressource à la construction et qu'un contrôle de cette ressource est fait sur les actions "create", "update"...
public function __construct()
{
parent::__construct(
'cartsample',
null,
null,
'admin.cartsample',
CartSampleEvents::CARTSAMPLE_CREATE,
CartSampleEvents::CARTSAMPLE_UPDATE,
CartSampleEvents::CARTSAMPLE_DELETE,
CartSampleEvents::CARTSAMPLE_TOGGLE_VISIBILITY,
null
);
}
Lorsque que l'on est sur le profil "super administrateur" pas de problème, mais pour les autres => pas le droit d'accès (logique la ressource n'existe pas!)
Je créerai bien la ressource à l'activation du module mais est-ce bien logique d'avoir une ressource de module ?
Sinon copier les actions "createAction", "updateAction" de l'AbstractCrudController, les coller dans mon controleur et modifier la ligne
if (null !== $response = $this->checkAuth($this->resourceCode, array(), AccessManager::CREATE))
return $response;
Vos avis ?