rdv: rdv -> activity: fix some bugs (duplicate person var name, case keys are missing)

This commit is contained in:
nobohan 2021-09-21 09:46:09 +02:00
parent 17036e83ba
commit c6bbe46bae

View File

@ -173,10 +173,9 @@ class ActivityController extends AbstractController
$activityType = $em->getRepository(\Chill\ActivityBundle\Entity\ActivityType::class) $activityType = $em->getRepository(\Chill\ActivityBundle\Entity\ActivityType::class)
->find($activityType_id); ->find($activityType_id);
$activityData = null;
if ($request->query->has('activityData')) { if ($request->query->has('activityData')) {
$activityData = $request->query->get('activityData'); $activityData = $request->query->get('activityData');
dump($activityData);
} }
if (!$activityType instanceof \Chill\ActivityBundle\Entity\ActivityType || if (!$activityType instanceof \Chill\ActivityBundle\Entity\ActivityType ||
@ -184,10 +183,9 @@ class ActivityController extends AbstractController
$params = $this->buildParamsToUrl($person, $accompanyingPeriod); $params = $this->buildParamsToUrl($person, $accompanyingPeriod);
if (NULL !== $activityData) { if (null !== $activityData) {
$params['activityData'] = $activityData; $params['activityData'] = $activityData;
} }
return $this->redirectToRoute('chill_activity_activity_select_type', $params); return $this->redirectToRoute('chill_activity_activity_select_type', $params);
} }
@ -208,30 +206,36 @@ class ActivityController extends AbstractController
if ($request->query->has('activityData')) { if ($request->query->has('activityData')) {
$activityData = $request->query->get('activityData'); $activityData = $request->query->get('activityData');
$durationTimeInMinutes = $activityData['durationTime']; if (array_key_exists('durationTime', $activityData)) {
$hours = floor($durationTimeInMinutes / 60); $durationTimeInMinutes = $activityData['durationTime'];
$minutes = $durationTimeInMinutes % 60; $hours = floor($durationTimeInMinutes / 60);
$minutes = $durationTimeInMinutes % 60;
$duration = \DateTime::createFromFormat("H:i", $hours.':'.$minutes); $duration = \DateTime::createFromFormat("H:i", $hours.':'.$minutes);
if ($duration) { if ($duration) {
$entity->setDurationTime($duration); $entity->setDurationTime($duration);
}
} }
$date = \DateTime::createFromFormat('Y-m-d', $activityData['date']); if (array_key_exists('date', $activityData)) {
if ($date) { $date = \DateTime::createFromFormat('Y-m-d', $activityData['date']);
$entity->setDate($date); if ($date) {
$entity->setDate($date);
}
} }
foreach($activityData['personsId'] as $personId){ if (array_key_exists('personsId', $activityData)) {
$person = $em->getRepository(\Chill\PersonBundle\Entity\Person::class)->find($personId); foreach($activityData['personsId'] as $personId){
$entity->addPerson($person); $concernedPerson = $em->getRepository(\Chill\PersonBundle\Entity\Person::class)->find($personId);
$entity->addPerson($concernedPerson);
}
} }
foreach($activityData['professionalsId'] as $professionalsId){ if (array_key_exists('professionalsId', $activityData)) {
$professional = $em->getRepository(\Chill\ThirdPartyBundle\Entity\ThirdParty::class)->find($professionalsId); foreach($activityData['professionalsId'] as $professionalsId){
$entity->addThirdParty($professional); $professional = $em->getRepository(\Chill\ThirdPartyBundle\Entity\ThirdParty::class)->find($professionalsId);
$entity->addThirdParty($professional);
}
} }
} }
// TODO revoir le Voter de Activity pour tenir compte qu'une activité peut appartenir a une période // TODO revoir le Voter de Activity pour tenir compte qu'une activité peut appartenir a une période
@ -251,6 +255,7 @@ class ActivityController extends AbstractController
$this->addFlash('success', $this->get('translator')->trans('Success : activity created!')); $this->addFlash('success', $this->get('translator')->trans('Success : activity created!'));
$params = $this->buildParamsToUrl($person, $accompanyingPeriod); $params = $this->buildParamsToUrl($person, $accompanyingPeriod);
$params['id'] = $entity->getId(); $params['id'] = $entity->getId();
return $this->redirectToRoute('chill_activity_activity_show', $params); return $this->redirectToRoute('chill_activity_activity_show', $params);