FunctionEnum.php 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Enum\Access;
  4. use App\Enum\EnumMethodsTrait;
  5. /**
  6. * Activities functions.
  7. */
  8. enum FunctionEnum: string
  9. {
  10. use EnumMethodsTrait;
  11. case STUDENT = 'STUDENT';
  12. case TEACHER = 'TEACHER';
  13. case DIRECTOR = 'DIRECTOR';
  14. case DIRECTOR_ASSISTANT = 'DIRECTOR_ASSISTANT';
  15. case INITIATOR = 'INITIATOR';
  16. case MONITOR = 'MONITOR';
  17. case MUSIC_DIRECTOR_AND_HEAD = 'MUSIC_DIRECTOR_AND_HEAD';
  18. case MUSIC_DIRECTOR_AND_HEAD_ASSISTANT = 'MUSIC_DIRECTOR_AND_HEAD_ASSISTANT';
  19. case DESK_OFFICER = 'DESK_OFFICER';
  20. case ADMINISTRATIVE_OFFICER = 'ADMINISTRATIVE_OFFICER';
  21. case ADMINISTRATIVE_SECRETARY = 'ADMINISTRATIVE_SECRETARY';
  22. case ADMINISTRATIVE_DIRECTOR = 'ADMINISTRATIVE_DIRECTOR';
  23. case ADMINISTRATIVE_DIRECTOR_ASSISTANT = 'ADMINISTRATIVE_DIRECTOR_ASSISTANT';
  24. case ARCHIVIST = 'ARCHIVIST';
  25. case PRESENTER = 'PRESENTER';
  26. case ADMINISTRATIVE_STAFF = 'ADMINISTRATIVE_STAFF';
  27. case NETWORK_ANIMATOR = 'NETWORK_ANIMATOR';
  28. case CORRESPONDING = 'CORRESPONDING';
  29. case COORDINATOR = 'COORDINATOR';
  30. case TECHNICAL_STAFF = 'TECHNICAL_STAFF';
  31. case ACCOUNTANT = 'ACCOUNTANT';
  32. case COM_STAFF = 'COM_STAFF';
  33. case ACTIVE_MEMBER_OF_THE_CA = 'ACTIVE_MEMBER_OF_THE_CA';
  34. case HONORARY_PRESIDENT = 'HONORARY_PRESIDENT';
  35. case PRESIDENT = 'PRESIDENT';
  36. case YOUTH_REPRESENTATIVE = 'YOUTH_REPRESENTATIVE';
  37. case SECRETARY = 'SECRETARY';
  38. case ASSISTANT_SECRETARY = 'ASSISTANT_SECRETARY';
  39. case TREASURER = 'TREASURER';
  40. case TREASURER_ASSISTANT = 'TREASURER_ASSISTANT';
  41. case VICE_PRESIDENT = 'VICE_PRESIDENT';
  42. case ADHERENT = 'ADHERENT';
  43. case NO_MEMBER = 'NO_MEMBER';
  44. case VICE_PRESIDENT_OF_HONOR = 'VICE_PRESIDENT_OF_HONOR';
  45. case HOUR_PRESIDENT = 'HOUR_PRESIDENT';
  46. case PRESIDENT_ASSISTANT = 'PRESIDENT_ASSISTANT';
  47. case ACTIVE_COOPTED_MEMBER_OF_THE_CA = 'ACTIVE_COOPTED_MEMBER_OF_THE_CA';
  48. case ACTIVE_SUBSTITUTE_MEMBER_OF_THE_CA = 'ACTIVE_SUBSTITUTE_MEMBER_OF_THE_CA';
  49. case MEMBER_OF_THE_BOARD = 'MEMBER_OF_THE_BOARD';
  50. case MEMBER_OF_BOARD_OF_HONOR = 'MEMBER_OF_BOARD_OF_HONOR';
  51. case HONORARY_MEMBER = 'HONORARY_MEMBER';
  52. case BENEFACTOR_MEMBER = 'BENEFACTOR_MEMBER';
  53. case HOUR_MEMBER = 'HOUR_MEMBER';
  54. case OTHER = 'OTHER';
  55. /**
  56. * Office missions
  57. *
  58. * Used by the DolibarrSyncService
  59. *
  60. * @return list<string>
  61. */
  62. public static function getOfficeMissions(): array
  63. {
  64. return [
  65. self::PRESIDENT->value,
  66. self::PRESIDENT_ASSISTANT->value,
  67. self::DIRECTOR->value,
  68. self::DIRECTOR_ASSISTANT->value,
  69. self::SECRETARY->value,
  70. self::ASSISTANT_SECRETARY->value,
  71. self::TREASURER->value,
  72. self::TREASURER_ASSISTANT->value,
  73. self::ADMINISTRATIVE_OFFICER->value,
  74. self::ADMINISTRATIVE_SECRETARY->value,
  75. self::ADMINISTRATIVE_DIRECTOR->value,
  76. self::ADMINISTRATIVE_DIRECTOR_ASSISTANT->value,
  77. self::ADMINISTRATIVE_STAFF->value
  78. ];
  79. }
  80. }