DonorController.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace Opentalent\OtWidgets\Controller;
  3. use Opentalent\OtWidgets\Domain\Repository\DonorRepository;
  4. use Opentalent\OtWidgets\Domain\Repository\OrganizationRepository;
  5. use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
  6. class DonorController extends ActionController
  7. {
  8. /**
  9. * @var DonorRepository
  10. *
  11. */
  12. protected $donorRepository;
  13. /**
  14. * @var OrganizationRepository
  15. *
  16. */
  17. protected $organizationRepository;
  18. /** @noinspection PhpUnused */
  19. /**
  20. * action getDonorsAction
  21. *
  22. * @param array $options
  23. * @return void
  24. * @throws \Exception
  25. */
  26. public function getDonorsAction(array $options = []) {
  27. $organizationId = (int) $this->settings['organizationId'];
  28. // Get donors of the structure
  29. $donors = $this->donorRepository->findByOrganizationId($organizationId);
  30. $this->view->assign('donors', $donors);
  31. // Get the donors of the parent structures
  32. $networkDonors = $this->donorRepository->findParentsByOrganizationId($organizationId);
  33. $this->view->assign('networkDonors', $networkDonors);
  34. // Static or dynamic display
  35. $this->view->assign('staticDisplay', $options['staticDonors'] ?? 0);
  36. }
  37. /**
  38. * @param DonorRepository $donorRepository
  39. */
  40. public function injectDonorRepository(DonorRepository $donorRepository)
  41. {
  42. $this->donorRepository = $donorRepository;
  43. }
  44. /**
  45. * @param OrganizationRepository $organizationRepository
  46. */
  47. public function injectOrganizationRepository(OrganizationRepository $organizationRepository)
  48. {
  49. $this->organizationRepository = $organizationRepository;
  50. }
  51. }