Utils.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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. public function __construct()
  15. {
  16. }
  17. /**
  18. * Test si l'organisation est considérée comme une structure == n'a pas un produit manager
  19. * @param Organization $organization
  20. * @return bool
  21. * @see UtilsTest::testIsStructureTest()
  22. */
  23. public function isStructure(Organization $organization): bool{
  24. return $organization->getSettings()->getProduct() != SettingsProductEnum::MANAGER()
  25. && $organization->getSettings()->getProduct() != SettingsProductEnum::MANAGER_PREMIUM();
  26. }
  27. /**
  28. * Test si l'organisation est considérée comme un manager == a un produit manager standard
  29. * @param Organization $organization
  30. * @return bool
  31. * @see UtilsTest::testIsManagerTest()
  32. */
  33. public function isManager(Organization $organization): bool{
  34. return $organization->getSettings()->getProduct() == SettingsProductEnum::MANAGER();
  35. }
  36. /**
  37. * Test si l'organisation est la structure 2iOpenservice
  38. * @param Organization $organization
  39. * @return bool
  40. * @see UtilsTest::testIsOrganizationIs2ios()
  41. */
  42. public function isOrganizationIs2ios(Organization $organization): bool{
  43. return $this->isOrganizationIdIs($organization, OrganizationIdsEnum::_2IOS());
  44. }
  45. /**
  46. * Test si l'organisation est la structure CMF
  47. * @param Organization $organization
  48. * @return bool
  49. * @see UtilsTest::testIsOrganizationIsCMF()
  50. */
  51. public function isOrganizationIsCMF(Organization $organization): bool{
  52. return $this->isOrganizationIdIs($organization, OrganizationIdsEnum::CMF());
  53. }
  54. /**
  55. * Test si l'id de l'organisation est celui passé en paramètre (doit faire partit des OrganizationIdsEnum)
  56. * @param Organization $organization
  57. * @param OrganizationIdsEnum $organizationIdsEnum
  58. * @return bool
  59. */
  60. private function isOrganizationIdIs(Organization $organization, OrganizationIdsEnum $organizationIdsEnum){
  61. return $organization->getId() === $organizationIdsEnum->getValue();
  62. }
  63. }