Exemple #1
0
 /**
  *  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();
                         }
                     }
                 }
             }
         }
     }
 }