/**
  * @param  Tap[] $taps
  * @return string indice des jours de la semaine séparé par des ";"
  */
 public function transform($taps)
 {
     if (null === $taps) {
         return '';
     }
     return implode(";", $this->daysOfWeek->getTapSelectionToArray($taps));
 }
 /**
  * Affiche le dashboard
  *
  * @param Request $request  contient les paramètres passés en URL
  *
  * @return Response     renvoit une reponse HTTP après rendu du template dashboard
  */
 public function dashboardAction(Request $request)
 {
     $user = $this->getUser();
     if (!$user) {
         throw $this->createAccessDeniedException();
     }
     $em = $this->getDoctrine()->getManager();
     // liste des enfants
     $children = $em->getRepository("WCSCantineBundle:Eleve")->findChildren($user);
     $nbChildrenVoyageInscrits = $em->getRepository('WCSCantineBundle:Eleve')->findNbEnfantInscritsVoyage($user, $this->get('wcs.datenow')->getDate());
     // periodes TAP/Garderie
     $current_date = $this->get('wcs.datenow')->getDate();
     $scheduler = $this->get('wcs.gesty.scheduler');
     $firstDate = $scheduler->getFirstAvailableDate($current_date, ActivityType::TAP);
     $period_subscriptions = $scheduler->getCurrentOrNextSchoolPeriod($firstDate);
     // traitera la liste des taps, garderie
     // pour la période en cours
     $daysOfWeek = new DaysOfWeeks($period_subscriptions, $this->get('wcs.gesty.scheduler'));
     /**
      * récupère les taps et les garderies de chaque enfants
      * uniquement si le total de taps + garderie > nb inscriptions pour la période
      * @var Eleve $child
      */
     $children_activities = array();
     foreach ($children as $child) {
         $array["taps"] = $daysOfWeek->getTapSelectionToArray($child->getTaps());
         $array["garderies"] = $daysOfWeek->getGarderieSelectionToArray($child->getGarderies());
         $children_activities[$child->getId()] = $array;
     }
     return $this->render('WCSCantineBundle:Eleve:dashboard.html.twig', array('user' => $user, 'children' => $children, 'files' => $this->getFiles($user, $nbChildrenVoyageInscrits), 'children_activities' => $children_activities, 'nbChildrenVoyageInscrits' => $nbChildrenVoyageInscrits, 'period_subscriptions' => $period_subscriptions));
 }