public function inscrireAction(Request $request, Eleve $eleve)
 {
     $current_date = $this->get('wcs.datenow')->getDate();
     $scheduler = $this->get('wcs.gesty.scheduler');
     $period_school_year = $scheduler->getCurrentOrNextSchoolYear($current_date);
     $first_day_available = $scheduler->getFirstAvailableDate($current_date, ActivityType::GARDERIE_MORNING);
     $period_inclass = $scheduler->getCurrentOrNextSchoolPeriod($first_day_available);
     // pour les inscriptions :
     // prépare la période à partir de "demain" jusqu'au dernier jour de l'année scolaire
     $period_subscribes = new Period($first_day_available, $period_school_year->getLastDate());
     // créé le formulaire associé à l'élève
     $form = $this->createForm(new TapGarderieType(), $eleve, array('action' => $this->generateUrl('tapgarderie_inscription', array("id" => $eleve->getId())), 'method' => 'POST', 'manager' => $this->getDoctrine()->getManager(), 'days_of_week' => new DaysOfWeeks($period_subscribes, $scheduler)));
     // traite les infos saisies dans le formulaire
     if ($this->processPostedForm($request, $form, $eleve, $period_subscribes)) {
         return $this->redirectToRoute('wcs_cantine_dashboard');
     }
     return $this->render('WCSCantineBundle:TapGarderie:inscription.html.twig', array("eleve" => $eleve, "period_inclass" => $period_inclass, "period_subscribes" => $period_subscribes, "usual_dayoff" => ActivityType::getAllUsualDaysOff(), "form" => $form->createView()));
 }
Ejemplo n.º 2
0
 /**
  * @param \DateTimeInterface $date
  * @param $activityTypeConstant
  * @return \DateTime
  */
 public function getFirstAvailableDate(\DateTimeInterface $date, $activityTypeConstant)
 {
     $firstAvailableDate = ActivityType::getFirstDayAvailable($activityTypeConstant, $date);
     return $this->scheduler->getFirstAvailableDate($firstAvailableDate);
 }