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

Merge branch 'AutoriteEtSuperieur'

parents e5e78112 2a5ce41c
Loading
Loading
Loading
Loading
+94 −0
Changes for documentation/release/3.1.9.md: 94 added lines, 0 removed lines.
Original line number Diff line number Diff line
**CHANGES version 3.1.8**
===

Changements
---

* "Nouvelle" interface de gestion des structures 
* Nouveau paramètre 'Adresse d'assistance'
* Affichage des témoins des affectations soumis à privilège
* Retrait de la notion de délégué·e pour une compagne d'entretien professionnel
* Possibilité de changer la couleur de EMC2 via le nouveau fichier public/css/local.css
* [FIX] : correction du téléversement de fiches de poste au format PDF
* [FIX] EP : correction de la recherche des responsables d'entretien pour les agents sans obligation d'EP


Configurations
---

Renommage de `logos.css` en `local.css` qui contiendra les logos mais aussi la couleur de l'instance.

Ajout dans local.css
```css
:root {
    /** EMC2 **/
    --color-dark: rgb(46,139,87); /** seagreen **/

    /** MES FORMATIONS **/
    --color-main-formation: rgb(106,90,205); /** slateblue **/
}
```

Modification de la base de données
---

```postgresql

-- ---------------------------------------------------
-- TABLE DES AUTORITES ET DES SUPERIEURS -------------
-- ---------------------------------------------------

create table agent_autorite
(
    id                    serial                  not null
        constraint agent_autorite_pk primary key,
    agent_id              varchar(40)             not null
        constraint agent_autorite_agent_c_individu_fk references agent,
    autorite_id          varchar(40)             not null
        constraint agent_autorite_agent_c_individu_fk2 references agent,
    histo_creation        timestamp default now() not null,
    histo_createur_id     integer   default 0     not null
        constraint agent_autorite_unicaen_utilisateur_user_id_fk0 references unicaen_utilisateur_user,
    histo_modification    timestamp,
    histo_modificateur_id integer
        constraint agent_autorite_unicaen_utilisateur_user_id_fk1 references unicaen_utilisateur_user,
    histo_destruction     timestamp,
    histo_destructeur_id  integer
        constraint agent_autorite_unicaen_utilisateur_user_id_fk2 references unicaen_utilisateur_user
);
create index agent_autorite_agent_id_index on agent_autorite (agent_id);
create index agent_autorite_autorite_id_index on agent_autorite (autorite_id);

create table agent_superieur
(
    id                    serial                  not null
        constraint agent_superieur_pk primary key,
    agent_id              varchar(40)             not null
        constraint agent_superieur_agent_c_individu_fk references agent,
    superieur_id          varchar(40)             not null
        constraint agent_superieur_agent_c_individu_fk2 references agent,
    histo_creation        timestamp default now() not null,
    histo_createur_id     integer   default 0     not null
        constraint agent_superieur_unicaen_utilisateur_user_id_fk1 references unicaen_utilisateur_user,
    histo_modification    timestamp,
    histo_modificateur_id integer
        constraint agent_superieur_unicaen_utilisateur_user_id_fk1 references unicaen_utilisateur_user,
    histo_destruction     timestamp,
    histo_destructeur_id  integer
        constraint agent_superieur_unicaen_utilisateur_user_id_fk2 references unicaen_utilisateur_user
);

create index agent_superieur_agent_id_index
    on agent_superieur (agent_id);

create index agent_superieur_superieur_id_index
    on agent_superieur (superieur_id);


```


Mise à jour de bibliothèque
---

RAS
 No newline at end of file
+78 −0
Changes for documentation/release/3.2.0.md: 78 added lines, 0 removed lines.
Original line number Diff line number Diff line
Modification de la base de données
---

