Submitted by Cyanide on
Bonjour,
Etant finalement débutante en Drupal et en programmation objet, je me tourne vers vous, car je suis sur ce problème depuis des jours.
J'ai effectué de nombreuses recherches et rien n'a fonctionné, je n'ai peut-être pas utilisé les modules correctement, je ne sais pas...
Voici la situation :
Mon employeur veut que j'affiche des réunions dans un tableau avec différents documents téléchargeables. J'ai créé un type de contenu "Réunion" avec tous les éléments nécessaires, ainsi qu'un nouveau vocabulaire de taxonomie permettant de lier une réunion à un type. Cela pour ensuite créer une liste déroulante permettant de filtrer les réunions selon leur type. C'est chose faite avec le module Views.
Néanmoins, il souhaite maintenant restreindre l'accès de certaines réunions à certains utilisateurs, selon leur rôle. En effet, certains types utilisés dans le filtrage sont en fait le reflet de certains rôles d'utilisateurs.
Un exemple sera peut-être plus parlant, j'ai peur de mal m'exprimer...
Imaginons que j'aie les rôle "marketing", "webdesign" et que j'ai dans ma liste de filtrage également "marketing", mais aussi "community management", "référencement". Je voudrais que la personne ayant le rôle "marketing" ne puisse voir que les réunions étant liées à "marketing".
J'ai utilisé le module taxonomy access control lite.
J'ai ainsi trouvé une solution peu concluante : enlever le "any" de la liste déroulante, seuls les types "autorisés" apparaissent pour chaque rôle dans la liste déroulante. Alors qu'avec le "any", on peut voir toutes les réunions et accéder aux pages spécifiques, télécharger les documents...
Mais il n'est ainsi plus possible d'afficher toutes les réunions autorisés d'un coup d'oeil, et les personnes non autorisées peuvent quand même accéder à ces contenus par hasard.
Comment éviter que views affiche des contenus liés à un élément de taxonomie qui est interdit pour un rôle donné ?
Pensez-vous que je devrai créer mon propre module, ou une solution existe ?
Je vous remercie d'avance.
Bonne journée.
Je pense qu'il faut utiliser
Permalien Soumis par vincent59 le 26 Mars, 2015 - 17:49
Je pense qu'il faut utiliser les "relationship" de Views.
Voir ces 2 questions (in english) :
http://drupal.stackexchange.com/questions/23554/why-doesnt-the-option-us...
http://drupal.stackexchange.com/questions/98551/d7-filter-a-view-based-o...
Bonjour,
Permalien Soumis par Cyanide le 6 Mai, 2015 - 10:57
Bonjour,
Le problème était dû à des problèmes de compatibilité entre modules, j'ai finalement réglé le problème. Merci à tous les deux pour ces pistes.
Bonne journée.
Bonjour,
Permalien Soumis par papoulepaps le 27 Mars, 2015 - 14:54
Bonjour,
Pour gérer l'accès suivant les rôles, que ce soit du contenu, une vue ou de la taxonomy, le module Organic groups (https://www.drupal.org/project/og) est très puissant même si son utilisation est un peu complexe au début.
Avec lui on ne parle plus de rôle mais de groupe. Tu trouveras pas mal de tuto sur la toile.
Paps