Problèmes sur les restrictions de droits

Bonjour J’ai 3 tables :
1 : etab (avec un code UAI qui est unique pour identifier un établissement)
2 : une table référent avec une référence vers le code UAI d’établissement (un référent n’appartient qu’à un étab mais on peut avoir plusieurs référents dans un établ)
3 une table Projet : qui est liée à l’établissement par l’UAI (il n’y a qu’un projet par établissement)

J’ai récupéré les adresse mel des référents pour leur accorder les droits d’accès, dans les permissions avancées j’ai ajouté une propriété (Profil) qui lie la propriété « Mel_Ref » au user.email
j’ai accordé des droits sur les tables avec la valeur :
user.profil.UAI == $UAI
sur mes 3 tables
ça fonctionne sur Référent, ça fonctionne sur Etab mais ça ne fonctionne pas sur Projet
si je fais un View as sur les vues que j’ai généré (si je ne fais qu’une vue pour chaque table) la vue projet est vide , alors que pour les deux autres je ne vois bien que les données concernant l’établissement en question !
Je sèche ! Une idée ?
Serait ce parce que ma valeur UAI de reférent est une référence depuis étab et que ma valeur UAI de projet est une référence depuis étab. Le fait qu’elles ne soient pas directement liées peut être la source ?

Bonjour, si la table Référent et la table Projet référencent l’UAI de la même manière alors il n’y a pas de raison que la règle marche dans un cas seulement.

Est-ce que le type de colonne est le même dans les deux cas ? Attention aux coquilles, est-ce que la colonne s’appelle bien $UAI (sans espace surnuméraire) dans la table Projet ?

Oui les champs sont bien nommés (sinon erreur dans l’attribution des droits) et les clés étrangères « héritent » du format du champ UAI de la table Etab.
c’est bien ce qui me chiffonne… j’ai raté un truc mais je ne vois pas lequel !

Les deux colonnes sont bien en « Référence » et pas « Référence multiple » ? Vous pouvez dupliquer le document sans les données et le rendre public (pour faciliter le debug) ?

Done
https://grist.numerique.gouv.fr/o/docs/qCv8XsgNDmMJ/Pilotespropdroits-copy?utm_id=share-doc

En fait j’ai dit une bêtise, c’est sur Etab que j’ai ce problème : on ne voit pas l’étab de l’utilisateur si on fait un view as.
et donc si je fais des vues : page etab, ajout d’une vue référent + ajout d’une vue action (sur la même page) c’est bloquant. Sur d’autres fichiers je n’ai pas ce problème…

Merci, il manque juste des droits pour pouvoir jouer avec : peux-tu soit donner l’accès éditeur (« Gérer les utilisateurs » > « Accès public : Editeur ») soit cocher cette case dans les permissions avancées :

Oupsi j’ai laissé lecteur, corrigé.

Je pense avoir trouvé la solution : ça marche avec cette syntaxe

Voici le lien vers le document corrigé : Pilotes_prop_droits (copy) (copy) - Grist

L’explication : user.Profil.UAI == $UAI compare une référence avec un texte alors que user.Profil.UAI==$id compare une référence avec l’enregistrement vers lequel pointe cette référence. Pour les autres tables (Projet, Référent), $UAI est une référence donc l’égalité fonctionne. La table Etab est la seule dans laquelle $UAI est de type texte.

Punaise, j’oublie sans arrêt l’ID, cette valeur sous jacente … Merci Antoine… à bientôt