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())); }
/** * @param \DateTimeInterface $date * @param $activityTypeConstant * @return \DateTime */ public function getFirstAvailableDate(\DateTimeInterface $date, $activityTypeConstant) { $firstAvailableDate = ActivityType::getFirstDayAvailable($activityTypeConstant, $date); return $this->scheduler->getFirstAvailableDate($firstAvailableDate); }