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

Recup modif

parents 5c89dc18 7a98a957
Loading
Loading
Loading
Loading
Loading

README.md

0 → 100644
+2 −0
Original line number Diff line number Diff line
# evenement

SQL/001_tables.sql

0 → 100644
+59 −0
Original line number Diff line number Diff line
-- ETAT ----------------------------------------------------------------------------------------------------------------

create table unicaen_evenement_etat
(
    ID serial not null,
    CODE VARCHAR(255) not null,
    LIBELLE VARCHAR(255) not null,
    DESCRIPTION VARCHAR(2047)
);
create unique index UEVENEMENT_ETAT_ID_UINDEX on unicaen_evenement_etat (ID);
create unique index UEVENEMENT_ETAT_CODE_UINDEX  on unicaen_evenement_etat (CODE);
alter table unicaen_evenement_etat add constraint UEVENEMENT_ETAT_PK primary key (ID);


-- TYPE ----------------------------------------------------------------------------------------------------------------

create table unicaen_evenement_type
(
    id serial not null constraint pk_evenement_type primary key,
    code varchar(255) not null constraint un_evenement_type_code unique deferrable initially deferred,
    libelle varchar(255) not null,
    description varchar(2047),
    parametres varchar(2047),
    recursion varchar(64)
);

-- INSTANCE

create table unicaen_evenement_instance
(
    id serial not null constraint pk_evenement_instance primary key,
    nom varchar(255) not null,
    description varchar(1024) not null,
    type_id integer not null constraint fk_evenement_instance_type references unicaen_evenement_type deferrable,
    etat_id integer not null constraint fk_evenement_instance_etat references unicaen_evenement_etat deferrable,
    parametres text,
    date_creation timestamp not null,
    date_planification timestamp not null,
    date_traitement timestamp,
    log text,
    parent_id integer constraint fk_evenement_instance_parent references unicaen_evenement_instance deferrable,
    date_fin timestamp
);

create index ix_evenement_instance_type on unicaen_evenement_instance (type_id);
create index ix_evenement_instance_etat on unicaen_evenement_instance (etat_id);
create index ix_evenement_instance_parent on unicaen_evenement_instance (parent_id);

-- JOURNAL

create table unicaen_evenement_journal
(
    id serial not null constraint unicaen_evenement_journal_pk primary key,
    date_execution timestamp not null,
    log text,
    etat_id integer constraint unicaen_evenement_journal_unicaen_evenement_etat_id_fk references unicaen_evenement_etat on delete set null
);

create unique index unicaen_evenement_journal_id_uindex on unicaen_evenement_journal (id);
 No newline at end of file

SQL/002_donnees.sql

0 → 100644
+7 −0
Original line number Diff line number Diff line
-- ETAT

INSERT INTO unicaen_evenement_etat (CODE, LIBELLE, DESCRIPTION) VALUES ('en_attente', 'Événement en attente de traitement', null);
INSERT INTO unicaen_evenement_etat (CODE, LIBELLE, DESCRIPTION) VALUES ('en_cours', 'Événement en cours de traitement', 'L''événement est en cours de traitement et sera mis à jour après celui-ci');
INSERT INTO unicaen_evenement_etat (CODE, LIBELLE, DESCRIPTION) VALUES ('echec', 'Événement dont le traitement a échoué', null);
INSERT INTO unicaen_evenement_etat (CODE, LIBELLE, DESCRIPTION) VALUES ('succes', 'Événement dont le traitement a réussi', null);

SQL/003_privileges.sql

0 → 100644
+41 −0
Original line number Diff line number Diff line

alter sequence unicaen_privilege_privilege_id_seq restart with 300;
INSERT INTO unicaen_privilege_categorie (CODE, LIBELLE, ORDRE, namespace) VALUES ('evenementetat', 'Gestion des états associés aux événements', 100, 'UnicaenEvenement\Provider\Privilege');
INSERT INTO unicaen_privilege_privilege(CATEGORIE_ID, CODE, LIBELLE, ORDRE)
WITH d(code, lib, ordre) AS (
    SELECT 'etat_voir', 'État - Visualiser les états', 201 UNION
    SELECT 'etat_ajouter', 'État - Ajouter un état', 202 UNION
    SELECT 'etat_modifier', 'État - Modifier un état', 203 UNION
    SELECT 'etat_supprimer', 'État - Supprimer un état', 204
)
SELECT cp.id, d.code, d.lib, d.ordre
FROM d
         JOIN unicaen_privilege_categorie cp ON cp.CODE = 'evenementetat'
