Commit 26b749ff authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

modification documentation et script sql

parent 54ac71ce
Loading
Loading
Loading
Loading
Loading

CHANGELOG.md

deleted100644 → 0
+0 −9
Original line number Diff line number Diff line
Journal des modifications
=========================

0.0.1 (12/03/2021)
-----

Version initiale du module permettant :
- la gestion des privilèges
- l'affectation des privilèges à des rôles
+6 −12
Original line number Diff line number Diff line
-- Insertion de la catégorie associée à la gestion des utilisateurs
INSERT INTO public.categorie_privilege (id, code, libelle, ordre) VALUES (1, 'droit', 'Gestion des rôles et privilèges', 2000);
INSERT INTO public.categorie_privilege (id, code, libelle, ordre) VALUES (4, 'utilisateur', 'Gestion des utilisateurs', 1600);
INSERT INTO unicaen_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
INSERT INTO public.privilege (id, categorie_id, code, libelle, ordre) VALUES (1, 1, 'role-visualisation', 'Visualisation des rôles', 1);
INSERT INTO public.privilege (id, categorie_id, code, libelle, ordre) VALUES (2, 1, 'role-edition', 'Édition des rôles', 2);
INSERT INTO public.privilege (id, categorie_id, code, libelle, ordre) VALUES (3, 1, 'privilege-visualisation', 'Visualisation des privilèges', 3);
INSERT INTO public.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
INSERT INTO public.privilege (id, categorie_id, code, libelle, ordre) VALUES (19, 4, 'ajouter-utilisateur', 'Ajouter un utilisateur', 102);
INSERT INTO public.privilege (id, categorie_id, code, libelle, ordre) VALUES (18, 4, 'afficher-utilisateur', 'Visualiser les informations utilisateurs', 101);
INSERT INTO public.privilege (id, categorie_id, code, libelle, ordre) VALUES (21, 4, 'modifier-role', 'Modifier les rôles d''une utilisateur', 104);
INSERT INTO public.privilege (id, categorie_id, code, libelle, ordre) VALUES (20, 4, 'changer-status', 'Changer le status d''un utilisateur', 103);
INSERT INTO unicaen_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);
INSERT INTO unicaen_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);
INSERT INTO unicaen_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);
INSERT INTO unicaen_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);
INSERT INTO unicaen_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);
+115 −1
Original line number Diff line number Diff line
TODO ...
 No newline at end of file
Module Unicaen Privilege
=======================
------------------------

Description
-----------
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

| Column | Type | Obligatoire | Unique | Description |
|---|---|---|---|---|
| id | int | true | true | identifiant numerique de la catégorie |
| code | varchar(256)| true | true | identifiant texte de la catégorie |
| libelle | varchar(256) | true | false | libellé associée à la catégorie |
| ordre | int| false | false | ordre de la catégorie |
| namespace | varchar(256)| false | false | namespace contenant la catégorie |

2. **unicaen_privilege_privilege** : table stockant les privilèges

| Column | Type | Obligatoire | Unique | Description |
|---|---|---|---|---|
| id | int | true | true | identifiant numerique du privilège |
| code | varchar(256)| true | true | identifiant texte du privilège |
| libelle | varchar(256) | true | false | libellé associée du privilège |
| categorie_id | int | true | false | catégorie contenant le privilège |
| ordre | int | true | false | ordre du privilège dans sa catégorie  |

3.  **unicaen_privilege_privilege_role_linker** : table stockant les affectations des privilèges aux rôles

| Column | Type | Obligatoire | Unique | Description |
|---|---|---|---|---|
| role_id | int | true | false | identifiant du role lié |
| privilege_id | int | true | false | identifiant du privilège lié |

Privilèges associés au module
=============================

**N.B.** Le script permettant de créer les tables est fourni dans le fichier [privilege/SQL/002_privileges.sql]

1 - Macro

```php
const DOCUMENTMACRO_INDEX = 'documentmacro-documentmacro_index';
const DOCUMENTMACRO_AJOUTER = 'documentmacro-documentmacro_ajouter';
const DOCUMENTMACRO_MODIFIER = 'documentmacro-documentmacro_modifier';
const DOCUMENTMACRO_SUPPRIMER = 'documentmacro-documentmacro_supprimer';
```

2 - Template

```php
const DOCUMENTTEMPLATE_INDEX        = 'documenttemplate-documenttemplate_index';
const DOCUMENTTEMPLATE_AFFICHER     = 'documenttemplate-documenttemplate_afficher';
const DOCUMENTTEMPLATE_AJOUTER      = 'documenttemplate-documenttemplate_ajouter';
const DOCUMENTTEMPLATE_MODIFIER     = 'documenttemplate-documenttemplate_modifier';
const DOCUMENTTEMPLATE_SUPPRIMER    = 'documenttemplate-documenttemplate_supprimer';
```

3 - Rendu

```php
const DOCUMENTCONTENU_INDEX         = 'documentcontenu-documentcontenu_index';
const DOCUMENTCONTENU_AFFICHER      = 'documentcontenu-documentcontenu_afficher';
const DOCUMENTCONTENU_SUPPRIMER     = 'documentcontenu-documentcontenu_supprimer';
```

***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`.
 No newline at end of file
+0 −2
Original line number Diff line number Diff line
@@ -2,8 +2,6 @@

namespace UnicaenPrivilege\Provider\Privilege;

use UnicaenPrivilege\Provider\Privilege\Privileges;

class PrivilegePrivileges extends Privileges
{
    const PRIVILEGE_VOIR = 'privilege-privilege_voir';
+0 −2
Original line number Diff line number Diff line
@@ -5,8 +5,6 @@ namespace UnicaenPrivilege\Provider\Privilege;
trait PrivilegeProviderAwareTrait
{
    /**
     * description
     *
     * @var PrivilegeProviderInterface
     */
    private $privilegeProvider;
Loading