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

Ajout de privilèges pour les niveaux de carrière + [FIX] Correction de routes...

Ajout de privilèges pour les niveaux de carrière + [FIX] Correction de routes erronées pour la gestion des niveaux de carrière
parent be3fe38c
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -179,3 +179,18 @@ WITH d(code, lib, ordre) AS (
SELECT cp.id, d.code, d.lib, d.ordre
FROM d
         JOIN unicaen_privilege_categorie cp ON cp.CODE = 'correspondance';

INSERT INTO unicaen_privilege_categorie (code, libelle, ordre, namespace)
VALUES ('niveaucarriere', 'Gestion des niveaux de carrière ', 1000, 'Carriere\Provider\Privilege');
INSERT INTO unicaen_privilege_privilege(CATEGORIE_ID, CODE, LIBELLE, ORDRE)
WITH d(code, lib, ordre) AS (
    SELECT 'niveaucarriere_index', 'Accéder à l''index', 1 UNION
    SELECT 'niveaucarriere_afficher', 'Afficher un niveau', 10 UNION
    SELECT 'niveaucarriere_ajouter', 'Ajouter un niveau', 20 UNION
    SELECT 'niveaucarriere_modifier', 'Modifier un niveau', 30 UNION
    SELECT 'niveaucarriere_historiser', 'Historiser/Restaurer un niveau', 40 UNION
    SELECT 'niveaucarriere_supprimer', 'Supprimer un niveau', 50
)
SELECT cp.id, d.code, d.lib, d.ordre
FROM d
JOIN unicaen_privilege_categorie cp ON cp.CODE = 'niveaucarriere';
 No newline at end of file
+22 −2
Original line number Diff line number Diff line
@@ -5,9 +5,29 @@
**Changements**

* 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
* [FIX] Correction de routes erronées pour la gestion des niveaux de carrière

**Modifications de la base de donnée**

```sql
INSERT INTO unicaen_privilege_categorie (code, libelle, ordre, namespace)
VALUES ('niveaucarriere', 'Gestion des niveaux de carrière ', 1000, 'Carriere\Provider\Privilege');
INSERT INTO unicaen_privilege_privilege(CATEGORIE_ID, CODE, LIBELLE, ORDRE)
WITH d(code, lib, ordre) AS (
    SELECT 'niveaucarriere_index', 'Accéder à l''index', 1 UNION
    SELECT 'niveaucarriere_afficher', 'Afficher un niveau', 10 UNION
    SELECT 'niveaucarriere_ajouter', 'Ajouter un niveau', 20 UNION
    SELECT 'niveaucarriere_modifier', 'Modifier un niveau', 30 UNION
    SELECT 'niveaucarriere_historiser', 'Historiser/Restaurer un niveau', 40 UNION
    SELECT 'niveaucarriere_supprimer', 'Supprimer un niveau', 50
)
SELECT cp.id, d.code, d.lib, d.ordre
FROM d
JOIN unicaen_privilege_categorie cp ON cp.CODE = 'niveaucarriere';
-- pensez à attribuer ces nouveaux privilèges
```


**Évolution des bibliothèques**
+34 −2
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@ use Carriere\Form\NiveauEnveloppe\NiveauEnveloppeForm;
use Carriere\Form\NiveauEnveloppe\NiveauEnveloppeFormFactory;
use Carriere\Form\NiveauEnveloppe\NiveauEnveloppeHydrator;
use Carriere\Form\NiveauEnveloppe\NiveauEnveloppeHydratorFactory;
use Carriere\Provider\Privilege\CorpsPrivileges;
use Carriere\Provider\Privilege\NiveaucarrierePrivileges;
use Carriere\Service\Niveau\NiveauService;
use Carriere\Service\Niveau\NiveauServiceFactory;
use Carriere\Service\NiveauEnveloppe\NiveauEnveloppeService;
@@ -34,14 +34,46 @@ return [
                    'controller' => NiveauController::class,
                    'action' => [
                        'index',
                    ],
                    'privileges' => [
                        NiveaucarrierePrivileges::NIVEAUCARRIERE_INDEX,
                    ],
                ],
                [
                    'controller' => NiveauController::class,
                    'action' => [
                        'ajouter',
                    ],
                    'privileges' => [
                        NiveaucarrierePrivileges::NIVEAUCARRIERE_AJOUTER,
                    ],
                ],
                [
                    'controller' => NiveauController::class,
                    'action' => [
                        'modifier',
                    ],
                    'privileges' => [
                        NiveaucarrierePrivileges::NIVEAUCARRIERE_MODIFIER,
                    ],
                ],
                [
                    'controller' => NiveauController::class,
                    'action' => [
                        'historiser',
                        'restaurer',
                    ],
                    'privileges' => [
                        NiveaucarrierePrivileges::NIVEAUCARRIERE_HISTORISER,
                    ],
                ],
                [
                    'controller' => NiveauController::class,
                    'action' => [
                        'supprimer',
                    ],
                    'privileges' => [
                        CorpsPrivileges::CORPS_AFFICHER,
                        NiveaucarrierePrivileges::NIVEAUCARRIERE_SUPPRIMER,
                    ],
                ],
            ],
