| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- <?php
- declare(strict_types=1);
- namespace App\Service\Cotisation;
- use App\Entity\Organization\Organization;
- use App\Repository\Network\NetworkOrganizationRepository;
- use App\Service\Organization\Utils as OrganizationUtils;
- use App\Tests\Service\Cotisation\UtilsTest;
- use App\Service\Network\Utils as NetworkUtils;
- /**
- * Class Utils : Service rassemblant des fonctions d'interrogation pour gérer des conditions dans les Cotisations
- * @package App\Service\Cotisation
- */
- class Utils {
- function __construct(
- private NetworkUtils $networkUtils,
- private OrganizationUtils $organizationUtils,
- private NetworkOrganizationRepository $networkOrganizationRepository
- ) { }
- /**
- * Test si l'organisation est un dernier parent ET appartient à la CMF.
- * @param Organization $organization
- * @return bool
- * @see UtilsTest::testIsLastParentAndCMF()
- */
- public function isLastParentAndCMF(Organization $organization): bool {
- return $this->networkOrganizationRepository->isLastParent($organization) && $this->networkUtils->isCMF($organization);
- }
- /**
- * Test si l'organisation est une structure (non manager) ET appartient à la CMF
- * @param Organization $organization
- * @return bool
- * @see UtilsTest::testIsStructureAndCMF()
- */
- public function isStructureAndCMF(Organization $organization):bool {
- return $this->organizationUtils->isStructure($organization) && $this->networkUtils->isCMF($organization);
- }
- /**
- * Test si la structure est un manager ET qu'elle appartient à la CMF
- * @param Organization $organization
- * @return bool
- * @see UtilsTest::testIsManagerAndCMF()
- */
- public function isManagerAndCMF(Organization $organization): bool{
- return $this->organizationUtils->isManager($organization) && $this->networkUtils->isCMF($organization);
- }
- /**
- * Test si l'organisation est un manager ET un dernier parent ET appartient à la CMF
- * @param Organization $organization
- * @return bool
- * @see UtilsTest::testIsManagerAndLastParentAndCMF()
- */
- public function isManagerAndLastParentAndCMF(Organization $organization): bool {
- return $this->organizationUtils->isManager($organization) && $this->isLastParentAndCMF($organization);
- }
- /**
- * Test si l'organisation est un manager ET n'est pas un dernier parent ET appartient à la CMF
- * @param Organization $organization
- * @return bool
- * @see UtilsTest::testIsManagerAndNotLastParentAndCMF()
- */
- public function isManagerAndNotLastParentAndCMF(Organization $organization): bool {
- return $this->organizationUtils->isManager($organization) && !$this->isLastParentAndCMF($organization);
- }
- }
|