public function selectRestaurant($id = 0)
 {
     //If we are not connected as a Restaurateur, send to the login page
     if (!Session::isConnected() || Session::getUser()->getType() != USER_RESTAURATEUR) {
         return Redirect::to('/restaurateur/login');
     }
     //If no restaurant is specified, display the list
     if ($id == 0) {
         $restaurateur = Restaurateur::getOneBy(array('_id' => new \MongoId(Session::getUser()->getId())));
         $restaurants = $restaurateur->getRestaurants();
         return View::render("restaurateur/listeSelectRestaurant.php", array('restaurants' => $restaurants));
     }
     $restaurant = Restaurant::getOneBy(array('_id' => new \MongoId($id)));
     $menus = $restaurant->getMenus();
     if (Form::exists('menu_edit_form')) {
         $name = Form::get('name');
         if ($name == "" || is_null($name)) {
             Session::addFlashMessage("Erreur :", 'error', "Tous les champs ne sont pas remplis.");
             $error = "Veuillez remplir tous les champs";
             return View::render("restaurateur/listeEditeMenu.php", array('error' => $error, 'restaurant' => $restaurant, 'menus' => $menus));
         }
         //We check if the name is not already taken
         $found = Menu::getBy(array('name' => Form::get('name'), 'restaurant' => $restaurant->getId()));
         if ($found) {
             Session::addFlashMessage("Erreur :", 'error', "Le nom déjà pris.");
             $error = "Ce nom est déjà enregistré dans le menu.";
             return View::render("restaurateur/listeEditeMenu.php", array('error' => $error, 'restaurant' => $restaurant, 'menus' => $menus));
         }
         //We associate the values
         $menu = new Menu();
         $menu->setName(Form::get('name'));
         $menu->setRestaurant($restaurant);
         $menu->save();
         $restaurant->addMenu($menu);
         $restaurant->save();
     }
     $menus = $restaurant->getMenus();
     return View::render("restaurateur/listeEditeMenu.php", array('menus' => $menus, 'restaurant' => $restaurant));
 }
Exemple #2
0
 /**
  * Return the associated Menu
  * @return \App\Model\Menu
  */
 public function getMenus()
 {
     $menus = Menu::getBy(array('_id' => array('$in' => $this->_menus)));
     return $menus;
 }