;

INSERT INTO unicaen_privilege_categorie (code, libelle, ordre, namespace)
VALUES ('evenementinstance', 'Gestion des événements - Instance', 99993, 'UnicaenEvenement\Provider\Privilege');
INSERT INTO unicaen_privilege_privilege(CATEGORIE_ID, CODE, LIBELLE, ORDRE)
WITH d(code, lib, ordre) AS (
    SELECT 'instance_consultation', 'instance - consultation', 10 UNION
    SELECT 'instance_ajout', 'instance - ajout', 20 UNION
    SELECT 'instance_edition', 'instance - édition', 30 UNION
    SELECT 'instance_suppression', 'instance - suppression', 40 UNION
    SELECT 'instance_traitement', 'instance - traitement', 100
)
SELECT cp.id, d.code, d.lib, d.ordre
FROM d
         JOIN unicaen_privilege_categorie cp ON cp.CODE = 'evenementinstance';

INSERT INTO unicaen_privilege_categorie (code, libelle, ordre, namespace)
VALUES ('evenementtype', 'Gestion des événements - Type', 99992, 'UnicaenEvenement\Provider\Privilege');
INSERT INTO unicaen_privilege_privilege(CATEGORIE_ID, CODE, LIBELLE, ORDRE)
WITH d(code, lib, ordre) AS (
    SELECT 'type_consultation', 'type - consultation', 10 UNION
    SELECT 'type_ajout', 'type - ajout', 20 UNION
    SELECT 'type_edition', 'type - édition', 30 UNION
    SELECT 'type_suppression', 'type - suppression', 40
)
SELECT cp.id, d.code, d.lib, d.ordre
FROM d
         JOIN unicaen_privilege_categorie cp ON cp.CODE = 'evenementtype';
 No newline at end of file
+26 −0
Original line number Diff line number Diff line
@@ -6,6 +6,10 @@ use UnicaenEvenement\Controller\EvenementConsoleController;
use UnicaenEvenement\Controller\EvenementConsoleControllerFactory;
use UnicaenEvenement\Controller\EvenementController;
use UnicaenEvenement\Controller\EvenementControllerFactory;
use UnicaenEvenement\Form\Evenement\EvenementForm;
use UnicaenEvenement\Form\Evenement\EvenementFormFactory;
use UnicaenEvenement\Form\Evenement\EvenementHydrator;
use UnicaenEvenement\Form\Evenement\EvenementHydratorFactory;
use UnicaenEvenement\Provider\Privilege\EvenementinstancePrivileges;
use UnicaenEvenement\Service\Evenement\EvenementService;
use UnicaenEvenement\Service\Evenement\EvenementServiceFactory;
@@ -36,6 +40,7 @@ return [
                    'action' => [
                        'changer-etat',
                        'traiter',
                        'ajouter',
                    ],
                    'privileges' => EvenementinstancePrivileges::INSTANCE_EDITION,
                ],
@@ -68,6 +73,16 @@ return [
                        ],
                        'may_terminate' => false,
                        'child_routes' => [
                            'ajouter' => [
                                'type'  => Segment::class,
                                'options' => [
                                    'route'    => '/ajouter/:type',
                                    'defaults' => [
                                        'controller' => EvenementController::class,
                                        'action'     => 'ajouter',
                                    ],
                                ],
                            ],
                            'afficher' => [
                                'type'  => Segment::class,
                                'options' => [
@@ -149,6 +164,17 @@ return [
        ],
    ],

    'form_elements' => [
        'factories' => [
            EvenementForm::class => EvenementFormFactory::class,
        ],
    ],
    'hydrators' => [
        'factories' => [
            EvenementHydrator::class => EvenementHydratorFactory::class,
        ],
    ],

    'view_helpers' => [
        'invokables' => [
            'evenement' => EvenementViewHelper::class,
Loading