```postgresql
-- ------------------------------------------------------------------------------------------------
-- Nouvelles tables pour gestion des supérieur·es et autorités hiérarchiques ----------------------
-- ------------------------------------------------------------------------------------------------
create table agent_autorite
(
    id                    serial                  not null
        constraint agent_autorite_pk
            primary key,
    agent_id              varchar(40)             not null
        constraint agent_autorite_agent_c_individu_fk
            references agent,
    autorite_id          varchar(40)             not null
        constraint agent_autorite_agent_c_individu_fk2
            references agent,
    histo_creation        timestamp default now() not null,
    histo_createur_id     integer   default 0     not null
        constraint agent_autorite___fk
            references unicaen_utilisateur_user,
    histo_modification    timestamp,
    histo_modificateur_id integer
        constraint agent_autorite_unicaen_utilisateur_user_id_fk
            references unicaen_utilisateur_user,
    histo_destruction     timestamp,
    histo_destructeur_id  integer
        constraint agent_autorite_unicaen_utilisateur_user_id_fk2
            references unicaen_utilisateur_user
);

create index agent_autorite_agent_id_index
    on agent_autorite (agent_id);

create index agent_autorite_autorite_id_index
    on agent_autorite (autorite_id);

create table agent_superieur
(
    id                    serial                  not null
        constraint agent_superieur_pk
            primary key,
    agent_id              varchar(40)             not null
        constraint agent_superieur_agent_c_individu_fk
            references agent,
    superieur_id          varchar(40)             not null
        constraint agent_superieur_agent_c_individu_fk2
            references agent,
    histo_creation        timestamp default now() not null,
    histo_createur_id     integer   default 0     not null
        constraint agent_superieur___fk
            references unicaen_utilisateur_user,
    histo_modification    timestamp,
    histo_modificateur_id integer
        constraint agent_superieur_unicaen_utilisateur_user_id_fk
            references unicaen_utilisateur_user,
    histo_destruction     timestamp,
    histo_destructeur_id  integer
        constraint agent_superieur_unicaen_utilisateur_user_id_fk2
            references unicaen_utilisateur_user
);

create index agent_superieur_agent_id_index
    on agent_superieur (agent_id);

create index agent_superieur_superieur_id_index
    on agent_superieur (superieur_id);

-- ------------------------------------------------------------------------------------------------
-- Retrait de l'ancienne gestion ------------------------------------------------------------------
-- ------------------------------------------------------------------------------------------------

drop table agent_complement;
drop table complement;


```
 No newline at end of file
+0 −363
Changes for module/Application/config/merged/activite.config.php.old: 0 added lines, 363 removed lines.
Original line number Diff line number Diff line
<?php

namespace Application;

use Application\Controller\ActiviteController;
use Application\Controller\ActiviteControllerFactory;
use Application\Form\Activite\ActiviteForm;
use Application\Form\Activite\ActiviteFormFactory;
use Application\Form\Activite\ActiviteHydrator;
use Application\Form\Activite\ActiviteHydratorFactory;
use Application\Provider\Privilege\ActivitePrivileges;
use Application\Service\Activite\ActiviteService;
use Application\Service\Activite\ActiviteServiceFactory;
use Application\Service\ActiviteDescription\ActiviteDescriptionService;
use Application\Service\ActiviteDescription\ActiviteDescriptionServiceFactory;
use Application\View\Helper\ActiviteViewHelper;
use UnicaenPrivilege\Guard\PrivilegeController;
use Laminas\Router\Http\Literal;
use Laminas\Router\Http\Segment;

