Restreindre la visibilité d'un noeud sur un "Territoire"

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

Je souhaite restreindre la visibilité d'un noeud sur un "Territoire".

Je pense implémenter la notion de territoire via un vocab de taxonomie.
Puis pour chaque user, ceux-çi sont liés à un et un seul term du vocab "Territoire".

Je devrais alors implémenter les règles suivantes:
Le user peut voir les noeuds:
- Qui n'ont pas de taxo "Territoire"
ET
- Qui on une taxo "Territoire" dont le term correspond à celui du user

Comment feriez-vous le filtrage ?
Dev spécifique d'un module, autre module existant ?
J'ai regardé le module tac_lite, mais il ne permet QUE de voir les noeuds possédant obligatoirement la taxo "Territoire"

Merci de votre aide,

Fabrice

Hello,

Ce que tu décris de ton concept de territoire me parait-être plus de l'ordre du rôle que du tag. Tu donnes à chaque utilisateur un rôle qui correspond à ton territoire;

Après tu peux faire des tag qui seront autorisés ou pas pour tel ou tel rôle, C'est la méthode la plus dynamique. Tu peux, par exemple, utiliser :

Taxonomy Term Permissions :Allows limiting the selection of specific taxonomy terms by user or role.

Moins dynamique, tu peux aussi, faire des types de noeuds que tu associes à des rôle. Les nodes seront crées avec le type 'node_de_type_ territoire_de_là_bas. Seul le rôle rôle_territoire_de_là_bas, pourra le voir. Par exemple.

EM