← Back
Editing: OrganizationService.php
<?php namespace App\Service; use App\Entity\Agency; use App\Session\Filter\Role\OrganizationSessionFilters; use App\Session\Filter\SessionFiltersContainer; use Symfony\Component\Security\Core\Security; use Symfony\Component\Security\Core\User\UserInterface; class OrganizationService { private ?UserInterface $user; private array $agenciesId = []; public function __construct( Security $security, private readonly SessionFiltersContainer $sessionFiltersContainer ) { $this->user = $security->getUser(); if (!is_null($this->user)) { $this->agenciesId = array_map(function (Agency $agency) { return $agency->getId(); }, $this->user->getOrganization()->getAgencies()->toArray() ); } } public function getAgenciesId(): array { $sessionFilters = $this->sessionFiltersContainer->getCurrent(); // If an agency filter is selected in session, return only that agency if ($sessionFilters instanceof OrganizationSessionFilters && $sessionFilters->getAgency()) { return [$sessionFilters->getAgency()->getId()]; } return $this->agenciesId; } }
Save File
Cancel