#1 Tue 12 July 2022 10:37
- EliseWi
- Participant occasionnel
- Date d'inscription: 16 May 2022
- Messages: 16
Rendre entité non éditable
Bonjour à tous,
Je travaille actuellement sur une base de données Postgres (en utilisant PgAmin 4). Savez-vous comment je peux rendre un champ non éditable ? J'ai créé des trigger pour que certains champs se remplissent automatiquement quand on crée une entité sur Qgis et j'aimerai que ces champs apparaissent grisés (non remplissables) lorsqu'une personne crée une nouvelle entité sur Qgis.
J'ai testé de décocher l'option 'editable' de ces champs directement dans Qgis mais quand je recharge la couche, cette option est à nouveau cochée.
Merci d'avance pour votre aide :)
Hors ligne
#2 Tue 12 July 2022 22:21
- Mathieu Denat
- Participant actif
- Lieu: Montpellier
- Date d'inscription: 5 May 2010
- Messages: 110
Re: Rendre entité non éditable
Bonsoir,
Si la restriction de droit concerne bien un champ et pas une entité, je vois deux solutions possibles (sinon je ne sais pas si c'est possible):
1. Passer par Qgis, décocher la case éditable, enregistrer le style comme style par défaut dans la BDD source (et pas la BDD locale de Qgis). À chaque rouverture de la couche, c'est ce style qui se chargera. Ça me paraît pas foufou, car il est toujours possible de changer le style. Ou de changer de client pgsql et hop la colonne est à nouveau éditable.
2. Utiliser le système de gestion des droits de postgres. Pour ça il faut utiliser le couple GRANT/REVOKE.
Voir la doc ici.
Ex:
Code:
GRANT SELECT mon_champ ON ma_table TO mon_utilisateur
À +
Dernière modification par Mathieu Denat (Mon 18 July 2022 09:09)
Mathieu
C'est en forgeant qu'on devient forgeron
Hors ligne
#3 Wed 20 July 2022 11:21
- EliseWi
- Participant occasionnel
- Date d'inscription: 16 May 2022
- Messages: 16
Re: Rendre entité non éditable
Bonjour,
Merci beaucoup pour cette réponse ! Vous avez la réponse à toutes mes questions
Hors ligne