src/Twig/CvsExtension.php line 26

Open in your IDE?
  1. <?php
  2. namespace App\Twig;
  3. use App\Services\Core\Core;
  4. use App\Services\Core\Tools;
  5. use App\Services\Core\Users;
  6. use App\Services\Cvs;
  7. use App\Tools\Core\StatusSearchTool;
  8. use App\Tools\Cvs\AvailabilityTool;
  9. use Twig\Extension\AbstractExtension;
  10. use Twig\TwigFilter;
  11. use Twig\TwigFunction;
  12. class CvsExtension extends AbstractExtension
  13. {
  14.     public function __construct(Core $coreService,
  15.                                 Tools $toolService,
  16.                                 Users $usersService,
  17.                                 Cvs $cvsService
  18.     ){
  19.         $this->core $coreService;
  20.         $this->tool $toolService;
  21.         $this->users $usersService;
  22.         $this->cvs $cvsService;
  23.     }
  24.     public function getFunctions(): array
  25.     {
  26.         return [
  27.             new  TwigFunction('getCvsCandidateUser', [$this'getCvsCandidateUser']),
  28.             new  TwigFunction('getCvsAvailabilityTool', [$this'getCvsAvailabilityTool']),
  29.             new  TwigFunction('getCvsStatusSearchTool', [$this'getCvsStatusSearchTool'])
  30.         ];
  31.     }
  32.     public function getFilters()
  33.     {
  34.         return [];
  35.     }
  36.     public function getCvsCandidateUser($candidateID)
  37.     {
  38.         return  $this->cvs->getCvsCandidateUser($candidateID);
  39.     }
  40.     public function getCvsAvailabilityTool($chain)
  41.     {
  42.         return AvailabilityTool::getStatus($chain);
  43.     }
  44.     public function getCvsStatusSearchTool($chain) {
  45.         return StatusSearchTool::getStatus($chain);
  46.     }
  47. }