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

ajout de getEtatsByCode

parent 51103523
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ use Doctrine\ORM\QueryBuilder;
interface HasEtatsInterface {

    public function getEtats(): ?Collection;
    public function getEtatsByCode(string $code, bool $withHisto) : ?Collection;
    public function getEtatActif(): ?EtatInstance;
    public function isEtatActif(string $code, ?DateTime $date = null) : bool;
    public function addEtat(EtatInstance $etat): void;
+16 −0
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@
namespace UnicaenEtat\Entity\Db;

use DateTime;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\QueryBuilder;

@@ -14,6 +15,21 @@ trait HasEtatsTrait {
    {
        return $this->etats;
    }
    public function getEtatsByCode(string $code, bool $withHisto) : ?Collection
    {
        $etats_ = $this->etats;
        $etats = new ArrayCollection();

        /** @var EtatInstance $etat */
        foreach ($etats_ as $etat)
        {
            if ($etat->getType()->getCode() === $code) {
                if ($withHisto || $etat->estNonHistorise()) $etats->add($etat);
            }
        }

        return $etats;
    }

    public function getEtatActif(?DateTime $date = null) : ?EtatInstance
    {