refactor naming ReferralsAvailable => referralSuggestion

This commit is contained in:
Julien Fastré 2021-10-20 20:49:44 +02:00
parent 3f138dc152
commit 02ca9add52
5 changed files with 36 additions and 41 deletions

View File

@ -1,31 +0,0 @@
<?php
namespace Chill\PersonBundle\AccompanyingPeriod\Suggestion;
use Chill\MainBundle\Entity\User;
use Chill\MainBundle\Repository\UserRepository;
use Chill\PersonBundle\Entity\AccompanyingPeriod;
final class ReferralAvailable implements ReferralAvailableInterface
{
protected UserRepository $userRepository;
public function __construct(UserRepository $userRepository)
{
$this->userRepository = $userRepository;
}
public function countReferralAvailable(AccompanyingPeriod $period, ?array $options = []): int
{
return $this->userRepository->countByActive();
}
/**
* @param AccompanyingPeriod $period
* @return array|User[]
*/
public function findReferralAvailable(AccompanyingPeriod $period, int $limit = 50, int $start = 0): array
{
return $this->userRepository->findByActive();
}
}

View File

@ -0,0 +1,26 @@
<?php
namespace Chill\PersonBundle\AccompanyingPeriod\Suggestion;
use Chill\MainBundle\Entity\User;
use Chill\PersonBundle\Entity\AccompanyingPeriod;
/**
* Basic implementation: this suggestion does not return any suggestion
*/
final class ReferralsSuggestion implements ReferralsSuggestionInterface
{
public function countReferralSuggested(AccompanyingPeriod $period, ?array $options = []): int
{
return 0;
}
/**
* @param AccompanyingPeriod $period
* @return array|User[]
*/
public function findReferralSuggested(AccompanyingPeriod $period, int $limit = 50, int $start = 0): array
{
return [];
}
}

View File

@ -8,13 +8,13 @@ use Chill\PersonBundle\Entity\AccompanyingPeriod;
/** /**
* Process the suggestion of referral for a given accompanying period * Process the suggestion of referral for a given accompanying period
*/ */
interface ReferralAvailableInterface interface ReferralsSuggestionInterface
{ {
public function countReferralAvailable(AccompanyingPeriod $period, ?array $options = []): int; public function countReferralSuggested(AccompanyingPeriod $period, ?array $options = []): int;
/** /**
* @return array|User[] * @return array|User[]
*/ */
public function findReferralAvailable(AccompanyingPeriod $period, int $limit = 50, int $start = 0): array; public function findReferralSuggested(AccompanyingPeriod $period, int $limit = 50, int $start = 0): array;
} }

View File

@ -4,7 +4,7 @@ namespace Chill\PersonBundle\Controller;
use Chill\MainBundle\CRUD\Controller\ApiController; use Chill\MainBundle\CRUD\Controller\ApiController;
use Chill\MainBundle\Serializer\Model\Collection; use Chill\MainBundle\Serializer\Model\Collection;
use Chill\PersonBundle\AccompanyingPeriod\Suggestion\ReferralAvailableInterface; use Chill\PersonBundle\AccompanyingPeriod\Suggestion\ReferralsSuggestionInterface;
use Chill\PersonBundle\Security\Authorization\AccompanyingPeriodVoter; use Chill\PersonBundle\Security\Authorization\AccompanyingPeriodVoter;
use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Request;
@ -34,13 +34,13 @@ class AccompanyingCourseApiController extends ApiController
private Registry $registry; private Registry $registry;
private ReferralAvailableInterface $referralAvailable; private ReferralsSuggestionInterface $referralAvailable;
public function __construct( public function __construct(
EventDispatcherInterface $eventDispatcher, EventDispatcherInterface $eventDispatcher,
ValidatorInterface $validator, ValidatorInterface $validator,
Registry $registry, Registry $registry,
ReferralAvailableInterface $referralAvailable ReferralsSuggestionInterface $referralAvailable
) { ) {
$this->eventDispatcher = $eventDispatcher; $this->eventDispatcher = $eventDispatcher;
$this->validator = $validator; $this->validator = $validator;
@ -209,11 +209,11 @@ $workflow = $this->registry->get($accompanyingPeriod);
{ {
$this->denyAccessUnlessGranted(AccompanyingPeriodVoter::EDIT, $period); $this->denyAccessUnlessGranted(AccompanyingPeriodVoter::EDIT, $period);
$total = $this->referralAvailable->countReferralAvailable($period); $total = $this->referralAvailable->countReferralSuggested($period);
$paginator = $this->getPaginatorFactory()->create($total); $paginator = $this->getPaginatorFactory()->create($total);
if (0 < $total) { if (0 < $total) {
$users = $this->referralAvailable->findReferralAvailable($period, $paginator->getItemsPerPage(), $users = $this->referralAvailable->findReferralSuggested($period, $paginator->getItemsPerPage(),
$paginator->getCurrentPageFirstItemNumber()); $paginator->getCurrentPageFirstItemNumber());
} else { } else {
$users = []; $users = [];

View File

@ -14,9 +14,9 @@ services:
lazy: true lazy: true
method: preUpdateAccompanyingPeriod method: preUpdateAccompanyingPeriod
Chill\PersonBundle\AccompanyingPeriod\Suggestion\ReferralAvailable: Chill\PersonBundle\AccompanyingPeriod\Suggestion\ReferralsSuggestion:
autowire: true autowire: true
autoconfigure: true autoconfigure: true
Chill\PersonBundle\AccompanyingPeriod\Suggestion\ReferralAvailableInterface: '@Chill\PersonBundle\AccompanyingPeriod\Suggestion\ReferralAvailable' Chill\PersonBundle\AccompanyingPeriod\Suggestion\ReferralsSuggestionInterface: '@Chill\PersonBundle\AccompanyingPeriod\Suggestion\ReferralsSuggestion'