diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..723ef36f4e4f32c4560383aa5987c575a30c6535 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea \ No newline at end of file diff --git a/Module.php b/Module.php index 4ebbf7a7c4b8d2a2b98fc823530243e5db612b0e..08c4513cb09078852d0f8962fa9f5bacca956cb6 100644 --- a/Module.php +++ b/Module.php @@ -2,11 +2,11 @@ namespace UnicaenParametre; -use Zend\Config\Factory as ConfigFactory; -use Zend\Mvc\ModuleRouteListener; -use Zend\Mvc\MvcEvent; -use Zend\Stdlib\ArrayUtils; -use Zend\Stdlib\Glob; +use Laminas\Config\Factory as ConfigFactory; +use Laminas\Mvc\ModuleRouteListener; +use Laminas\Mvc\MvcEvent; +use Laminas\Stdlib\ArrayUtils; +use Laminas\Stdlib\Glob; class Module { @@ -35,7 +35,7 @@ class Module public function getAutoloaderConfig() { return array( - 'Zend\Loader\StandardAutoloader' => array( + 'Laminas\Loader\StandardAutoloader' => array( 'namespaces' => array( __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__, ), diff --git a/composer.json b/composer.json index 83efea6d5680053063879d7df00e4ee813564500..720c187eb4356118efbdfb6bb41445f432145429 100644 --- a/composer.json +++ b/composer.json @@ -1,6 +1,6 @@ { "name": "unicaen/parametre", - "description": "Module de gestion de parametre", + "description": "Module de gestion de paramètres", "repositories": [ { "type": "composer", @@ -8,8 +8,7 @@ } ], "require": { - "unicaen/app": "^3.0", - "unicaen/privilege": "dev-master" + "unicaen/privilege": "^5" }, "autoload": { "psr-0": { diff --git a/config/example.php b/config/example.php index e950d6c7b9f6b0f04bf3e4484cdfe4fc4bfb839a..2c5252feccd72e8780a608e82d54e71db392e9fe 100644 --- a/config/example.php +++ b/config/example.php @@ -3,8 +3,8 @@ namespace UnicaenParametre; use UnicaenPrivilege\Guard\PrivilegeController; -use Zend\Router\Http\Literal; -use Zend\Router\Http\Segment; +use Laminas\Router\Http\Literal; +use Laminas\Router\Http\Segment; return [ 'bjyauthorize' => [ diff --git a/config/merged/categorie.config.php b/config/merged/categorie.config.php index b4aacbcd93b62e31a1c9cb372dae63b61651bbd6..8d917c12954456bb1ccdd50c5e89c7e8963f09b1 100644 --- a/config/merged/categorie.config.php +++ b/config/merged/categorie.config.php @@ -12,8 +12,8 @@ use UnicaenParametre\Provider\Privilege\ParametrecategoriePrivileges; use UnicaenParametre\Service\Categorie\CategorieService; use UnicaenParametre\Service\Categorie\CategorieServiceFactory; use UnicaenPrivilege\Guard\PrivilegeController; -use Zend\Router\Http\Literal; -use Zend\Router\Http\Segment; +use Laminas\Router\Http\Literal; +use Laminas\Router\Http\Segment; return [ 'bjyauthorize' => [ @@ -51,27 +51,7 @@ return [ ], ], - 'navigation' => [ - 'default' => [ - 'home' => [ - 'pages' => [ - 'administration' => [ - 'pages' => [ - 'parametre' => [ - 'label' => 'Paramètres', - 'route' => 'parametre/index', - // 'resource' => PrivilegeController::getResourceId(CategorieController::class, 'index'), - 'resource' => ParametrecategoriePrivileges::getResourceId(ParametrecategoriePrivileges::PARAMETRECATEGORIE_INDEX), - 'order' => 7020, - 'pages' => [], - 'icon' => 'fas fa-angle-right', - ], - ], - ], - ], - ], - ], - ], + 'router' => [ 'routes' => [ diff --git a/config/merged/parametre.config.php b/config/merged/parametre.config.php index 53c9ce95927660692d621342291fd02179da64ff..10f383f87993f136f89e0866a64028a0311603c7 100644 --- a/config/merged/parametre.config.php +++ b/config/merged/parametre.config.php @@ -10,8 +10,8 @@ use UnicaenParametre\Provider\Privilege\ParametrePrivileges; use UnicaenParametre\Service\Parametre\ParametreService; use UnicaenParametre\Service\Parametre\ParametreServiceFactory; use UnicaenPrivilege\Guard\PrivilegeController; -use Zend\Router\Http\Literal; -use Zend\Router\Http\Segment; +use Laminas\Router\Http\Literal; +use Laminas\Router\Http\Segment; return [ 'bjyauthorize' => [ diff --git a/config/unicaen-parametre.global.php.dist b/config/unicaen-parametre.global.php.dist new file mode 100644 index 0000000000000000000000000000000000000000..17fd96069728f32cf7b137de0c6d4530f497150c --- /dev/null +++ b/config/unicaen-parametre.global.php.dist @@ -0,0 +1,30 @@ +<?php + +namespace UnicaenParametre; + +use UnicaenParametre\Provider\Privilege\ParametrecategoriePrivileges; + +return [ + + 'navigation' => [ + 'default' => [ + 'home' => [ + 'pages' => [ + 'administration' => [ + 'pages' => [ + 'parametre' => [ + 'label' => 'Paramètres', + 'route' => 'parametre/index', +// 'resource' => PrivilegeController::getResourceId(CategorieController::class, 'index'), + 'resource' => ParametrecategoriePrivileges::getResourceId(ParametrecategoriePrivileges::PARAMETRECATEGORIE_INDEX), + 'order' => 7020, + 'pages' => [], + 'icon' => 'fas fa-angle-right', + ], + ], + ], + ], + ], + ], + ], +]; \ No newline at end of file diff --git a/readme.md b/readme.md index 4dc1dee2f6531c2c35712ea9a676aaaed2c825ee..6778114e0efb1342df401d30bfe89248d3303541 100644 --- a/readme.md +++ b/readme.md @@ -1,40 +1,69 @@ 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. +Si le paramètre n'est pas typé correctement alors une exception ```ParametreMalTypeException``` est lancée. + +***TODO*** À propos du typage : +- Étendre le typage +- Modifier le formulaire pour exploiter les types "déclarés" + +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 ----------------------- diff --git a/src/UnicaenParametre/Controller/CategorieController.php b/src/UnicaenParametre/Controller/CategorieController.php index ccfd1e304c4924fbffc09d9d61b26e6e13825181..adf6ca55fb4dddaf320906f84802ce9f332322b7 100644 --- a/src/UnicaenParametre/Controller/CategorieController.php +++ b/src/UnicaenParametre/Controller/CategorieController.php @@ -6,15 +6,15 @@ use UnicaenParametre\Entity\Db\Categorie; use UnicaenParametre\Form\Categorie\CategorieFormAwareTrait; use UnicaenParametre\Service\Categorie\CategorieServiceAwareTrait; use UnicaenParametre\Service\Parametre\ParametreServiceAwareTrait; -use Zend\Mvc\Controller\AbstractActionController; -use Zend\View\Model\ViewModel; +use Laminas\Mvc\Controller\AbstractActionController; +use Laminas\View\Model\ViewModel; class CategorieController extends AbstractActionController { use CategorieServiceAwareTrait; 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); diff --git a/src/UnicaenParametre/Controller/CategorieControllerFactory.php b/src/UnicaenParametre/Controller/CategorieControllerFactory.php index 9c68897f94f43a3299d80db67742ee0054d7fcf7..fc93b57320b8f10785efa24873a4336f0d939a53 100644 --- a/src/UnicaenParametre/Controller/CategorieControllerFactory.php +++ b/src/UnicaenParametre/Controller/CategorieControllerFactory.php @@ -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 diff --git a/src/UnicaenParametre/Controller/ParametreController.php b/src/UnicaenParametre/Controller/ParametreController.php index c812a31c31deb2ac964f93ff5d1fd747b7d3d614..f53f7c1a52e9b5fdd669b7d67e82b298e30b5cfb 100644 --- a/src/UnicaenParametre/Controller/ParametreController.php +++ b/src/UnicaenParametre/Controller/ParametreController.php @@ -6,15 +6,15 @@ use UnicaenParametre\Entity\Db\Parametre; use UnicaenParametre\Form\Parametre\ParametreFormAwareTrait; use UnicaenParametre\Service\Categorie\CategorieServiceAwareTrait; use UnicaenParametre\Service\Parametre\ParametreServiceAwareTrait; -use Zend\Mvc\Controller\AbstractActionController; -use Zend\View\Model\ViewModel; +use Laminas\Mvc\Controller\AbstractActionController; +use Laminas\View\Model\ViewModel; class ParametreController extends AbstractActionController { use CategorieServiceAwareTrait; 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); diff --git a/src/UnicaenParametre/Controller/ParametreControllerFactory.php b/src/UnicaenParametre/Controller/ParametreControllerFactory.php index 8bbc5e00ca5ab037ae9ee9a3aae1567abb7f04df..c73a898e599d904e35f03d3b93fb538f45220a27 100644 --- a/src/UnicaenParametre/Controller/ParametreControllerFactory.php +++ b/src/UnicaenParametre/Controller/ParametreControllerFactory.php @@ -3,6 +3,8 @@ namespace UnicaenParametre\Controller; use Interop\Container\ContainerInterface; +use Psr\Container\ContainerExceptionInterface; +use Psr\Container\NotFoundExceptionInterface; use UnicaenParametre\Form\Parametre\ParametreForm; use UnicaenParametre\Service\Categorie\CategorieService; use UnicaenParametre\Service\Parametre\ParametreService; @@ -12,8 +14,10 @@ class ParametreControllerFactory { /** * @param ContainerInterface $container * @return ParametreController + * @throws ContainerExceptionInterface + * @throws NotFoundExceptionInterface */ - public function __invoke(ContainerInterface $container) + public function __invoke(ContainerInterface $container) : ParametreController { /** * @var CategorieService $categorieService diff --git a/src/UnicaenParametre/Entity/Db/Categorie.php b/src/UnicaenParametre/Entity/Db/Categorie.php index 49cc9fb745e1ed4ab2d244ada9251479f5956fda..bce4cfb41fbc01561386442e432e10a4a7f9a578 100644 --- a/src/UnicaenParametre/Entity/Db/Categorie.php +++ b/src/UnicaenParametre/Entity/Db/Categorie.php @@ -6,91 +6,55 @@ class Categorie { const DEFAULT_ORDER = 9999; - /** @var integer */ - private $id; - /** @var string */ - private $code; - /** @var string */ - private $libelle; - /** @var string */ - private $description; - /** @var integer */ - private $ordre; + private ?int $id = null; + private ?string $code = null; + private ?string $libelle = null; + private ?string $description = null; + private ?int $ordre = null; - /** - * @return int - */ public function getId(): int { return $this->id; } - /** - * @return string|null - */ public function getCode(): ?string { return $this->code; } - /** - * @param string|null $code - * @return Categorie - */ public function setCode(?string $code): Categorie { $this->code = $code; return $this; } - /** - * @return string|null - */ public function getLibelle(): ?string { return $this->libelle; } - /** - * @param string|null $libelle - * @return Categorie - */ public function setLibelle(?string $libelle): Categorie { $this->libelle = $libelle; return $this; } - /** - * @return string|null - */ public function getDescription(): ?string { return $this->description; } - /** - * @param string|null $description - * @return Categorie - */ public function setDescription(?string $description): Categorie { $this->description = $description; return $this; } - /** - * @return int|null - */ public function getOrdre(): ?int { return $this->ordre; } - /** - * @param int $ordre - * @return Categorie - */ public function setOrdre(int $ordre = Categorie::DEFAULT_ORDER): Categorie { $this->ordre = $ordre; diff --git a/src/UnicaenParametre/Entity/Db/Parametre.php b/src/UnicaenParametre/Entity/Db/Parametre.php index 85b31397ebdea9b36f49da6d34ad9062d8161b24..2ca7cc2fd7c23297ff397594965159f0cb235f90 100644 --- a/src/UnicaenParametre/Entity/Db/Parametre.php +++ b/src/UnicaenParametre/Entity/Db/Parametre.php @@ -6,151 +6,95 @@ class Parametre { const DEFAULT_ORDER = 9999; - /** @var integer */ - private $id; - /** @var Categorie */ - private $categorie; - /** @var string */ - private $code; - /** @var string */ - private $libelle; - /** @var string */ - private $description; - /** @var string */ - private $valeur; - /** @var string */ - private $valeurs_possibles; - /** @var integer */ - private $ordre; - - /** - * @return int - */ + const TYPE_STRING = "String"; + const TYPE_BOOLEAN = "Boolean"; + const TYPE_NUMBER = "Number"; + + private ?int $id = null; + private ?Categorie $categorie = null; + private ?string $code = null; + private ?string $libelle = null; + private ?string $description = null; + private ?string $valeur = null; + private ?string $valeurs_possibles = null; + private ?int $ordre = null; + public function getId(): int { return $this->id; } - /** - * @return Categorie|null - */ public function getCategorie(): ?Categorie { return $this->categorie; } - /** - * @param Categorie|null $categorie - * @return Parametre - */ public function setCategorie(?Categorie $categorie): Parametre { $this->categorie = $categorie; return $this; } - /** - * @return string|null - */ public function getCode(): ?string { return $this->code; } - /** - * @param string|null $code - * @return Parametre - */ public function setCode(?string $code): Parametre { $this->code = $code; return $this; } - /** - * @return string|null - */ public function getLibelle(): ?string { return $this->libelle; } - /** - * @param string|null $libelle - * @return Parametre - */ public function setLibelle(?string $libelle): Parametre { $this->libelle = $libelle; return $this; } - /** - * @return string|null - */ public function getDescription(): ?string { return $this->description; } - /** - * @param string|null $description - * @return Parametre - */ public function setDescription(?string $description): Parametre { $this->description = $description; return $this; } - /** - * @return string|null - */ public function getValeur(): ?string { return $this->valeur; } - /** - * @param string|null $valeur - * @return Parametre - */ public function setValeur(?string $valeur): Parametre { $this->valeur = $valeur; return $this; } - /** - * @return string|null - */ public function getValeursPossibles(): ?string { return $this->valeurs_possibles; } - /** - * @param string|null $valeurs_possibles - * @return Parametre - */ public function setValeursPossibles(?string $valeurs_possibles): Parametre { $this->valeurs_possibles = $valeurs_possibles; return $this; } - /** - * @return int|null - */ public function getOrdre(): ?int { return $this->ordre; } - /** - * @param int $ordre - * @return Parametre - */ public function setOrdre(int $ordre = Parametre::DEFAULT_ORDER): Parametre { $this->ordre = $ordre; diff --git a/src/UnicaenParametre/Exception/ParametreMalTypeException.php b/src/UnicaenParametre/Exception/ParametreMalTypeException.php new file mode 100644 index 0000000000000000000000000000000000000000..8166bd7a873acc6dddcc89a3087318bf729d1475 --- /dev/null +++ b/src/UnicaenParametre/Exception/ParametreMalTypeException.php @@ -0,0 +1,7 @@ +<?php + +namespace parametre\src\UnicaenParametre\Exception; + +use Exception; + +class ParametreMalTypeException extends Exception {} \ No newline at end of file diff --git a/src/UnicaenParametre/Exception/ParametreNotFoundException.php b/src/UnicaenParametre/Exception/ParametreNotFoundException.php new file mode 100644 index 0000000000000000000000000000000000000000..e42a1070dbdfe3d061d6d97feecd6cf09576477a --- /dev/null +++ b/src/UnicaenParametre/Exception/ParametreNotFoundException.php @@ -0,0 +1,7 @@ +<?php + +namespace UnicaenParametre\Exception; + +use Exception; + +class ParametreNotFoundException extends Exception {} \ No newline at end of file diff --git a/src/UnicaenParametre/Form/Categorie/CategorieForm.php b/src/UnicaenParametre/Form/Categorie/CategorieForm.php index 4dddae66f46b727561e23d3644f6bf3ea1623433..bcffc3b49890f8dd95e8272a6f6832ef1825da71 100644 --- a/src/UnicaenParametre/Form/Categorie/CategorieForm.php +++ b/src/UnicaenParametre/Form/Categorie/CategorieForm.php @@ -3,14 +3,14 @@ namespace UnicaenParametre\Form\Categorie; use UnicaenParametre\Service\Categorie\CategorieServiceAwareTrait; -use Zend\Form\Element\Button; -use Zend\Form\Element\Hidden; -use Zend\Form\Element\Number; -use Zend\Form\Element\Text; -use Zend\Form\Element\Textarea; -use Zend\Form\Form; -use Zend\InputFilter\Factory; -use Zend\Validator\Callback; +use Laminas\Form\Element\Button; +use Laminas\Form\Element\Hidden; +use Laminas\Form\Element\Number; +use Laminas\Form\Element\Text; +use Laminas\Form\Element\Textarea; +use Laminas\Form\Form; +use Laminas\InputFilter\Factory; +use Laminas\Validator\Callback; class CategorieForm extends Form { use CategorieServiceAwareTrait; @@ -91,7 +91,7 @@ class CategorieForm extends Form { ], 'attributes' => [ 'type' => 'submit', - 'class' => 'btn btn-default', + 'class' => 'btn btn-primary', ], ]); //input filter diff --git a/src/UnicaenParametre/Form/Categorie/CategorieFormAwareTrait.php b/src/UnicaenParametre/Form/Categorie/CategorieFormAwareTrait.php index 4d4ee6b053a263f6e01d72f574ccdebd21c34b08..e61ff38195ae889ab4a63cd7f770c03ac6777305 100644 --- a/src/UnicaenParametre/Form/Categorie/CategorieFormAwareTrait.php +++ b/src/UnicaenParametre/Form/Categorie/CategorieFormAwareTrait.php @@ -4,24 +4,15 @@ namespace UnicaenParametre\Form\Categorie; trait CategorieFormAwareTrait { - /** @var CategorieForm */ - private $categorieForm; + private CategorieForm $categorieForm; - /** - * @return CategorieForm - */ public function getCategorieForm(): CategorieForm { return $this->categorieForm; } - /** - * @param CategorieForm $categorieForm - * @return CategorieForm - */ - public function setCategorieForm(CategorieForm $categorieForm): CategorieForm + public function setCategorieForm(CategorieForm $categorieForm): void { $this->categorieForm = $categorieForm; - return $this->categorieForm; } } \ No newline at end of file diff --git a/src/UnicaenParametre/Form/Categorie/CategorieFormFactory.php b/src/UnicaenParametre/Form/Categorie/CategorieFormFactory.php index 8233d980c3e15c57e5d19d957375864ea987eeaf..541e82d12150972778642c13cb7db60afe051b35 100644 --- a/src/UnicaenParametre/Form/Categorie/CategorieFormFactory.php +++ b/src/UnicaenParametre/Form/Categorie/CategorieFormFactory.php @@ -3,6 +3,8 @@ namespace UnicaenParametre\Form\Categorie; use Interop\Container\ContainerInterface; +use Psr\Container\ContainerExceptionInterface; +use Psr\Container\NotFoundExceptionInterface; use UnicaenParametre\Service\Categorie\CategorieService; class CategorieFormFactory { @@ -10,8 +12,10 @@ class CategorieFormFactory { /** * @param ContainerInterface $container * @return CategorieForm + * @throws ContainerExceptionInterface + * @throws NotFoundExceptionInterface */ - public function __invoke(ContainerInterface $container) + public function __invoke(ContainerInterface $container) : CategorieForm { /** * @var CategorieService $categorieService diff --git a/src/UnicaenParametre/Form/Categorie/CategorieHydrator.php b/src/UnicaenParametre/Form/Categorie/CategorieHydrator.php index f48b211a46d071da95707b718cabf6ce8c1a14c8..48e53152218f2df5c497737714bc00f68bf29369 100644 --- a/src/UnicaenParametre/Form/Categorie/CategorieHydrator.php +++ b/src/UnicaenParametre/Form/Categorie/CategorieHydrator.php @@ -3,7 +3,7 @@ namespace UnicaenParametre\Form\Categorie; use UnicaenParametre\Entity\Db\Categorie; -use Zend\Hydrator\HydratorInterface; +use Laminas\Hydrator\HydratorInterface; class CategorieHydrator implements HydratorInterface { @@ -11,7 +11,7 @@ class CategorieHydrator implements HydratorInterface { * @param Categorie $object * @return array|void */ - public function extract($object) + public function extract(object $object) : array { $data = [ 'code' => $object->getCode(), @@ -27,7 +27,7 @@ class CategorieHydrator implements HydratorInterface { * @param Categorie $object * @return Categorie */ - public function hydrate(array $data, $object) + public function hydrate(array $data, $object) : object { $code = (isset($data['code']) and trim($data['code']) !== '')?trim($data['code']):null; $libelle = (isset($data['libelle']) and trim($data['libelle']) !== '')?trim($data['libelle']):null; diff --git a/src/UnicaenParametre/Form/Categorie/CategorieHydratorFactory.php b/src/UnicaenParametre/Form/Categorie/CategorieHydratorFactory.php index 917af1722d533e1f70c2f3fd05d9a44ae2078750..ca90fce99313c059559341c02666faf66d902386 100644 --- a/src/UnicaenParametre/Form/Categorie/CategorieHydratorFactory.php +++ b/src/UnicaenParametre/Form/Categorie/CategorieHydratorFactory.php @@ -10,7 +10,7 @@ class CategorieHydratorFactory { * @param ContainerInterface $container * @return CategorieHydrator */ - public function __invoke(ContainerInterface $container) + public function __invoke(ContainerInterface $container) : CategorieHydrator { $hydrator = new CategorieHydrator(); return $hydrator; diff --git a/src/UnicaenParametre/Form/Parametre/ParametreForm.php b/src/UnicaenParametre/Form/Parametre/ParametreForm.php index 7e3cadee584bce2439e2e0a2f95d6d980627c91f..f8a4d233aef6987c9da3bbecd90c2e7c76e35377 100644 --- a/src/UnicaenParametre/Form/Parametre/ParametreForm.php +++ b/src/UnicaenParametre/Form/Parametre/ParametreForm.php @@ -4,14 +4,14 @@ namespace UnicaenParametre\Form\Parametre; use UnicaenParametre\Entity\Db\Categorie; use UnicaenParametre\Service\Parametre\ParametreServiceAwareTrait; -use Zend\Form\Element\Button; -use Zend\Form\Element\Hidden; -use Zend\Form\Element\Number; -use Zend\Form\Element\Text; -use Zend\Form\Element\Textarea; -use Zend\Form\Form; -use Zend\InputFilter\Factory; -use Zend\Validator\Callback; +use Laminas\Form\Element\Button; +use Laminas\Form\Element\Hidden; +use Laminas\Form\Element\Number; +use Laminas\Form\Element\Text; +use Laminas\Form\Element\Textarea; +use Laminas\Form\Form; +use Laminas\InputFilter\Factory; +use Laminas\Validator\Callback; class ParametreForm extends Form { use ParametreServiceAwareTrait; @@ -109,7 +109,7 @@ class ParametreForm extends Form { ], 'attributes' => [ 'type' => 'submit', - 'class' => 'btn btn-default', + 'class' => 'btn btn-primary', ], ]); //input filter diff --git a/src/UnicaenParametre/Form/Parametre/ParametreFormAwareTrait.php b/src/UnicaenParametre/Form/Parametre/ParametreFormAwareTrait.php index fa9fb56fd8a529522861cdac8e8804342b61f7fe..97e027cd0bd2d8b4720cfaaf5c5aba9f70fdc3b4 100644 --- a/src/UnicaenParametre/Form/Parametre/ParametreFormAwareTrait.php +++ b/src/UnicaenParametre/Form/Parametre/ParametreFormAwareTrait.php @@ -4,24 +4,15 @@ namespace UnicaenParametre\Form\Parametre; trait ParametreFormAwareTrait { - /** @var ParametreForm */ - private $parametreForm; + private ParametreForm $parametreForm; - /** - * @return ParametreForm - */ public function getParametreForm(): ParametreForm { return $this->parametreForm; } - /** - * @param ParametreForm $parametreForm - * @return ParametreForm - */ - public function setParametreForm(ParametreForm $parametreForm): ParametreForm + public function setParametreForm(ParametreForm $parametreForm): void { $this->parametreForm = $parametreForm; - return $this->parametreForm; } } \ No newline at end of file diff --git a/src/UnicaenParametre/Form/Parametre/ParametreFormFactory.php b/src/UnicaenParametre/Form/Parametre/ParametreFormFactory.php index 1a425c7cd86e6b731eb452e600e378ca3bd03652..4a7f14c99b81e9a1010ee6635d79fdb6981d19ab 100644 --- a/src/UnicaenParametre/Form/Parametre/ParametreFormFactory.php +++ b/src/UnicaenParametre/Form/Parametre/ParametreFormFactory.php @@ -3,11 +3,19 @@ namespace UnicaenParametre\Form\Parametre; use Interop\Container\ContainerInterface; +use Psr\Container\ContainerExceptionInterface; +use Psr\Container\NotFoundExceptionInterface; use UnicaenParametre\Service\Parametre\ParametreService; class ParametreFormFactory { - public function __invoke(ContainerInterface $container) + /** + * @param ContainerInterface $container + * @return ParametreForm + * @throws ContainerExceptionInterface + * @throws NotFoundExceptionInterface + */ + public function __invoke(ContainerInterface $container) : ParametreForm { /** * @var ParametreService $parametreService diff --git a/src/UnicaenParametre/Form/Parametre/ParametreHydrator.php b/src/UnicaenParametre/Form/Parametre/ParametreHydrator.php index 694b36779970f2c987f8e49b939af166d29bef96..6608fe0ec314a46125fa243ed8e9c523a64fa12d 100644 --- a/src/UnicaenParametre/Form/Parametre/ParametreHydrator.php +++ b/src/UnicaenParametre/Form/Parametre/ParametreHydrator.php @@ -3,7 +3,7 @@ namespace UnicaenParametre\Form\Parametre; use UnicaenParametre\Entity\Db\Parametre; -use Zend\Hydrator\HydratorInterface; +use Laminas\Hydrator\HydratorInterface; class ParametreHydrator implements HydratorInterface { @@ -11,7 +11,7 @@ class ParametreHydrator implements HydratorInterface { * @param Parametre $object * @return array */ - public function extract($object) + public function extract($object) : array { $data = [ 'code' => $object->getCode(), @@ -28,7 +28,7 @@ class ParametreHydrator implements HydratorInterface { * @param Parametre $object * @return Parametre */ - public function hydrate(array $data, $object) + public function hydrate(array $data, $object) : object { $code = (isset($data['code']) and trim($data['code']) !== '')?trim($data['code']):null; $libelle = (isset($data['libelle']) and trim($data['libelle']) !== '')?trim($data['libelle']):null; diff --git a/src/UnicaenParametre/Form/Parametre/ParametreHydratorFactory.php b/src/UnicaenParametre/Form/Parametre/ParametreHydratorFactory.php index d47450e42ff4944f258134227ef28fbc0385bc8b..5808b05af9a8ee8c430ce8f7723bbffc8c57c899 100644 --- a/src/UnicaenParametre/Form/Parametre/ParametreHydratorFactory.php +++ b/src/UnicaenParametre/Form/Parametre/ParametreHydratorFactory.php @@ -10,7 +10,7 @@ class ParametreHydratorFactory { * @param ContainerInterface $container * @return ParametreHydrator */ - public function __invoke(ContainerInterface $container) + public function __invoke(ContainerInterface $container) : ParametreHydrator { $hydrator = new ParametreHydrator(); return $hydrator; diff --git a/src/UnicaenParametre/Service/Categorie/CategorieService.php b/src/UnicaenParametre/Service/Categorie/CategorieService.php index 2c0a4ece153c2f4b0b16d01b39032923ca7935f0..381468a972ed2d7d65c981052a21ec2d51237ede 100644 --- a/src/UnicaenParametre/Service/Categorie/CategorieService.php +++ b/src/UnicaenParametre/Service/Categorie/CategorieService.php @@ -5,13 +5,14 @@ namespace UnicaenParametre\Service\Categorie; use Doctrine\ORM\NonUniqueResultException; use Doctrine\ORM\ORMException; use Doctrine\ORM\QueryBuilder; -use UnicaenApp\Exception\RuntimeException; -use UnicaenApp\Service\EntityManagerAwareTrait; +use DoctrineModule\Persistence\ProvidesObjectManager; +use Laminas\Mvc\Controller\AbstractActionController; +use RuntimeException; use UnicaenParametre\Entity\Db\Categorie; -use Zend\Mvc\Controller\AbstractActionController; -class CategorieService { - use EntityManagerAwareTrait; +class CategorieService +{ + use ProvidesObjectManager; /** GESTION ENTITY ************************************************************************************************/ @@ -19,13 +20,13 @@ class CategorieService { * @param Categorie $categorie * @return Categorie */ - public function create(Categorie $categorie) : Categorie + public function create(Categorie $categorie): Categorie { try { - $this->getEntityManager()->persist($categorie); - $this->getEntityManager()->flush($categorie); + $this->getObjectManager()->persist($categorie); + $this->getObjectManager()->flush($categorie); } catch (ORMException $e) { - throw new RuntimeException("Une erreur s'est produite lors de l'enregistrement en base.",0,$e); + throw new RuntimeException("Une erreur s'est produite lors de l'enregistrement en base.", 0, $e); } return $categorie; } @@ -34,12 +35,12 @@ class CategorieService { * @param Categorie $categorie * @return Categorie */ - public function update(Categorie $categorie) : Categorie + public function update(Categorie $categorie): Categorie { try { - $this->getEntityManager()->flush($categorie); + $this->getObjectManager()->flush($categorie); } catch (ORMException $e) { - throw new RuntimeException("Une erreur s'est produite lors de la mise à jour en base.",0,$e); + throw new RuntimeException("Une erreur s'est produite lors de la mise à jour en base.", 0, $e); } return $categorie; } @@ -48,13 +49,13 @@ class CategorieService { * @param Categorie $categorie * @return Categorie */ - public function delete(Categorie $categorie) : Categorie + public function delete(Categorie $categorie): Categorie { try { - $this->getEntityManager()->remove($categorie); - $this->getEntityManager()->flush($categorie); + $this->getObjectManager()->remove($categorie); + $this->getObjectManager()->flush($categorie); } catch (ORMException $e) { - throw new RuntimeException("Une erreur s'est produite lors de la suppression en base.",0,$e); + throw new RuntimeException("Une erreur s'est produite lors de la suppression en base.", 0, $e); } return $categorie; } @@ -64,17 +65,18 @@ class CategorieService { /** * @return QueryBuilder */ - public function createQueryBuilder() : QueryBuilder + public function createQueryBuilder(): QueryBuilder { - $qb = $this->getEntityManager()->getRepository(Categorie::class)->createQueryBuilder('categorie'); + $qb = $this->getObjectManager()->getRepository(Categorie::class)->createQueryBuilder('categorie'); return $qb; } + /** * @param string $champ * @param string $ordre * @return Categorie[] */ - public function getCategories(string $champ="ordre", string $ordre="ASC") : array + public function getCategories(string $champ = "ordre", string $ordre = "ASC"): array { $qb = $this->createQueryBuilder() ->orderBy('categorie.' . $champ, $ordre); @@ -88,9 +90,9 @@ class CategorieService { * @param string $ordre * @return array */ - public function getCategoriesAsOptions(string $champ="ordre", string $ordre="ASC") : array + public function getCategoriesAsOptions(string $champ = "ordre", string $ordre = "ASC"): array { - $categories = $this->getCategories($champ,$ordre); + $categories = $this->getCategories($champ, $ordre); $array = []; foreach ($categories as $categorie) { $array[$categorie->getId()] = $categorie->getLibelle(); @@ -102,16 +104,15 @@ class CategorieService { * @param int|null $id * @return Categorie|null */ - public function getCategorie(?int $id) : ?Categorie + public function getCategorie(?int $id): ?Categorie { $qb = $this->createQueryBuilder() ->andWhere('categorie.id = :id') - ->setParameter('id', $id) - ; + ->setParameter('id', $id); try { $result = $qb->getQuery()->getOneOrNullResult(); } catch (NonUniqueResultException $e) { - throw new RuntimeException("Plusieurs ParamatreCategorie partagent le même id [".$id."]",0,$e); + throw new RuntimeException("Plusieurs ParamatreCategorie partagent le même id [" . $id . "]", 0, $e); } return $result; } @@ -120,16 +121,15 @@ class CategorieService { * @param string $code * @return Categorie|null */ - public function getCategoriebyCode(string $code) : ?Categorie + public function getCategoriebyCode(string $code): ?Categorie { $qb = $this->createQueryBuilder() ->andWhere('categorie.code = :code') - ->setParameter('code', $code) - ; + ->setParameter('code', $code); try { $result = $qb->getQuery()->getOneOrNullResult(); } catch (NonUniqueResultException $e) { - throw new RuntimeException("Plusieurs ParamatreCategorie partagent le même code [".$code."]",0,$e); + throw new RuntimeException("Plusieurs ParamatreCategorie partagent le même code [" . $code . "]", 0, $e); } return $result; } @@ -139,7 +139,7 @@ class CategorieService { * @param string $param * @return Categorie|null */ - public function getRequestedCategorie(AbstractActionController $controller, string $param='categorie') : ?Categorie + public function getRequestedCategorie(AbstractActionController $controller, string $param = 'categorie'): ?Categorie { $id = $controller->params()->fromRoute($param); $result = $this->getCategorie($id); diff --git a/src/UnicaenParametre/Service/Categorie/CategorieServiceAwareTrait.php b/src/UnicaenParametre/Service/Categorie/CategorieServiceAwareTrait.php index 93ecb4d475be7370272fabe39124b6d967258760..67d07a604cf5148bf3999d1ab949b46e927e5493 100644 --- a/src/UnicaenParametre/Service/Categorie/CategorieServiceAwareTrait.php +++ b/src/UnicaenParametre/Service/Categorie/CategorieServiceAwareTrait.php @@ -4,25 +4,16 @@ namespace UnicaenParametre\Service\Categorie; trait CategorieServiceAwareTrait { - /** @var CategorieService */ - private $parametreCategorieService; + private CategorieService $parametreCategorieService; - /** - * @return CategorieService - */ public function getCategorieService(): CategorieService { return $this->parametreCategorieService; } - /** - * @param CategorieService $parametreCategorieService - * @return CategorieService - */ - public function setCategorieService(CategorieService $parametreCategorieService): CategorieService + public function setCategorieService(CategorieService $parametreCategorieService): void { $this->parametreCategorieService = $parametreCategorieService; - return $this->parametreCategorieService; } } \ No newline at end of file diff --git a/src/UnicaenParametre/Service/Categorie/CategorieServiceFactory.php b/src/UnicaenParametre/Service/Categorie/CategorieServiceFactory.php index f8b96d4a79f68de43d1b0efa0cf3e39568a9f263..a105c7e443e8948bb8c89668c7a3ef6a2c1ff948 100644 --- a/src/UnicaenParametre/Service/Categorie/CategorieServiceFactory.php +++ b/src/UnicaenParametre/Service/Categorie/CategorieServiceFactory.php @@ -4,14 +4,19 @@ namespace UnicaenParametre\Service\Categorie; use Doctrine\ORM\EntityManager; use Interop\Container\ContainerInterface; +use Psr\Container\ContainerExceptionInterface; +use Psr\Container\NotFoundExceptionInterface; -class CategorieServiceFactory { +class CategorieServiceFactory +{ /** * @param ContainerInterface $container * @return CategorieService + * @throws ContainerExceptionInterface + * @throws NotFoundExceptionInterface */ - public function __invoke(ContainerInterface $container) + public function __invoke(ContainerInterface $container): CategorieService { /** * @var EntityManager $entityManager @@ -19,7 +24,7 @@ class CategorieServiceFactory { $entityManager = $container->get('doctrine.entitymanager.orm_default'); $service = new CategorieService(); - $service->setEntityManager($entityManager); + $service->setObjectManager($entityManager); return $service; } diff --git a/src/UnicaenParametre/Service/Parametre/ParametreService.php b/src/UnicaenParametre/Service/Parametre/ParametreService.php index 5e8bc5ba86c7c09ff0f7b8fadbc089137b40233a..9977529191a63b9810c016109104500dbcbbbf93 100644 --- a/src/UnicaenParametre/Service/Parametre/ParametreService.php +++ b/src/UnicaenParametre/Service/Parametre/ParametreService.php @@ -5,15 +5,17 @@ namespace UnicaenParametre\Service\Parametre; use Doctrine\ORM\NonUniqueResultException; use Doctrine\ORM\ORMException; use Doctrine\ORM\QueryBuilder; -use UnicaenApp\Exception\RuntimeException; -use UnicaenApp\Service\EntityManagerAwareTrait; +use DoctrineModule\Persistence\ProvidesObjectManager; +use parametre\src\UnicaenParametre\Exception\ParametreMalTypeException; +use RuntimeException; use UnicaenParametre\Entity\Db\Categorie; use UnicaenParametre\Entity\Db\Parametre; -use Zend\Mvc\Controller\AbstractActionController; +use Laminas\Mvc\Controller\AbstractActionController; +use UnicaenParametre\Exception\ParametreNotFoundException; class ParametreService { - use EntityManagerAwareTrait; + use ProvidesObjectManager; /** GESTION ENTITY ************************************************************************************************/ @@ -21,13 +23,13 @@ class ParametreService * @param Parametre $parametre * @return Parametre */ - public function create(Parametre $parametre) : Parametre + public function create(Parametre $parametre): Parametre { try { - $this->getEntityManager()->persist($parametre); - $this->getEntityManager()->flush($parametre); + $this->getObjectManager()->persist($parametre); + $this->getObjectManager()->flush($parametre); } catch (ORMException $e) { - throw new RuntimeException("Une erreur s'est produite lors de l'enregistrement en base.",0,$e); + throw new RuntimeException("Une erreur s'est produite lors de l'enregistrement en base.", 0, $e); } return $parametre; } @@ -36,12 +38,12 @@ class ParametreService * @param Parametre $parametre * @return Parametre */ - public function update(Parametre $parametre) : Parametre + public function update(Parametre $parametre): Parametre { try { - $this->getEntityManager()->flush($parametre); + $this->getObjectManager()->flush($parametre); } catch (ORMException $e) { - throw new RuntimeException("Une erreur s'est produite lors de la mise à jour en base.",0,$e); + throw new RuntimeException("Une erreur s'est produite lors de la mise à jour en base.", 0, $e); } return $parametre; } @@ -50,13 +52,13 @@ class ParametreService * @param Parametre $parametre * @return Parametre */ - public function delete(Parametre $parametre) : Parametre + public function delete(Parametre $parametre): Parametre { try { - $this->getEntityManager()->remove($parametre); - $this->getEntityManager()->flush($parametre); + $this->getObjectManager()->remove($parametre); + $this->getObjectManager()->flush($parametre); } catch (ORMException $e) { - throw new RuntimeException("Une erreur s'est produite lors de la suppression en base.",0,$e); + throw new RuntimeException("Une erreur s'est produite lors de la suppression en base.", 0, $e); } return $parametre; } @@ -66,9 +68,9 @@ class ParametreService /** * @return QueryBuilder */ - public function createQueryBuilder() : QueryBuilder + public function createQueryBuilder(): QueryBuilder { - $qb = $this->getEntityManager()->getRepository(Parametre::class)->createQueryBuilder('parametre') + $qb = $this->getObjectManager()->getRepository(Parametre::class)->createQueryBuilder('parametre') ->addSelect('categorie')->join('parametre.categorie', 'categorie'); return $qb; } @@ -78,7 +80,7 @@ class ParametreService * @param string $ordre * @return Parametre[] */ - public function getParametres(string $champ = 'ordre', string $ordre = 'ASC') : array + public function getParametres(string $champ = 'ordre', string $ordre = 'ASC'): array { $qb = $this->createQueryBuilder() ->orderBy('parametre.' . $champ, $ordre); @@ -92,7 +94,7 @@ class ParametreService * @param string $ordre * @return Parametre[] */ - public function getParametresByCategorie(Categorie $categorie, string $champ = 'ordre', string $ordre = 'ASC') : array + public function getParametresByCategorie(Categorie $categorie, string $champ = 'ordre', string $ordre = 'ASC'): array { $qb = $this->createQueryBuilder() ->andWhere('parametre.categorie = :categorie') @@ -106,16 +108,15 @@ class ParametreService * @param int $id * @return Parametre|null */ - public function getParametre(int $id) : ?Parametre + public function getParametre(int $id): ?Parametre { $qb = $this->createQueryBuilder() ->andWhere('parametre.id = :id') - ->setParameter('id', $id) - ; + ->setParameter('id', $id); try { $result = $qb->getQuery()->getOneOrNullResult(); } catch (NonUniqueResultException $e) { - throw new RuntimeException("Plusieurs Parametre partagent le même id [".$id."]",0,$e); + throw new RuntimeException("Plusieurs Parametre partagent le même id [" . $id . "]", 0, $e); } return $result; } @@ -125,19 +126,18 @@ class ParametreService * @param string $parametreCode * @return Parametre|null */ - public function getParametreByCode(string $categorieCode, string $parametreCode ) : ?Parametre + public function getParametreByCode(string $categorieCode, string $parametreCode): ?Parametre { $qb = $this->createQueryBuilder() ->andWhere('categorie.code = :categorieCode') ->andWhere('parametre.code = :parametreCode') ->setParameter('categorieCode', $categorieCode) - ->setParameter('parametreCode', $parametreCode) - ; + ->setParameter('parametreCode', $parametreCode); try { $result = $qb->getQuery()->getOneOrNullResult(); } catch (NonUniqueResultException $e) { - throw new RuntimeException("Plusieurs Parametre partagent le même code [".$categorieCode ." - ".$parametreCode."]",0,$e); + throw new RuntimeException("Plusieurs Parametre partagent le même code [" . $categorieCode . " - " . $parametreCode . "]", 0, $e); } return $result; } @@ -147,12 +147,30 @@ class ParametreService * @param string $param * @return Parametre */ - public function getRequestedParametre(AbstractActionController $controller, string $param = 'parametre') + public function getRequestedParametre(AbstractActionController $controller, string $param = 'parametre') : ?Parametre { $id = $controller->params()->fromRoute($param); /** @var Parametre $parametre */ - $parametre = $this->getParametre($id); + $parametre = $this->getParametre($id); return $parametre; } + /** FACADE ********************************************************************************************************/ + + /** + * @throws ParametreNotFoundException + * @throws ParametreMalTypeException + */ + public function getValeurForParametre(string $categorieCode, string $parametreCode) + { + $parametre = $this->getParametreByCode($categorieCode, $parametreCode); + if ($parametre === null) { + throw new ParametreNotFoundException("Aucun paramètre de trouvé pour les codes [Categorie: ".$categorieCode.",Parametre: ".$parametreCode."]"); + } + if ($parametre->getValeursPossibles() === Parametre::TYPE_STRING) return $parametre->getValeur(); + if ($parametre->getValeursPossibles() === Parametre::TYPE_BOOLEAN) return ($parametre->getValeur() === true); + if ($parametre->getValeursPossibles() === Parametre::TYPE_NUMBER) return ((int) $parametre->getValeur()); + + throw new ParametreMalTypeException("Le type [".$parametre->getValeursPossibles()."] du paramètre [Categorie: ".$categorieCode.",Parametre: ".$parametreCode."] est non géré"); + } } \ No newline at end of file diff --git a/src/UnicaenParametre/Service/Parametre/ParametreServiceAwareTrait.php b/src/UnicaenParametre/Service/Parametre/ParametreServiceAwareTrait.php index 327e4c7e20b1adc4f6286cd4b8f46fa3b6c04d45..695f20d9003510a9e60d1b4a8ecfc02c3f0e48b1 100644 --- a/src/UnicaenParametre/Service/Parametre/ParametreServiceAwareTrait.php +++ b/src/UnicaenParametre/Service/Parametre/ParametreServiceAwareTrait.php @@ -5,22 +5,13 @@ namespace UnicaenParametre\Service\Parametre; trait ParametreServiceAwareTrait { - /** @var ParametreService */ - protected $parametreService; + protected ParametreService $parametreService; - /** - * @param ParametreService $parametreService - * @return ParametreService - */ - public function setParametreService(ParametreService $parametreService) : ParametreService + public function setParametreService(ParametreService $parametreService) : void { $this->parametreService = $parametreService; - return $this->parametreService; } - /** - * @return ParametreService - */ public function getParametreService() : ParametreService { return $this->parametreService; diff --git a/src/UnicaenParametre/Service/Parametre/ParametreServiceFactory.php b/src/UnicaenParametre/Service/Parametre/ParametreServiceFactory.php index 1bee2aa06bea8fc8fc0c6f34d9715efe4fce5a51..6f1efb4e24b965a941b23fec0a2dd01bbb2fcf9a 100644 --- a/src/UnicaenParametre/Service/Parametre/ParametreServiceFactory.php +++ b/src/UnicaenParametre/Service/Parametre/ParametreServiceFactory.php @@ -4,6 +4,8 @@ namespace UnicaenParametre\Service\Parametre; use Doctrine\ORM\EntityManager; use Interop\Container\ContainerInterface; +use Psr\Container\ContainerExceptionInterface; +use Psr\Container\NotFoundExceptionInterface; class ParametreServiceFactory { @@ -11,8 +13,10 @@ class ParametreServiceFactory /** * @param ContainerInterface $container * @return ParametreService + * @throws ContainerExceptionInterface + * @throws NotFoundExceptionInterface */ - public function __invoke(ContainerInterface $container) + public function __invoke(ContainerInterface $container) : ParametreService { /** * @var EntityManager $entityManager @@ -20,7 +24,7 @@ class ParametreServiceFactory $entityManager = $container->get('doctrine.entitymanager.orm_default'); $service = new ParametreService(); - $service->setEntityManager($entityManager); + $service->setObjectManager($entityManager); return $service; } } \ No newline at end of file diff --git a/view/unicaen-parametre/categorie/index.phtml b/view/unicaen-parametre/categorie/index.phtml index 62cc9a518414c7c31a1e497379e3c6b32a2d4a7b..1cf9ad3fab17b690a4d1658bb5ef66a2510e0dc7 100644 --- a/view/unicaen-parametre/categorie/index.phtml +++ b/view/unicaen-parametre/categorie/index.phtml @@ -25,6 +25,7 @@ $this->headTitle("Affichage des paramètres"); if ($selection !== null) $categories = [ $selection ]; ?> + <h1 class="page-header"> Affichage des paramètres </h1> @@ -41,15 +42,11 @@ if ($selection !== null) $categories = [ $selection ]; <?php foreach ($categories as $categorie) : ?> <?php $id = $categorie->getId(); ?> - <div class="row"> - <div class="col-md-12"> - <h2 title="<?php echo $categorie->getDescription(); ?>" data-toggle="tooltip" data-html="true" style="cursor: help;"> Catégorie : <?php echo $categorie->getLibelle(); ?> </h2> - </div> - <div class="pull-right"> - <br/> + <h2 title="<?php echo $categorie->getDescription(); ?>" data-bs-toggle="tooltip" data-bs-html="true" style="cursor: help;"> Catégorie : <?php echo $categorie->getLibelle(); ?> </h2> + <a <?php /** @see \Application\Controller\ParametreController::ajouterAction() */?> href="<?php echo $this->url('parametre/ajouter', ['categorie' => $categorie->getId()], [], true); ?>" - class="btn btn-primary action ajax-modal" data-event="modification"> + class="btn btn-primary ajax-modal" data-event="modification"> <i class="fas fa-plus"></i> Ajouter un paramètre </a> <?php if ($selection === null) : ?> @@ -65,15 +62,15 @@ if ($selection !== null) $categories = [ $selection ]; <i class="fas fa-times"></i> Supprimer la catégorie </a> <?php else : ?> - <span class="btn btn-danger action disabled" data-toggle="tooltip" data-html="true" + <span class="btn btn-danger action disabled" data-bs-toggle="tooltip" data-bs-html="true" title="La catégorie est non vide et ne peut être supprimée" > <i class="fas fa-times"></i> Supprimer la catégorie </span> <?php endif; ?> <?php endif; ?> - </div> - </div> +<br/> + <?php if (!isset($array_parametre[$id])) : ?> Aucun paramètre pour cette catégorie @@ -96,7 +93,7 @@ if ($selection !== null) $categories = [ $selection ]; <?php foreach ($array_parametre[$id] as $parametre) : ?> <tr> <td> - <span title="<?php echo $parametre->getDescription(); ?>" data-toggle="tooltip" data-html="true" style="cursor: help;"> + <span title="<?php echo $parametre->getDescription(); ?>" data-bs-toggle="tooltip" data-bs-html="true" style="cursor: help;"> <?php echo $parametre->getLibelle(); ?> </span> </td> @@ -120,16 +117,19 @@ if ($selection !== null) $categories = [ $selection ]; </td> <td> <a <?php /** @see \Application\Controller\ParametreController::modifierValeurAction() */?> - href="<?php echo $this->url('parametre/modifier-valeur', ['parametre' => $parametre->getId()], [], true); ?>" title="Modifier la valeur du paramètre <strong><?php echo $parametre->getCode(); ?></strong" - class="ajax-modal" data-event="modification" data-toggle="tooltip" data-html="true"> + href="<?php echo $this->url('parametre/modifier-valeur', ['parametre' => $parametre->getId()], [], true); ?>" + title="Modifier la valeur du paramètre [<?php echo $parametre->getCode(); ?>]" + class="ajax-modal" data-event="modification" > <i class="fas fa-pencil-alt"></i></a> <a <?php /** @see \Application\Controller\ParametreController::modifierAction() */?> - href="<?php echo $this->url('parametre/modifier', ['parametre' => $parametre->getId()], [], true); ?>" title="Modifier le paramètre <strong><?php echo $parametre->getCode(); ?></strong" - class="ajax-modal" data-event="modification" data-toggle="tooltip" data-html="true"> + href="<?php echo $this->url('parametre/modifier', ['parametre' => $parametre->getId()], [], true); ?>" + title="Modifier le paramètre [<?php echo $parametre->getCode(); ?>]" + class="ajax-modal" data-event="modification"> <i class="fas fa-cog"></i></a> <a <?php /** @see \Application\Controller\ParametreController::supprimerAction() */?> - href="<?php echo $this->url('parametre/supprimer', ['parametre' => $parametre->getId()], [], true); ?>" title="Supprimer le paramètre <strong><?php echo $parametre->getCode(); ?></strong" - class="ajax-modal disabled" data-event="modification" data-toggle="tooltip" data-html="true" disabled> + href="<?php echo $this->url('parametre/supprimer', ['parametre' => $parametre->getId()], [], true); ?>" + title="Supprimer le paramètre [<?php echo $parametre->getCode(); ?>]" + class="ajax-modal disabled" data-event="modification" disabled> <i class="fas fa-times disabled"></i></a> </td> </tr> @@ -137,8 +137,10 @@ if ($selection !== null) $categories = [ $selection ]; </tbody> </table> <?php endif;?> + <br/> <?php endforeach; ?> + <script> $(function () { $('body') @@ -147,7 +149,7 @@ if ($selection !== null) $categories = [ $selection ]; window.location.reload(); }) .tooltip({ - selector: '[data-toggle="tooltip"]', + selector: '[data-bs-toggle="tooltip"]', placement: "bottom", html: true }); diff --git a/view/unicaen-parametre/default/default-form.phtml b/view/unicaen-parametre/default/default-form.phtml index cc6b6761c78eca5f2e10c4f3fafb3add48e68c36..7d72b4e9ccbcb0ec07dad6d2e6fba22e8857be88 100644 --- a/view/unicaen-parametre/default/default-form.phtml +++ b/view/unicaen-parametre/default/default-form.phtml @@ -4,7 +4,7 @@ * @var Form $form */ -use Zend\Form\Form; +use Laminas\Form\Form; ?>