return [
    'bjyauthorize' => [
        'guards' => [
            PrivilegeController::class => [
                [
                    'controller' => ActiviteController::class,
                    'action' => [
                        'index',
                    ],
                    'privileges' => [
                        ActivitePrivileges::ACTIVITE_INDEX,
                    ],
                ],
                [
                    'controller' => ActiviteController::class,
                    'action' => [
                        'rechercher-activite',
                    ],
                    'roles' => [],
                ],
                [
                    'controller' => ActiviteController::class,
                    'action' => [
                        'afficher',
                    ],
                    'privileges' => [
                        ActivitePrivileges::ACTIVITE_AFFICHER,
                    ],
                ],
                [
                    'controller' => ActiviteController::class,
                    'action' => [
                        'creer',
                    ],
                    'privileges' => [
                        ActivitePrivileges::ACTIVITE_AJOUTER,
                    ],
                ],
                [
                    'controller' => ActiviteController::class,
                    'action' => [
                        'editer',
                        'modifier',

                        'modifier-libelle',
                        'modifier-application',
                        'modifier-competence',
                        'modifier-formation',

                        'ajouter-description',
                        'ajouter-descriptions',
                        'modifier-description',
                        'supprimer-description',
                        'update-ordre-description',

                        'ajouter-niveaux',
                        'modifier-niveaux',
                        'retirer-niveaux',
                        'initialiser-niveaux',
                    ],
                    'privileges' => [
                        ActivitePrivileges::ACTIVITE_MODIFIER,
                    ],
                ],
                [
                    'controller' => ActiviteController::class,
                    'action' => [
                        'historiser',
                        'restaurer',
                    ],
                    'privileges' => [
                        ActivitePrivileges::ACTIVITE_HISTORISER,
                    ],
                ],
                [
                    'controller' => ActiviteController::class,
                    'action' => [
                        'detruire',
                    ],
                    'privileges' => [
                        ActivitePrivileges::ACTIVITE_DETRUIRE,
                    ],
                ],
            ],
        ],
    ],



    'router'          => [
        'routes' => [
            'activite' => [
                'type'  => Literal::class,
                'options' => [
                    'route'    => '/mission-principale',
                ],
                'may_terminate' => true,
                'child_routes' => [
                    'afficher' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/afficher/:activite',
                            'defaults' => [
                                'controller' => ActiviteController::class,
                                'action'     => 'afficher',
                            ],
                        ],
                    ],
                    'editer' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/editer/:activite',
                            'defaults' => [
                                'controller' => ActiviteController::class,
                                'action'     => 'editer',
                            ],
                        ],
                    ],
                    'modifier' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/modifier[/:activite]',
                            'defaults' => [
                                'controller' => ActiviteController::class,
                                'action'     => 'modifier',
                            ],
                        ],
                    ],
                    'update-ordre-description' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/update-ordre-description/:activite/:ordre',
                            'defaults' => [
                                'controller' => ActiviteController::class,
                                'action'     => 'update-ordre-description',
                            ],
                        ],
                    ],
                    'historiser' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/historiser/:activite',
                            'defaults' => [
                                'controller' => ActiviteController::class,
                                'action'     => 'historiser',
                            ],
                        ],
                    ],
                    'restaurer' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/restaurer/:activite',
                            'defaults' => [
                                'controller' => ActiviteController::class,
                                'action'     => 'restaurer',
                            ],
                        ],
                    ],
                    'detruire' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/detruire/:activite',
                            'defaults' => [
                                'controller' => ActiviteController::class,
                                'action'     => 'detruire',
                            ],
                        ],
                    ],
                    'rechercher-activite' => [
                        'type'  => Literal::class,
                        'may_terminate' => true,
                        'options' => [
                            'route'    => '/rechercher-activite',
                            'defaults' => [
                                'controller' => ActiviteController::class,
                                'action'     => 'rechercher-activite',
                            ],
                        ],
                    ],
                    'modifier-application' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/modifier-application/:activite',
                            'defaults' => [
                                'controller' => ActiviteController::class,
                                'action'     => 'modifier-application',
                            ],
                        ],
                    ],
                    'modifier-competence' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/modifier-competence/:activite',
                            'defaults' => [
                                'controller' => ActiviteController::class,
                                'action'     => 'modifier-competence',
                            ],
                        ],
                    ],
                    'modifier-formation' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/modifier-formation/:activite',
                            'defaults' => [
                                'controller' => ActiviteController::class,
                                'action'     => 'modifier-formation',
                            ],
                        ],
                    ],
                    'modifier-libelle' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/modifier-libelle/:activite',
                            'defaults' => [
                                'controller' => ActiviteController::class,
                                'action'     => 'modifier-libelle',
                            ],
                        ],
                    ],
                    'creer' => [
                        'type'  => Literal::class,
                        'options' => [
                            'route'    => '/creer',
                            'defaults' => [
                                'controller' => ActiviteController::class,
                                'action'     => 'creer',
                            ],
                        ],
                    ],
                    'ajouter-description' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/ajouter-description/:activite',
                            'defaults' => [
                                'controller' => ActiviteController::class,
                                'action'     => 'ajouter-description',
                            ],
                        ],
                    ],
                    'ajouter-descriptions' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/ajouter-descriptions/:activite',
                            'defaults' => [
                                'controller' => ActiviteController::class,
                                'action'     => 'ajouter-descriptions',
                            ],
                        ],
                    ],
                    'modifier-description' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/modifier-description/:description',
                            'defaults' => [
                                'controller' => ActiviteController::class,
                                'action'     => 'modifier-description',
                            ],
                        ],
                    ],
                    'supprimer-description' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/supprimer-description/:description',
                            'defaults' => [
                                'controller' => ActiviteController::class,
                                'action'     => 'supprimer-description',
                            ],
                        ],
                    ],
                    /** GESTION DES ENVELOPPES DE NIVEAUX *****************/
                    'ajouter-niveaux' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/ajouter-niveaux/:activite',
                            'defaults' => [
                                'controller' => ActiviteController::class,
                                'action'     => 'ajouter-niveaux',
                            ],
                        ],
                    ],
                    'modifier-niveaux' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/modifier-niveaux/:activite',
                            'defaults' => [
                                'controller' => ActiviteController::class,
                                'action'     => 'modifier-niveaux',
                            ],
                        ],
                    ],
                    'retirer-niveaux' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/retirer-niveaux/:activite',
                            'defaults' => [
                                'controller' => ActiviteController::class,
                                'action'     => 'retirer-niveaux',
                            ],
                        ],
                    ],
                    'initialiser-niveaux' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/initialiser-niveaux',
                            'defaults' => [
                                'controller' => ActiviteController::class,
                                'action'     => 'initialiser-niveaux',
                            ],
                        ],
                    ],
                ],
            ],
        ],
    ],

    'service_manager' => [
        'factories' => [
            ActiviteService::class => ActiviteServiceFactory::class,
            ActiviteDescriptionService::class => ActiviteDescriptionServiceFactory::class,
        ],
    ],
    'controllers'     => [
        'factories' => [
            ActiviteController::class => ActiviteControllerFactory::class,
        ],
    ],
    'form_elements' => [
        'factories' => [
            ActiviteForm::class => ActiviteFormFactory::class,
        ],
    ],
    'hydrators' => [
        'factories' => [
            ActiviteHydrator::class => ActiviteHydratorFactory::class,
        ]
    ],
    'view_helpers' => [
        'invokables' => [
            'activite'  => ActiviteViewHelper::class,
        ],
    ],

];
 No newline at end of file
+10 −2
Changes for module/Application/config/merged/agent.config.php: 10 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -94,6 +94,16 @@ return [
                        AgentPrivileges::AGENT_INDEX,
                    ],
                ],
                [
                    'controller' => AgentController::class,
                    'action' => [
                        'afficher',
                    ],
                    'privileges' => [
                        AgentPrivileges::AGENT_AFFICHER,
                    ],
                    'assertion'  => AgentAssertion::class,
                ],
                [
                    'controller' => AgentController::class,
                    'action' => [
@@ -102,8 +112,6 @@ return [
                        'rechercher-with-structure-mere',
                        'rechercher-responsable',
                        'rechercher-gestionnaire',

                        'afficher',
                    ],
                    'privileges' => [
                        AgentPrivileges::AGENT_AFFICHER,
+0 −122

File deleted.

Preview size limit exceeded, changes collapsed.

Loading