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 :
-
Le profil « OWNER » a accès aux 2 pages
- « Liste Communes »
- « Fiche Commune »
-
Le profil « EDITOR » a accès uniquement à la page
- « Fiche Commune »
- « Fiche Commune »
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
mais moi je cherchais une solution depuis longtemps pour ça et j’étais content de la trouver


