| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- <?php
- namespace Opentalent\OtWidgets\Controller;
- use Opentalent\OtWidgets\Domain\Repository\MemberRepository;
- use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
- class MemberController extends ActionController
- {
- /**
- * @var MemberRepository
- *
- */
- protected $memberRepository;
- /** @noinspection PhpUnused */
- /**
- * action getMembersAction
- *
- * @param array $options
- * @return void
- * @throws \Exception
- */
- public function getMembersAction(array $options = []) {
- $organizationId = (int) $this->settings['organizationId'];
- // Get members of the structure
- $members = $this->memberRepository->findByOrganizationId($organizationId);
- $membersByInstrument = ['CONDUCTOR' => []];
- foreach ($members as $member) {
- if (!array_key_exists($member->getInstrument(), $membersByInstrument)) {
- $membersByInstrument[$member->getInstrument()] = [];
- }
- array_push($membersByInstrument[$member->getInstrument()], $member);
- }
- $membersByInstrument = array_filter($membersByInstrument,
- function ($key, $val) { return !empty($val); },
- ARRAY_FILTER_USE_BOTH);
- $this->view->assign('membersByInstrument', $membersByInstrument);
- }
- /** @noinspection PhpUnused */
- /**
- * action getCaMembersAction
- *
- * @param array $options
- * @return void
- * @throws \Exception
- */
- public function getMembersCaAction(array $options = []) {
- $organizationId = (int) $this->settings['organizationId'];
- // Get members of the structure (only CA members)
- $members = $this->memberRepository->findByOrganizationId($organizationId, true);
- $membersByMission = [
- 'PRESIDENT' => [],
- 'HONORARY_PRESIDENT' => [],
- 'VICE_PRESIDENT' => [],
- 'VICE_PRESIDENT_OF_HONOR' => [],
- 'PRESIDENT_ASSISTANT' => [],
- 'HOUR_PRESIDENT' => [],
- 'MEMBER_OF_THE_BOARD' => [],
- 'MEMBER_OF_BOARD_OF_HONOR' => [],
- 'ACTIVE_COOPTED_BOARD_MEMBER' => [],
- 'TREASURER' => [],
- 'TREASURER_ASSISTANT' => [],
- 'SECRETARY' => [],
- 'ASSISTANT_SECRETARY' => [],
- 'ACTIVE_MEMBER_OF_THE_CA' => [],
- 'HONORARY_MEMBER' => [],
- 'YOUTH_REPRESENTATIVE' => []
- ];
- foreach ($members as $member) {
- if (!array_key_exists($member->getMission(), $membersByMission)) {
- $membersByMission[$member->getMission()] = [];
- }
- array_push($membersByMission[$member->getMission()], $member);
- }
- $membersByMission = array_filter($membersByMission,
- function ($key, $val) { return !empty($val); },
- ARRAY_FILTER_USE_BOTH);
- $this->view->assign('membersByMission', $membersByMission);
- }
- /**
- * @param MemberRepository $memberRepository
- */
- public function injectMemberRepository(MemberRepository $memberRepository)
- {
- $this->memberRepository = $memberRepository;
- }
- }
|