Loading src/UnicaenValidation/Entity/HasValidationsInterface.php +2 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ namespace UnicaenValidation\Entity; use UnicaenValidation\Entity\Db\ValidationInstance; use Doctrine\ORM\QueryBuilder; interface HasValidationsInterface { Loading @@ -12,4 +13,5 @@ interface HasValidationsInterface { public function getValidationsByTypeCode(string $typeCode) : array ; public function getValidationActiveByTypeCode(string $typeCode) : ?ValidationInstance; static public function decorateWithValidations(QueryBuilder $qb, string $entityName, array $validations = []) : QueryBuilder; } No newline at end of file src/UnicaenValidation/Entity/HasValidationsTrait.php +15 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ namespace UnicaenValidation\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\QueryBuilder; use UnicaenValidation\Entity\Db\ValidationInstance; trait HasValidationsTrait { Loading Loading @@ -62,6 +63,20 @@ trait HasValidationsTrait { } return null; } static public function decorateWithValidations(QueryBuilder $qb, string $entityName, array $validations = []) : QueryBuilder { $qb = $qb ->leftJoin($entityName . '.validations', 'validation')->addSelect('validation') ->leftJoin('validation.type', 'validationtype')->addSelect('validationtype') ->andWhere('validation.histoDestruction IS NULL') ; if (!empty($validations)) { $qb = $qb->andWhere('validation.type in (:etats)') ->setParameter('validations', $validations); } return $qb; } Loading src/UnicaenValidation/Service/ValidationInstance/ValidationInstanceService.php +2 −2 Original line number Diff line number Diff line Loading @@ -226,7 +226,7 @@ class ValidationInstanceService { return $instance; } public function setValidationActive(HasValidationsInterface $element, string $code, bool $refus = false, ?string $justification = null) : HasValidationsInterface public function setValidationActive(HasValidationsInterface $element, string $code, bool $refus = false, ?string $justification = null) : ValidationInstance { //historisation de l'état actif actuel (s'il existe) $validationActive = $element->getValidationActiveByTypeCode($code); Loading @@ -245,6 +245,6 @@ class ValidationInstanceService { } catch (ORMException $e) { throw new RuntimeException("Un problème est survenu lors de l'ajout de actif de [".get_class($element)."]",0,$e); } return $element; return $validation; } } No newline at end of file Loading
src/UnicaenValidation/Entity/HasValidationsInterface.php +2 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ namespace UnicaenValidation\Entity; use UnicaenValidation\Entity\Db\ValidationInstance; use Doctrine\ORM\QueryBuilder; interface HasValidationsInterface { Loading @@ -12,4 +13,5 @@ interface HasValidationsInterface { public function getValidationsByTypeCode(string $typeCode) : array ; public function getValidationActiveByTypeCode(string $typeCode) : ?ValidationInstance; static public function decorateWithValidations(QueryBuilder $qb, string $entityName, array $validations = []) : QueryBuilder; } No newline at end of file
src/UnicaenValidation/Entity/HasValidationsTrait.php +15 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ namespace UnicaenValidation\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\QueryBuilder; use UnicaenValidation\Entity\Db\ValidationInstance; trait HasValidationsTrait { Loading Loading @@ -62,6 +63,20 @@ trait HasValidationsTrait { } return null; } static public function decorateWithValidations(QueryBuilder $qb, string $entityName, array $validations = []) : QueryBuilder { $qb = $qb ->leftJoin($entityName . '.validations', 'validation')->addSelect('validation') ->leftJoin('validation.type', 'validationtype')->addSelect('validationtype') ->andWhere('validation.histoDestruction IS NULL') ; if (!empty($validations)) { $qb = $qb->andWhere('validation.type in (:etats)') ->setParameter('validations', $validations); } return $qb; } Loading
src/UnicaenValidation/Service/ValidationInstance/ValidationInstanceService.php +2 −2 Original line number Diff line number Diff line Loading @@ -226,7 +226,7 @@ class ValidationInstanceService { return $instance; } public function setValidationActive(HasValidationsInterface $element, string $code, bool $refus = false, ?string $justification = null) : HasValidationsInterface public function setValidationActive(HasValidationsInterface $element, string $code, bool $refus = false, ?string $justification = null) : ValidationInstance { //historisation de l'état actif actuel (s'il existe) $validationActive = $element->getValidationActiveByTypeCode($code); Loading @@ -245,6 +245,6 @@ class ValidationInstanceService { } catch (ORMException $e) { throw new RuntimeException("Un problème est survenu lors de l'ajout de actif de [".get_class($element)."]",0,$e); } return $element; return $validation; } } No newline at end of file