+7 −6
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ namespace Carriere\Controller;
use Carriere\Entity\Db\Niveau;
use Carriere\Form\Niveau\NiveauFormAwareTrait;
use Carriere\Service\Niveau\NiveauServiceAwareTrait;
use Laminas\Http\Response;
use Laminas\Mvc\Controller\AbstractActionController;
use Laminas\View\Model\ViewModel;

@@ -14,13 +15,13 @@ class NiveauController extends AbstractActionController {

    public function indexAction() : ViewModel
    {
        $niveaux = $this->getNiveauService()->getNiveaux();
        $niveaux = $this->getNiveauService()->getNiveaux('niveau', 'ASC', true);
        return new ViewModel([
            'niveaux' => $niveaux,
        ]);
    }

    public function ajouterAction()
    public function ajouterAction() : ViewModel
    {
        $niveau = new Niveau();

@@ -45,7 +46,7 @@ class NiveauController extends AbstractActionController {
        return $vm;
    }

    public function modifierAction()
    public function modifierAction() : ViewModel
    {
        $niveau = $this->getNiveauService()->getRequestedNiveau($this);

@@ -70,7 +71,7 @@ class NiveauController extends AbstractActionController {
        return $vm;
    }

    public function historiserAction()
    public function historiserAction() : Response
    {
        $niveau = $this->getNiveauService()->getRequestedNiveau($this);
        $retour = $this->params()->fromQuery('retour');
@@ -81,7 +82,7 @@ class NiveauController extends AbstractActionController {
        return $this->redirect()->toRoute('niveau');
    }

    public function restaurerAction()
    public function restaurerAction(): Response
    {
        $niveau = $this->getNiveauService()->getRequestedNiveau($this);
        $retour = $this->params()->fromQuery('retour');
@@ -92,7 +93,7 @@ class NiveauController extends AbstractActionController {
        return $this->redirect()->toRoute('niveau');
    }

    public function supprimerAction()
    public function supprimerAction(): ViewModel
    {
        $niveau = $this->getNiveauService()->getRequestedNiveau($this);

+7 −38
Original line number Diff line number Diff line
@@ -11,74 +11,43 @@ class Niveau implements HistoriqueAwareInterface, HasDescriptionInterface {
    use HistoriqueAwareTrait;
    use HasDescriptionTrait;

    /** @var int */
    private $id;
    /** @var int */
    private $niveau;
    /** @var string */
    private $etiquette;
    /** @var string */
    private $libelle;
    private ?int $id = null;
    private ?int $niveau = null;
    private ?string $etiquette = null;
    private ?string $libelle = null;

    /**
     * @return int
     */
    public function getId(): int
    {
        return $this->id;
    }

    /**
     * @return string|null
     */
    public function getEtiquette(): ?string
    {
        return $this->etiquette;
    }

    /**
     * @param string $etiquette
     * @return Niveau
     */
    public function setEtiquette(string $etiquette): Niveau
    public function setEtiquette(string $etiquette): void
    {
        $this->etiquette = $etiquette;
        return $this;
    }

    /**
     * @return int|null
     */
    public function getNiveau(): ?int
    {
        return $this->niveau;
    }

    /**
     * @param int $niveau
     * @return Niveau
     */
    public function setNiveau(int $niveau): Niveau
    public function setNiveau(int $niveau): void
    {
        $this->niveau = $niveau;
        return $this;
    }

    /**
     * @return string|null
     */
    public function getLibelle(): ?string
    {
        return $this->libelle;
    }

    /**
     * @param string $libelle
     * @return Niveau
     */
    public function setLibelle(string $libelle): Niveau
    public function setLibelle(string $libelle): void
    {
        $this->libelle = $libelle;
        return $this;
    }
}
 No newline at end of file
Loading