/** * Gestion des creneaux Off * * */ public function executeCreneauoff(sfWebRequest $request) { $this->param = "creneauoff"; $this->salles = SalleTable::getInstance()->getAllSalles()->execute(); $this->formDay = new CreneauDayForm(); $this->formHour = new CreneauHourForm(); if ($request->isMethod('POST')) { if ($request->getParameter('day')) { // Le bind ne foncionne pas, donc j'ai du faire les conditions à la main $this->errD = array(); $params = $request->getParameter('CreneauDay'); $date = date("Y-m-d", strtotime($params['date'])); if (date("Y-m-d") > $date) { $this->errD[] = "Impossible d'ajouter une journée Off dans le passé"; } if (!isset($params['salles'])) { $this->errD[] = "Aucune salle n'a été séléctionnée"; } // Si il n'y a pas d'erreur if (count($this->errD) == 0) { foreach ($params['salles'] as $salle) { $reservation = new Reservation(); $reservation->setIdUserReserve($this->getUser()->getGuardUser()->getId()); $reservation->setIdAsso(1); // BDE $reservation->setDate($date); $reservation->setHeuredebut('00:00'); $reservation->setHeurefin('00:00'); $reservation->setAllday(true); $reservation->setActivite('Journée Interdite'); $reservation->setEstvalide(true); //$reservation->setCommentaire('Creneau Interdit'); $reservation->setIdSalle($salle); $reservation->save(); } } } else { if ($request->getParameter('hour')) { if ($request->getParameter('hour')) { $this->errH = array(); $params = $request->getParameter('CreneauHour'); $date = date("Y-m-d", strtotime($params['date'])); if (date("Y-m-d") > $date) { $this->errH[] = "Impossible d'ajouter un horaire Off dans le passé"; } if (!isset($params['salles'])) { $this->errH[] = "Aucune salle n'a été séléctionnée"; } if ($params['debut']['hour'] >= $params['fin']['hour']) { if ($params['debut']['minute'] >= $params['fin']['hour']) { $this->errH[] = "Horaire de début doit précéder l'horaire de fin"; } } if (count($this->errH) == 0) { foreach ($params['salles'] as $salle) { $reservation = new Reservation(); $reservation->setIdUserReserve($this->getUser()->getGuardUser()->getId()); $reservation->setIdAsso(1); // BDE $reservation->setDate($date); $reservation->setHeuredebut($params['debut']['hour'] . ':' . $params['debut']['minute']); $reservation->setHeurefin($params['fin']['hour'] . ':' . $params['fin']['minute']); $reservation->setAllday(false); $reservation->setActivite('Creneau Interdit'); $reservation->setEstvalide(true); //$reservation->setCommentaire('Commentaire'); $reservation->setIdSalle($salle); $reservation->save(); } } } } } } }