Merge branch 'household_filiation' of gitlab.com:Chill-Projet/chill-bundles into household_filiation

This commit is contained in:
Mathieu Jaumotte 2021-11-05 17:18:55 +01:00
commit b904e33d9b
2 changed files with 21 additions and 1 deletions

View File

@ -197,7 +197,7 @@ $workflow = $this->registry->get($accompanyingPeriod);
* @ParamConverter("person", options={"id" = "person_id"}) * @ParamConverter("person", options={"id" = "person_id"})
*/ */
public function getAccompanyingPeriodsByPerson(Person $person){ public function getAccompanyingPeriodsByPerson(Person $person){
$accompanyingPeriods = $person->getAccompanyingPeriods(); $accompanyingPeriods = $person->getCurrentAccompanyingPeriods();
$accompanyingPeriodsChecked = array_filter($accompanyingPeriods, $accompanyingPeriodsChecked = array_filter($accompanyingPeriods,
function(AccompanyingPeriod $period){ function(AccompanyingPeriod $period){
return $this->isGranted(AccompanyingPeriodVoter::SEE, $period); return $this->isGranted(AccompanyingPeriodVoter::SEE, $period);

View File

@ -613,6 +613,26 @@ class Person implements HasCenterInterface, TrackCreationInterface, TrackUpdateI
return $accompanyingPeriods; return $accompanyingPeriods;
} }
/**
* Get current accompanyingPeriods array
*/
public function getCurrentAccompanyingPeriods(): array
{
$currentAccompanyingPeriods = [];
$currentDate = new DateTime();
foreach ($this->accompanyingPeriodParticipations as $participation)
{
$endDate = $participation->getEndDate();
if ($endDate === null || $endDate > $currentDate){
$currentAccompanyingPeriods[] = $participation->getAccompanyingPeriod();
}
}
return $currentAccompanyingPeriods;
}
/** /**
* Get AccompanyingPeriodParticipations Collection * Get AccompanyingPeriodParticipations Collection
* *