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)); }
/** * Return the associated Menu * @return \App\Model\Menu */ public function getMenus() { $menus = Menu::getBy(array('_id' => array('$in' => $this->_menus))); return $menus; }