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

Complétion vers 5.0.1

parent efbd0cff
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -2,18 +2,7 @@

namespace UnicaenParametre;

use UnicaenParametre\Controller\CategorieController;
use UnicaenParametre\Controller\CategorieControllerFactory;
use UnicaenParametre\Form\Categorie\CategorieForm;
use UnicaenParametre\Form\Categorie\CategorieFormFactory;
use UnicaenParametre\Form\Categorie\CategorieHydrator;
use UnicaenParametre\Form\Categorie\CategorieHydratorFactory;
use UnicaenParametre\Provider\Privilege\ParametrecategoriePrivileges;
use UnicaenParametre\Service\Categorie\CategorieService;
use UnicaenParametre\Service\Categorie\CategorieServiceFactory;
use UnicaenPrivilege\Guard\PrivilegeController;
use Laminas\Router\Http\Literal;
use Laminas\Router\Http\Segment;

return [

+38 −14
Original line number Diff line number Diff line
UnicaenParametre
============

UnicaenParametre est une biltiothèque de gestion de catégories de paramètre et de paramètres.
UnicaenParametre est une bibliothèque de gestion de paramètres.
Les paramètres sont désignés par une catégorie et un code.

Route d'accès
-------------
- */parametre/index* donne accès aux paramètres de toutes les catégories
- */parametre/index/categorieId* donne accès aux paramètres de la catégorie *categorieId*
Le module fournit un menu d'administration permettant la déclaration des paramètres et de leur catégorie, 
ainsi que l'affectation de leur valeur.

Récupération de la valeur d'un paramètre
----------------------------------------

```php
$this->getParametreService()->getParametreByCode('ma_categorie','mon_parametre')->getValeur();
$this->getParametreService()->getValeurForParametre('ma_categorie','mon_parametre');
```

**N.B.:** Il n'y a pas d'historisation des paramètres ou de leur catégorie. Est-ce bien nécessaire ?
Si le paramètre n'est pas trouvé alors une exception ```ParametreNotFoundException``` est lancée.

Bonnes pratiques
----------------

Afin de mieux référencer les catégories et les paramètres, il est recommandé de mettre en place un provider de parametres déclarant en constante : la catégorie  et les paramètres.

```php
<?php

namespace Formation\Provider\Parametre;

class FormationParametres {

    const CATEGORIE = 'FORMATION';

    const NB_PLACE_PRINCIPALE = 'NB_PLACE_PRINCIPALE';
    const NB_PLACE_COMPLEMENTAIRE = 'NB_PLACE_COMPLEMENTAIRE';
}
```

- - - - - - - - - - - - - 


Installation
============

Dans le répertoire **doc** du module, on retrouve le fichier *database.sql* qui permet de construire la table associée au
 module et d'ajouter les privilèges associés.

Le module s'attend à avoir un menu **Administration** pour mettre un menu secondaire **Paramètres**. 
Pensez à l'ajouter s'il n'existe pas ou à modifier la naviguation dans *categorie.config.php*.
La navigation est fourni par le fichier ```unicaen-parametre.global.php(.dist)``` et doit être adaptée à votre application.

- - - - - - - - - - - - - 

Historique

ChangeLog
==========

version 0.1.0 25/02/2021
------------------------
Version initiale du module.
**5.0.1**
- Ajout de la fonction de la valeur dans le service ParametreService
- Ajout de l'exception ```ParametreNotFoundException```
- Transformation des classes des entités *à la PHP8*

**5.0.0**
- Finalisation de la migration à BootStrap 5.

Améliorations possibles
-----------------------
+5 −4
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ class CategorieController extends AbstractActionController {
    use ParametreServiceAwareTrait;
    use CategorieFormAwareTrait;

    public function indexAction()
    public function indexAction() : ViewModel
    {
        $categories = $this->getCategorieService()->getCategories();
        $parametres = $this->getParametreService()->getParametres();
@@ -27,7 +27,8 @@ class CategorieController extends AbstractActionController {
        ]);
    }

    public function ajouterAction() {
    public function ajouterAction() : ViewModel
    {

        $categorie = new Categorie();
        $form = $this->getCategorieForm();
@@ -51,7 +52,7 @@ class CategorieController extends AbstractActionController {
        return $vm;
    }

    public function modifierAction()
    public function modifierAction() : ViewModel
    {
        $categorie = $this->getCategorieService()->getRequestedCategorie($this);
        $form = $this->getCategorieForm();
@@ -76,7 +77,7 @@ class CategorieController extends AbstractActionController {
        return $vm;
    }

    public function supprimerAction()
    public function supprimerAction() : ViewModel
    {
        $categorie = $this->getCategorieService()->getRequestedCategorie($this);

+9 −1
Original line number Diff line number Diff line
@@ -3,13 +3,21 @@
namespace UnicaenParametre\Controller;

use Interop\Container\ContainerInterface;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
use UnicaenParametre\Form\Categorie\CategorieForm;
use UnicaenParametre\Service\Categorie\CategorieService;
use UnicaenParametre\Service\Parametre\ParametreService;

class CategorieControllerFactory {

    public function __invoke(ContainerInterface $container)
    /**
     * @param ContainerInterface $container
     * @return CategorieController
     * @throws ContainerExceptionInterface
     * @throws NotFoundExceptionInterface
     */
    public function __invoke(ContainerInterface $container) : CategorieController
    {
        /**
         * @var CategorieService $categorieService
+4 −4
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ class ParametreController extends AbstractActionController {
    use ParametreServiceAwareTrait;
    use ParametreFormAwareTrait;

    public function ajouterAction()
    public function ajouterAction() : ViewModel
    {
        $categorie = $this->getCategorieService()->getRequestedCategorie($this);
        $parametre = new Parametre();
@@ -41,7 +41,7 @@ class ParametreController extends AbstractActionController {
        return $vm;
    }

    public function modifierAction()
    public function modifierAction() : ViewModel
    {
        $parametre = $this->getParametreService()->getRequestedParametre($this);
        $form = $this->getParametreForm();
@@ -67,7 +67,7 @@ class ParametreController extends AbstractActionController {
        return $vm;
    }

    public function supprimerAction()
    public function supprimerAction() : ViewModel
    {
        $parametre = $this->getParametreService()->getRequestedParametre($this);

@@ -90,7 +90,7 @@ class ParametreController extends AbstractActionController {
        return $vm;
    }

    public function modifierValeurAction()
    public function modifierValeurAction() : ViewModel
    {
        $parametre = $this->getParametreService()->getRequestedParametre($this);

Loading