Allez hop, je me répond tout seul, cela servira peut-être à quelqu'un. un jour

En 3.6 je déconseille de créer des droits dans une section spécifique du access.xml (et donc aussi du config.xml -ce qui revient à avoir un onglet séparé au niveau des paramètres du composant-).
Il doit y avoir un bug car l'enregistrement ne se fait pas correctement au niveau des paramètres.
Une autorisation, se transforme en 'hérité / autorisé'.
Hormis ce point cela semble fonctionner.
Il faut donc rajouter des règles spécifiques à chaque vue dans la section components du access.xml (ce qui fait un onglet 'droits' à rallonge dans les paramètres du composant).
Dans tous les cas on perd de ce fait la notion d'héritage, vu que les règles mavue1.create, mavue1.delete, etc... ne sont pas connues dans une hiérarchie 'supérieure'.
Pour utiliser ces règles spécifique avec un controller dérivé de JControllerForm, il faut bien redéfinir les méthodes allowAdd et allowEdit dans le controller en question.
Il faut aussi bien redéfinir les méthodes canDelete et CanEditState dans le model dérivé de JModelAdmin et utilisé dans la vue.
Ceci solutionne le problème que j'évoque en fin de mon premier message de ce fil, où je n'avais pas encore trouvé d'autre solution que de surcharger le méthode 'edit', de la classe JcontrollerForm, ce qui ne me convenait pas car cela ne me semblait 'pas propre' au niveau du code.
Je testerai avec la 3.7 si le problème évoqué dans les premiers alinéas de cette réponse est résolu, sinon j'ouvrirai une requette dans le bug tracker.
Voili, voilà.
Bon dev à tous.
Laisser un commentaire: