Skip to content
Snippets Groups Projects
Commit 2cbdfca6 authored by Florian Joriot's avatar Florian Joriot
Browse files

Gestion d'une année minimal dans le parametrage

parent 5bd01359
No related branches found
No related tags found
No related merge requests found
Pipeline #35366 failed
......@@ -5,11 +5,11 @@ namespace UnicaenParametre\Service\Parametre;
use Doctrine\ORM\NonUniqueResultException;
use Doctrine\ORM\QueryBuilder;
use DoctrineModule\Persistence\ProvidesObjectManager;
use UnicaenParametre\Exception\ParametreMalTypeException;
use Laminas\Mvc\Controller\AbstractActionController;
use RuntimeException;
use UnicaenParametre\Entity\Db\Categorie;
use UnicaenParametre\Entity\Db\Parametre;
use Laminas\Mvc\Controller\AbstractActionController;
use UnicaenParametre\Exception\ParametreMalTypeException;
use UnicaenParametre\Exception\ParametreNotFoundException;
class ParametreService
......@@ -25,12 +25,16 @@ class ParametreService
return $parametre;
}
public function update(Parametre $parametre): Parametre
{
$this->getObjectManager()->flush($parametre);
return $parametre;
}
public function delete(Parametre $parametre): Parametre
{
$this->getObjectManager()->remove($parametre);
......@@ -38,6 +42,8 @@ class ParametreService
return $parametre;
}
/** REQUETAGE *****************************************************************************************************/
public function createQueryBuilder(): QueryBuilder
......@@ -47,6 +53,8 @@ class ParametreService
return $qb;
}
/** @return Parametre[] */
public function getParametres(string $champ = 'ordre', string $ordre = 'ASC'): array
{
......@@ -56,6 +64,8 @@ class ParametreService
return $result;
}
/** @return Parametre[] */
public function getParametresByCategorie(Categorie $categorie, string $champ = 'ordre', string $ordre = 'ASC'): array
{
......@@ -67,6 +77,8 @@ class ParametreService
return $result;
}
/** @return Parametre[] */
public function getParametresByCategorieCode(string $categorieCode, string $champ = 'ordre', string $ordre = 'ASC'): array
{
......@@ -84,6 +96,7 @@ class ParametreService
}
public function getParametre(int $id): ?Parametre
{
$qb = $this->createQueryBuilder()
......@@ -97,6 +110,8 @@ class ParametreService
return $result;
}
public function getParametreByCode(string $categorieCode, string $parametreCode): ?Parametre
{
$qb = $this->createQueryBuilder()
......@@ -113,6 +128,8 @@ class ParametreService
return $result;
}
public function getRequestedParametre(AbstractActionController $controller, string $param = 'parametre'): ?Parametre
{
$id = $controller->params()->fromRoute($param);
......@@ -137,8 +154,8 @@ class ParametreService
if ($parametre->getValeursPossibles() === Parametre::TYPE_STRING) return $parametre->getValeur();
// Note : attention en bd c'est un string du coup si === alors 'true'
if ($parametre->getValeursPossibles() === Parametre::TYPE_BOOLEAN) return ($parametre->getValeur() === 'true');
if ($parametre->getValeursPossibles() === Parametre::TYPE_NUMBER) return ((int) $parametre->getValeur());
if ($parametre->getValeursPossibles() === Parametre::TYPE_BOOLEAN && $parametre->getValeur() !== null) return ($parametre->getValeur() === 'true');
if ($parametre->getValeursPossibles() === Parametre::TYPE_NUMBER && $parametre->getValeur() !== null) return ((int)$parametre->getValeur());
throw new ParametreMalTypeException("Le type [" . $parametre->getValeursPossibles() . "] du paramètre [Categorie: " . $categorieCode . ",Parametre: " . $parametreCode . "] est non géré");
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment