diff --git a/composer.json b/composer.json index 9eccd071272689292bf8b389c31dd930850adc5c..217ecaa1560b5ce089475b2bb9d4e8a65aaf7f5a 100755 --- a/composer.json +++ b/composer.json @@ -25,7 +25,8 @@ "unicaen/aide": "dev-master", "ext-json": "*", "unicaen/db-import": "dev-utilisateur", - "unicaen/alerte": "^1.1" + "unicaen/alerte": "^1.1", + "unicaen/indicateur": "^0.0.4" }, "require-dev": { "laminas/laminas-developer-tools": ">=1.0" diff --git a/config/application.config.php b/config/application.config.php index 139e3d9e142975b0664820bf1c9ef6a8f7860e73..1a72ebba7ef9099551944bf5c9b625b0a519b409 100755 --- a/config/application.config.php +++ b/config/application.config.php @@ -43,8 +43,8 @@ $modules = [ 'UnicaenEvenement', 'UnicaenAide', 'UnicaenAlerte', + 'UnicaenIndicateur', - 'Indicateur', 'EntretienProfessionnel', 'Carriere', 'Metier', diff --git a/documentation/000_BD_BIBLIOTHEQUE.sql b/documentation/000_BD_BIBLIOTHEQUE.sql index d44957df8ce38facd3b91ef38689907720de16d4..8b6954a176ddba66d17a2b4f422508ccf1006f79 100644 --- a/documentation/000_BD_BIBLIOTHEQUE.sql +++ b/documentation/000_BD_BIBLIOTHEQUE.sql @@ -462,12 +462,12 @@ create table unicaen_indicateur_abonnement ( id serial not null constraint abonnement_pk primary key, user_id integer not null constraint indicateur_abonnement_user_id_fk references unicaen_utilisateur_user on delete cascade, - indicateur_id integer not null constraint indicateur_abonnement_indicateur_definition_id_fk references unicaen_indicateur on delete cascade, + indicateur_id integer not null constraint indicateur_abonnement_indicateur_definition_id_fk references unicaen_indicateur_indicateur on delete cascade, frequence varchar(256), dernier_envoi timestamp ); create unique index abonnement_id_uindex on unicaen_indicateur_abonnement (id); -create unique index indicateur_id_uindex on unicaen_indicateur (id); +create unique index indicateur_id_uindex on unicaen_indicateur_indicateur (id); -- IMPORT diff --git a/documentation/release/3.1.3.md b/documentation/release/3.1.3.md index e2026d6f4d60dd722fe08fd6728c1484d632fa90..0bb162d2de76e25419b5a1827c9684c04beb484f 100644 --- a/documentation/release/3.1.3.md +++ b/documentation/release/3.1.3.md @@ -7,6 +7,7 @@ * Ajout de gardes pour le filtre des fiches métiers afin d'éviter les avertissements (indicatifs) lorsque aucune valeur de sélectionnée. * Ajout de privilèges pour les niveaux de carrière * Transformation de la relation Domaine <-> Famille en relation "many to many" +* Utilisation du module unicaen/indiciateur * [FIX] Correction de routes erronées pour la gestion des niveaux de carrière **Modifications de la base de donnée** @@ -51,9 +52,102 @@ insert into metier_domaine_famille (domaine_id, famille_id) with d(domaine_id, famille_id) as ( select id as domaine_id, famille_id from metier_domaine ) -SELECT d.domaine_id, d.famille_id FROM d +SELECT d.domaine_id, d.famille_id FROM d; alter table metier_domaine drop column famille_id; + +--------------------------------- +-- table du module indicateur -- +--------------------------------- + +drop table unicaen_indicateur; +drop table unicaen_indicateur_abonnement; + +create table unicaen_indicateur_indicateur +( + id serial constraint indicateur_pk primary key, + titre varchar(256) not null, + description varchar(2048), + requete varchar(4096) not null, + dernier_rafraichissement timestamp, + view_id varchar(256), + entity varchar(256) +); + +create table unicaen_indicateur_abonnement +( + id serial constraint abonnement_pk primary key, + user_id integer constraint indicateur_abonnement_user_id_fk references unicaen_utilisateur_user on delete cascade, + indicateur_id integer constraint indicateur_abonnement_indicateur_definition_id_fk references unicaen_indicateur on delete cascade, + frequence varchar(256), + dernier_envoi timestamp +); + +create unique index abonnement_id_uindex on unicaen_indicateur_abonnement (id); +create unique index indicateur_id_uindex on unicaen_indicateur (id); + +create table unicaen_indicateur_tableaudebord +( + id serial constraint unicaen_indicateur_tableaudebord_pk primary key, + titre varchar(1024) default 'Tableau de bord' not null, + description text, + nb_column integer default 1 not null +); + +create table unicaen_indicateur_tableau_indicateur +( + tableau_id integer not null + constraint unicaen_indicateur_tableau_indicateur_tableaudebord_null_fk + references unicaen_indicateur_tableaudebord (id) + on delete cascade, + indicateur_id integer not null + constraint unicaen_indicateur_tableau_indicateur_indicateur_null_fk + references unicaen_indicateur_indicateur (id) + on delete cascade, + constraint unicaen_indicateur_tableau_indicateur_pk + primary key (tableau_id, indicateur_id) +); + +INSERT INTO unicaen_privilege_categorie (code, libelle, ordre, namespace) +VALUES ('indicateur', 'Gestions des indicateurs', 800, 'UnicaenIndicateur\Provider\Privilege'); +INSERT INTO unicaen_privilege_privilege(CATEGORIE_ID, CODE, LIBELLE, ORDRE) +WITH d(code, lib, ordre) AS ( + SELECT 'afficher-indicateur', 'Afficher un indicateur', 1 UNION + SELECT 'editer-indicateur', 'Éditer un indicateur', 2 UNION + SELECT 'detruire-indicateur', 'Effacer un indicateur', 3 UNION +) +SELECT cp.id, d.code, d.lib, d.ordre +FROM d + JOIN unicaen_privilege_categorie cp ON cp.CODE = 'indicateur'; + +INSERT INTO unicaen_privilege_categorie (code, libelle, ordre, namespace) +VALUES ('abonnement', 'Gestions des abonnement', 810, 'UnicaenIndicateur\Provider\Privilege'); +INSERT INTO unicaen_privilege_privilege(CATEGORIE_ID, CODE, LIBELLE, ORDRE) +WITH d(code, lib, ordre) AS ( + SELECT 'afficher-abonnement', 'Afficher un abonnement', 4 UNION + SELECT 'editer-abonnement', 'Éditer un abonnement', 5 UNION + SELECT 'detruire-abonnement', 'Effacer un abonnement', 6 +) +SELECT cp.id, d.code, d.lib, d.ordre +FROM d + JOIN unicaen_privilege_categorie cp ON cp.CODE = 'abonnement'; + + +INSERT INTO unicaen_privilege_categorie (code, libelle, ordre, namespace) +VALUES ('tableaudebord', 'Gestions des tableaux', 820, 'UnicaenIndicateur\Provider\Privilege'); +INSERT INTO unicaen_privilege_privilege(CATEGORIE_ID, CODE, LIBELLE, ORDRE) +WITH d(code, lib, ordre) AS ( + SELECT 'afficher-tableaudebord', 'Afficher un tableau de bord', 4 UNION + SELECT 'editer-tableaudebord', 'Éditer un tableau de bord', 5 UNION + SELECT 'detruire-tableaudebord', 'Effacer un tableau de bord', 6 +) +SELECT cp.id, d.code, d.lib, d.ordre +FROM d + JOIN unicaen_privilege_categorie cp ON cp.CODE = 'tableaudebord'; ``` **Évolution des bibliothèques** + +```bash +composer require unicaen/indicateur +``` \ No newline at end of file