Un utilisateur peut voir la page A sans voir la page B alors qu'elle sont pourtant liées à une même table de donnée

Petit Hack qui permet à utilisateur de voir la page A sans voir la page B qui sont pourtant liées à une même table de données.
Sur Grist, on donne les droits sur la donnée et pas sur les différentes interfaces et pages.

  • En théorie si un utilisateur a accès à une table de données il a accès à l’ensemble des données de cette page.
  • Par défaut il a accès à l’ensemble des pages et vue qui utilisent des données de cette table de données.

Mais parfois on aimerait discriminer la visibilité de certaines pages même si elle sont liées à la même table de donnée.

Voici un petit hack qui permet de masquer certaines pages à un utilisateur, alors qu’il a pourtant le droit d’accéder à la donnée source.

En fait un utilisateur ne voit pas une page s’il n’a pas la permission de voir au moins 1 vue de cette page.

Dans mon cas j’ai créé une Table ADMIN que j’ajoute aux pages que je souhaite invisibiliser pour certains utilisateurs.

Exemple de config:
Dans mon document j’ai 2 pages :

  • « Liste Communes »
  • « Fiche Commune »

qui sont 2 vues différentes de la même donnée source table : « Communes »

Je souhaite que le profil « EDITOR » voit la page « Fiche Commune » mais ne voit pas la page « Liste Communes »

  • Je crée une table « ADMIN »

  • Dans les permissions avancées j’ajoute une permission qui ne permet pas au profil « EDITOR » de voir la table ADMIN

  • Sur la page « Liste Communes » j’ajoute une vue à la page et j’ajoute la table ADMIN, je peux réduire la vue pour pas que cela nuise à l’expérience de ma page.

Résultat :

:warning: Attention à priori l’utilisateur à quand même toujours accès aux données sources !

Cela peut être adapté à plusieurs cas différents avec différentes config de permissions.
J’espère que ça sera utile :slight_smile: mais moi je cherchais une solution depuis longtemps pour ça et j’étais content de la trouver

4 « J'aime »

Super petit hack ! Nombre de fois où j’ai voulu masquer des vues sans jamais réussir !

Merci pour cette astuce ! Je mets en pratique immédiatement