-- Insertion de la catégorie associée à la gestion des utilisateurs
INSERTINTOpublic.categorie_privilege(id,code,libelle,ordre)VALUES(1,'droit','Gestion des rôles et privilèges',2000);
INSERTINTOpublic.categorie_privilege(id,code,libelle,ordre)VALUES(4,'utilisateur','Gestion des utilisateurs',1600);
INSERTINTOunicaen_privilege_categorie(id,code,libelle,ordre)VALUES(next_val(unicaen_privilege_categorie_id_seq),'privilege','Gestion des privilèges',2000);
-- Insertion des privilèges de base
INSERTINTOpublic.privilege(id,categorie_id,code,libelle,ordre)VALUES(1,1,'role-visualisation','Visualisation des rôles',1);
INSERTINTOpublic.privilege(id,categorie_id,code,libelle,ordre)VALUES(2,1,'role-edition','Édition des rôles',2);
INSERTINTOpublic.privilege(id,categorie_id,code,libelle,ordre)VALUES(3,1,'privilege-visualisation','Visualisation des privilèges',3);
INSERTINTOpublic.privilege(id,categorie_id,code,libelle,ordre)VALUES(4,1,'privilege-edition','Édition des privilèges',4);
-- Insertion des privilèges associés à la gestion des utilisateurs
INSERTINTOpublic.privilege(id,categorie_id,code,libelle,ordre)VALUES(19,4,'ajouter-utilisateur','Ajouter un utilisateur',102);
INSERTINTOpublic.privilege(id,categorie_id,code,libelle,ordre)VALUES(18,4,'afficher-utilisateur','Visualiser les informations utilisateurs',101);
INSERTINTOpublic.privilege(id,categorie_id,code,libelle,ordre)VALUES(21,4,'modifier-role','Modifier les rôles d''une utilisateur',104);
INSERTINTOpublic.privilege(id,categorie_id,code,libelle,ordre)VALUES(20,4,'changer-status','Changer le status d''un utilisateur',103);
INSERTINTOunicaen_privilege_privilege(id,categorie_id,code,libelle,ordre)VALUES(next_val(unicaen_privilege_privilege_id_seq),current_val(unicaen_privilege_categorie_id_seq),'privilege_voir','Afficher les privilèges',10);
INSERTINTOunicaen_privilege_privilege(id,categorie_id,code,libelle,ordre)VALUES(next_val(unicaen_privilege_privilege_id_seq),current_val(unicaen_privilege_categorie_id_seq),'privilege_ajouter','Ajouter un privilège',20);
INSERTINTOunicaen_privilege_privilege(id,categorie_id,code,libelle,ordre)VALUES(next_val(unicaen_privilege_privilege_id_seq),current_val(unicaen_privilege_categorie_id_seq),'privilege_modifier','Modifier un privilège',30);
INSERTINTOunicaen_privilege_privilege(id,categorie_id,code,libelle,ordre)VALUES(next_val(unicaen_privilege_privilege_id_seq),current_val(unicaen_privilege_categorie_id_seq),'privilege_supprimer','Supprimer un privilège',40);
INSERTINTOunicaen_privilege_privilege(id,categorie_id,code,libelle,ordre)VALUES(next_val(unicaen_privilege_privilege_id_seq),current_val(unicaen_privilege_categorie_id_seq),'privilege_affecter','Affecter un privilège',50);
Le module **unicaen/privilege** est en charge du stockage des privilèges et de l'affectation de ceux-ci aux rôles de l'application.
Le module fournit un menu dans Administration > Rôle permettant d'accéder aux interfaces d'affectation des privilèges et de gestion des privilèges.
Description du fonctionnement
============================
Les privilèges sont regroupés en catégorie et en namespace.
Les namespaces
----------
Les namespaces sont simplement des chaînes de caractère servant à regrouper ceux-ci. Ils sont renseignés dans les catégories directement et sont exploités directement dans le système de filtre.
***N.B. :*** Peuvent être détourné pour aider dans l'interface d'affectation.
Les catégories
----------
Les catégories reposent sur un code unique et possèdent un ordre utiliser pour l'affichage et un éventuel namespace pour le regroupement de ceux-ci.
Les privileges
-------------
Les privilèges reposent sur un code (unique dans sa catégorie), une catégorie et un ordre pour facilité la lecteure de la liste.
L'affectation
--------------
Les affectations passent par l'ajout dans le linker *unicaen_privilege_privilege_role_linker* d'un couple (privilège, rôle).
Configuration
=============
TO BE DONE
Tables pour les données du modules
==================================
**N.B.** Le script permettant de créer les tables est fourni dans le fichier [privilege/SQL/001_tables.sql]
1.**unicaen_privilege_categorie** : table stockant les catégories
***Attention !!!*** Penser à donner les privilèges aux rôles adéquats.
Dépendance à **UnicaenUtilisateur**
----------------------------------
1. Dans **vendor/unicaen/renderer/config/merged/index.config.php**, **vendor/unicaen/renderer/config/merged/macro.config.php**, **vendor/unicaen/renderer/config/merged/rendu.config.php**, **vendor/unicaen/renderer/config/merged/template.config.php** : `UnicaenPrivilege\Guard\PrivilegeController` pour les gardes liées aux actions.
Peut être directement remplacer par l'equivalent fournit par `unicaen/auth`.
1. Dans **vendor/unicaen/renderer/src/UnicaenRenderer/Provider/Privilege/DocumentcontenuPrivileges.php**, **vendor/unicaen/renderer/src/UnicaenRenderer/Provider/Privilege/DocumentmacroPrivileges.php**, **vendor/unicaen/renderer/src/UnicaenRenderer/Provider/Privilege/DocumenttemplatePrivileges.php** : `UnicaenPrivilege\Provider\Privilege\Privileges` classe mère des privilèges du module.
Peut être directement remplacer par l'equivalent fournit par `unicaen/auth`.