From 951810971226cc87ffde9da07c32bdb75fc29847 Mon Sep 17 00:00:00 2001
From: Jean-Philippe Metivier <jean-philippe.metivier@unicaen.fr>
Date: Fri, 7 Jul 2023 14:17:52 +0200
Subject: [PATCH] Documentation

---
 documentation/001.table.sql     | 157 ++++++++++++++++++++++++++++++++
 documentation/002.privilege.sql |  72 +++++++++++++++
 readme.md                       |  12 +++
 3 files changed, 241 insertions(+)
 create mode 100644 documentation/001.table.sql
 create mode 100644 documentation/002.privilege.sql
 create mode 100644 readme.md

diff --git a/documentation/001.table.sql b/documentation/001.table.sql
new file mode 100644
index 0000000..4daac99
--- /dev/null
+++ b/documentation/001.table.sql
@@ -0,0 +1,157 @@
+create table unicaen_autoform_formulaire
+(
+    id                    serial not null
+        constraint autoform_formulaire_pk primary key,
+    libelle               varchar(128)                                                    not null,
+    description           varchar(2048),
+    histo_creation        timestamp                                                       not null,
+    histo_createur_id     integer                                                         not null
+        constraint composante_createur_fk references unicaen_utilisateur_user,
+    histo_modification    timestamp                                                       not null,
+    histo_modificateur_id integer                                                         not null
+        constraint composante_modificateur_fk references unicaen_utilisateur_user,
+    histo_destruction     timestamp,
+    histo_destructeur_id  integer
+        constraint composante_destructeur_fk references unicaen_utilisateur_user,
+    code                  varchar(256)
+);
+create unique index autoform_formulaire_id_uindex on unicaen_autoform_formulaire (id);
+
+create table unicaen_autoform_categorie
+(
+    id                    serial not null
+        constraint autoform_categorie_pk primary key,
+    code                  varchar(64)                                                    not null,
+    libelle               varchar(256)                                                   not null,
+    ordre                 integer default 10000                                          not null,
+    formulaire            integer                                                        not null
+        constraint autoform_categorie_formulaire_fk references unicaen_autoform_formulaire (id)
+        on delete cascade,
+    mots_clefs            varchar(1024),
+    histo_creation        timestamp                                                      not null,
+    histo_createur_id     integer                                                        not null
+        constraint composante_createur_fk references unicaen_utilisateur_user,
+    histo_modification    timestamp                                                      not null,
+    histo_modificateur_id integer                                                        not null
+        constraint composante_modificateur_fk references unicaen_utilisateur_user,
+    histo_destruction     timestamp,
+    histo_destructeur_id  integer
+        constraint composante_destructeur_fk references unicaen_utilisateur_user
+);
+create unique index autoform_categorie_code_uindex on unicaen_autoform_categorie (code);
+create unique index autoform_categorie_id_uindex on unicaen_autoform_categorie (id);
+
+create table unicaen_autoform_champ
+(
+    id                    serial not null
+        constraint autoform_champ_pk primary key,
+    categorie             integer                                                    not null
+        constraint autoform_champ_categorie_fk references unicaen_autoform_categorie
+        on delete cascade,
+    code                  varchar(64)                                                not null,
+    libelle               varchar(256)                                               not null,
+    texte                 varchar(256)                                               not null,
+    ordre                 integer default 10000                                      not null,
+    element               varchar(64),
+    balise                boolean,
+    options               varchar(1024),
+    mots_clefs            varchar(1024),
+    histo_creation        timestamp                                                  not null,
+    histo_createur_id     integer                                                    not null
+        constraint composante_createur_fk references unicaen_utilisateur_user,
+    histo_modification    timestamp                                                  not null,
+    histo_modificateur_id integer                                                    not null
+        constraint composante_modificateur_fk references unicaen_utilisateur_user,
+    histo_destruction     timestamp,
+    histo_destructeur_id  integer
+        constraint composante_destructeur_fk references unicaen_utilisateur_user
+);
+
+create unique index autoform_champ_id_uindex
+    on unicaen_autoform_champ (id);
+
+create table unicaen_autoform_formulaire_instance
+(
+    id                    serial not null
+        constraint autoform_formulaire_instance_pk primary key,
+    formulaire            integer                                                                  not null
+        constraint autoform_formulaire_instance_autoform_formulaire_id_fk references unicaen_autoform_formulaire (id)
+        on delete cascade,
+    histo_creation        timestamp                                                                not null,
+    histo_createur_id     integer                                                                  not null
+        constraint composante_createur_fk references unicaen_utilisateur_user,
+    histo_modification    timestamp                                                                not null,
+    histo_modificateur_id integer                                                                  not null
+        constraint composante_modificateur_fk references unicaen_utilisateur_user,
+    histo_destruction     timestamp,
+    histo_destructeur_id  integer
+        constraint composante_destructeur_fk references unicaen_utilisateur_user
+);
+create unique index autoform_formulaire_instance_id_uindex
+    on unicaen_autoform_formulaire_instance (id);
+
+create table unicaen_autoform_formulaire_reponse
+(
+        id                serial not null
+        constraint autoform_reponse_pk primary key,
+    instance              integer                                                                 not null
+        constraint autoform_formulaire_reponse_instance_fk references unicaen_autoform_formulaire_instance
+        on delete cascade,
+    champ                 integer                                                                 not null
+        constraint autoform_reponse_champ_fk references unicaen_autoform_champ
+        on delete cascade,
+    reponse               text,
+    histo_creation        timestamp                                                               not null,
+    histo_createur_id     integer                                                                 not null
+        constraint composante_createur_fk references unicaen_utilisateur_user,
+    histo_modification    timestamp                                                               not null,
+    histo_modificateur_id integer                                                                 not null
+        constraint composante_modificateur_fk references unicaen_utilisateur_user,
+    histo_destruction     timestamp,
+    histo_destructeur_id  integer
+        constraint composante_destructeur_fk references unicaen_utilisateur_user
+);
+
+create unique index autoform_reponse_id_uindex on unicaen_autoform_formulaire_reponse (id);
+
+create table unicaen_autoform_validation
+(
+    id                    serial not null
+        constraint validation_pk primary key,
+    type                  varchar(64)                                                     not null,
+    instance              integer                                                         not null
+        constraint validation_instance_fk references unicaen_autoform_formulaire_instance
+        on delete cascade,
+    type_validation       varchar(64),
+    reference             integer
+        constraint autoform_validation_autoform_formulaire_instance_id_fk references unicaen_autoform_formulaire_instance
+        on delete cascade,
+    complement            text,
+    differences           text,
+    informations          text,
+    histo_creation        timestamp                                                       not null,
+    histo_createur_id     integer                                                         not null
+        constraint composante_createur_fk references unicaen_utilisateur_user,
+    histo_modification    timestamp                                                       not null,
+    histo_modificateur_id integer                                                         not null
+        constraint composante_modificateur_fk references unicaen_utilisateur_user,
+    histo_destruction     timestamp,
+    histo_destructeur_id  integer
+        constraint composante_destructeur_fk references unicaen_utilisateur_user
+);
+create unique index validation_id_uindex on unicaen_autoform_validation (id);
+
+create table unicaen_autoform_validation_reponse
+(
+    id         serial not null
+        constraint validation_reponse_pk primary key,
+    validation integer                                                                      not null
+        constraint autoform_validation_reponse_autoform_validation_id_fk references unicaen_autoform_validation
+            on delete cascade,
+    reponse    integer                                                                      not null
+        constraint validation_reponse_autoform_reponse_id_fk references unicaen_autoform_formulaire_reponse
+            on delete cascade,
+    value      varchar(256) default NULL::character varying                                 not null
+);
+create unique index validation_reponse_id_uindex on unicaen_autoform_validation_reponse (id);
+
diff --git a/documentation/002.privilege.sql b/documentation/002.privilege.sql
new file mode 100644
index 0000000..5f359cb
--- /dev/null
+++ b/documentation/002.privilege.sql
@@ -0,0 +1,72 @@
+INSERT INTO unicaen_privilege_categorie (code, libelle, ordre, namespace)
+VALUES ('autoformindex','Autoform - Gestion de l''index',5000,'UnicaenAutoform\Provider\Privilege');
+INSERT INTO unicaen_privilege_privilege(CATEGORIE_ID, CODE, LIBELLE, ORDRE)
+WITH d(code, lib, ordre) AS (
+    SELECT 'index', 'Afficher le menu', 10
+)
+SELECT cp.id, d.code, d.lib, d.ordre
+FROM d
+JOIN unicaen_privilege_categorie cp ON cp.CODE = 'autoformindex';
+
+INSERT INTO unicaen_privilege_categorie (code, libelle, ordre, namespace)
+VALUES ('autoformformulaire','Autoform - Gestion des formulaires',5100,'UnicaenAutoform\Provider\Privilege');
+INSERT INTO unicaen_privilege_privilege(CATEGORIE_ID, CODE, LIBELLE, ORDRE)
+WITH d(code, lib, ordre) AS (
+    SELECT 'formulaire_index', 'Accéder à l''index', 10 UNION
+    SELECT 'formulaire_afficher', 'Afficher', 20 UNION
+    SELECT 'formulaire_ajouter', 'Ajouter', 30 UNION
+    SELECT 'formulaire_modifier', 'Modifier', 40 UNION
+    SELECT 'formulaire_historiser', 'Historiser/Restaurer', 50 UNION
+    SELECT 'formulaire_supprimer', 'Supprimer', 60
+)
+SELECT cp.id, d.code, d.lib, d.ordre
+FROM d
+JOIN unicaen_privilege_categorie cp ON cp.CODE = 'autoformformulaire';
+
+INSERT INTO unicaen_privilege_categorie (code, libelle, ordre, namespace)
+VALUES ('autoformcategorie','Autoform - Gestion des catégories',5200,'UnicaenAutoform\Provider\Privilege');
+INSERT INTO unicaen_privilege_privilege(CATEGORIE_ID, CODE, LIBELLE, ORDRE)
+WITH d(code, lib, ordre) AS (
+    SELECT 'categorief_index', 'Accéder à l''index', 10 UNION
+    SELECT 'categorief_afficher', 'Afficher', 20 UNION
+    SELECT 'categorief_ajouter', 'Ajouter', 30 UNION
+    SELECT 'categorief_modifier', 'Modifier', 40 UNION
+    SELECT 'categorief_historiser', 'Historiser/Restaurer', 50 UNION
+    SELECT 'categorief_supprimer', 'Supprimer', 60
+)
+SELECT cp.id, d.code, d.lib, d.ordre
+FROM d
+JOIN unicaen_privilege_categorie cp ON cp.CODE = 'autoformcategorie';
+
+INSERT INTO unicaen_privilege_categorie (code, libelle, ordre, namespace)
+VALUES ('autoformchamp','Autoform - Gestion des champs',5300,'UnicaenAutoform\Provider\Privilege');
+INSERT INTO unicaen_privilege_privilege(CATEGORIE_ID, CODE, LIBELLE, ORDRE)
+WITH d(code, lib, ordre) AS (
+    SELECT 'champ_index', 'Accéder à l''index', 10 UNION
+    SELECT 'champ_afficher', 'Afficher', 20 UNION
+    SELECT 'champ_ajouter', 'Ajouter', 30 UNION
+    SELECT 'champ_modifier', 'Modifier', 40 UNION
+    SELECT 'champ_historiser', 'Historiser/Restaurer', 50 UNION
+    SELECT 'champ_supprimer', 'Supprimer', 60
+)
+SELECT cp.id, d.code, d.lib, d.ordre
+FROM d
+JOIN unicaen_privilege_categorie cp ON cp.CODE = 'autoformchamp';
+
+INSERT INTO unicaen_privilege_categorie (code, libelle, ordre, namespace)
+VALUES ('autoformvalidation','Autoform - Gestion des validations',5400,'UnicaenAutoform\Provider\Privilege');
+INSERT INTO unicaen_privilege_privilege(CATEGORIE_ID, CODE, LIBELLE, ORDRE)
+WITH d(code, lib, ordre) AS (
+    SELECT 'validationf_index', 'Accéder à l''index', 10 UNION
+    SELECT 'validationf_afficher', 'Afficher', 20 UNION
+    SELECT 'validationf_ajouter', 'Ajouter', 30 UNION
+    SELECT 'validationf_modifier', 'Modifier', 40 UNION
+    SELECT 'validationf_historiser', 'Historiser/Restaurer', 50 UNION
+    SELECT 'validationf_supprimer', 'Supprimer', 60
+)
+SELECT cp.id, d.code, d.lib, d.ordre
+FROM d
+JOIN unicaen_privilege_categorie cp ON cp.CODE = 'autoformchamp';
+
+
+
diff --git a/readme.md b/readme.md
new file mode 100644
index 0000000..0533a68
--- /dev/null
+++ b/readme.md
@@ -0,0 +1,12 @@
+UnicaenAutorform
+===
+
+Changement
+---
+
+**v6.0.1**
+- Ajout des fichiers SQL
+- Debut d'implémentation du drag end drop
+
+**v6.0.0**
+- Version compatible php 8
-- 
GitLab