diff --git a/src/UnicaenIndicateur/Service/Indicateur/IndicateurService.php b/src/UnicaenIndicateur/Service/Indicateur/IndicateurService.php index 2855b579f739d3bb9825bfe5c12cd25410a8cd7a..a9f3f790412a4adbadfd8e71bfc2665540e1633d 100644 --- a/src/UnicaenIndicateur/Service/Indicateur/IndicateurService.php +++ b/src/UnicaenIndicateur/Service/Indicateur/IndicateurService.php @@ -95,7 +95,13 @@ class IndicateurService switch ($indicateur->getPerimetre()) { case Indicateur::PERIMETRE_STRUCTURE: - if ($userPerimetre !== null) $sql .= " WHERE perimetre_structure_id IN (" .implode(",", $userPerimetre).")"; + if ($userPerimetre !== null) { + if (!empty($userPerimetre)) { + $sql .= " WHERE perimetre_structure_id IN (" . implode(",", $userPerimetre) . ")"; + } else { + $sql .= " WHERE perimetre_structure_id IS NULL"; + } + } break; case Indicateur::PERIMETRE_AUCUN: default: @@ -350,6 +356,7 @@ class IndicateurService */ public function extractPerimetresValides(Indicateur $indicateur, ?array $perimetres = null): array { + if ($perimetres === null) return []; $indicateurPerimetre = $indicateur->getPerimetre(); $perimetreValides = array_filter($perimetres, function(string $p) use ($indicateurPerimetre) { return (strtolower(explode('_', $p)[0]) === strtolower($indicateurPerimetre)); diff --git a/src/UnicaenIndicateur/Service/Perimetre/PerimetreServiceAwareTrait.php b/src/UnicaenIndicateur/Service/Perimetre/PerimetreServiceAwareTrait.php index ba206e4892f55f813daa9a238017f459b4e1d1ee..bd19179d523e8b502bce13363a186a9c4b5081f3 100644 --- a/src/UnicaenIndicateur/Service/Perimetre/PerimetreServiceAwareTrait.php +++ b/src/UnicaenIndicateur/Service/Perimetre/PerimetreServiceAwareTrait.php @@ -6,14 +6,14 @@ use Application\Service\Perimetre\PerimetreService; trait PerimetreServiceAwareTrait { - private PerimetreService $perimetreService; + private $perimetreService; - public function getPerimetreService(): PerimetreService + public function getPerimetreService() { return $this->perimetreService; } - public function setPerimetreService(PerimetreService $perimetreService): void + public function setPerimetreService( $perimetreService): void { $this->perimetreService = $perimetreService; }