Utils.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Service\Organization;
  4. use App\Entity\Organization\Organization;
  5. use App\Enum\Organization\OrganizationIdsEnum;
  6. use App\Enum\Organization\SettingsProductEnum;
  7. use App\Test\Service\Organization\UtilsTest;
  8. /**
  9. * Class OrganizationUtils : service rassemblant des fonctions d'aides pour les questions se rapportant à l'organisation
  10. * @package App\Service\Resource
  11. */
  12. class Utils
  13. {
  14. /**
  15. * Test si l'organisation est considérée comme une structure == n'a pas un produit manager
  16. * @param Organization $organization
  17. * @return bool
  18. * @see UtilsTest::testIsStructureTest()
  19. */
  20. public function isStructure(Organization $organization): bool{
  21. return $organization->getSettings()->getProduct() != SettingsProductEnum::MANAGER()
  22. && $organization->getSettings()->getProduct() != SettingsProductEnum::MANAGER_PREMIUM();
  23. }
  24. /**
  25. * Test si l'organisation est considérée comme un manager == a un produit manager standard
  26. * @param Organization $organization
  27. * @return bool
  28. * @see UtilsTest::testIsManagerTest()
  29. */
  30. public function isManager(Organization $organization): bool{
  31. return $organization->getSettings()->getProduct() == SettingsProductEnum::MANAGER();
  32. }
  33. /**
  34. * Test si l'organisation est la structure 2iOpenservice
  35. * @param Organization $organization
  36. * @return bool
  37. * @see UtilsTest::testIsOrganizationIs2ios()
  38. */
  39. public function isOrganizationIs2ios(Organization $organization): bool{
  40. return $this->isOrganizationIdIs($organization, OrganizationIdsEnum::_2IOS());
  41. }
  42. /**
  43. * Test si l'organisation est la structure CMF
  44. * @param Organization $organization
  45. * @return bool
  46. * @see UtilsTest::testIsOrganizationIsCMF()
  47. */
  48. public function isOrganizationIsCMF(Organization $organization): bool{
  49. return $this->isOrganizationIdIs($organization, OrganizationIdsEnum::CMF());
  50. }
  51. /**
  52. * Test si l'id de l'organisation est celui passé en paramètre (doit faire partit des OrganizationIdsEnum)
  53. * @param Organization $organization
  54. * @param OrganizationIdsEnum $organizationIdsEnum
  55. * @return bool
  56. */
  57. private function isOrganizationIdIs(Organization $organization, OrganizationIdsEnum $organizationIdsEnum){
  58. return $organization->getId() === $organizationIdsEnum->getValue();
  59. }
  60. }