public function see($idRestaurant) { //Get the restaurant by its id $restaurant = Restaurant::getOneBy(array('_id' => new \MongoId($idRestaurant))); //If User is not logged in if (!Session::isConnected() || Session::getUser()->getType() != USER_CLIENT) { Session::addFlashMessage("Non connecté", "error", "Veuillez vous connecter avant de continuer."); return Redirect::to('/restaurant'); } //If it doesn't exist, return to the list if (!$restaurant) { return Redirect::to('/restaurant'); } $client = Session::getUser(); $addresses = Address::getBy(array('user' => $client->getId())); if (Form::exists('order_form')) { $commande = new Commande(); $menus = $restaurant->getMenus(); $total = 0; foreach ($menus as $menu) { $menuItems = $menu->getMenuItems(); foreach ($menuItems as $menuItem) { $quantity = Form::get($menuItem->getId()->__toString()); if ($quantity > 0) { $commande->setItem($menuItem, $quantity); } $total += $menuItem->getPrice() * $quantity; } } //If we didn't choose any item if ($total == 0) { return Redirect::to('/restaurant/see/' . $idRestaurant); } $commande->setPrice($total); $commande->setClient($client); $addressId = Form::get('address'); $address = null; if ($addressId == 'altAddress') { //Then we take in accout the altAdress field $address = new Address(); $address->setAddress(Form::get('altAdress')); $address->setUser($client); } else { $address = Address::getOneBy(array('_id' => new \MongoId($addressId))); if (!$address) { die("Erreur à gérer."); } } $address->setByDefault(); $address->save(); $commande->setAddress($address); $commande->setStatus(Commande::COMMAND_STATUS_TEMPORARY); $commande->save(); return Redirect::to("/restaurant/validateCommand/" . $commande->getId()); } return View::render("restaurant/see.php", array('restaurant' => $restaurant, 'client' => Session::getUser(), 'addresses' => $addresses)); }
private function addCommande() { $commandes = Commande::getBy(array()); $mail = true; while (count($commandes) <= 5) { $commande = new Commande(); $restaurant = Restaurant::getOneBy(array('name' => 'Ma Queue Mickey')); $item = ItemMenu::getOneBy(array('name' => 'Burger')); $address = Address::getOneBy(array('address' => '18 Rue des Roses')); $commande->setItem($item, 2); $commande->setStatus(Commande::COMMAND_STATUS_PAYED); $commande->setDatetime('12/12/12 12:12'); $commande->createConfirmationCode(); $commande->setAddress($address); $client = Client::getOneBy(array('_mail' => "*****@*****.**")); $commande->setClient($client); $commande->save(); $restaurant->save(); $commandes = Commande::getBy(array()); } }
public function editeMenu($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) { $restaurants = Restaurant::getBy(array()); return View::render("restaurateur/listeSelectRestaurant.php", array('restaurants' => $restaurants)); } $menu = Menu::getOneBy(array('_id' => new \MongoId($id))); if (Form::exists('menu_edit_form')) { $name = Form::get('name'); $price = Form::get('price'); if ($name == "" || is_null($name) || $price == "" || is_null($price)) { Session::addFlashMessage("Erreur :", 'error', "Tous les champs ne sont pas remplis."); $error = "Veuillez remplir tous les champs"; return View::render("restaurateur/editeMenu.php", array('error' => $error, 'menu' => $menu)); } $description = Form::get('description'); if ($description == "" || is_null($description)) { Session::addFlashMessage("Attention :", 'warning', "Vous n'avez pas rempli de description pour cet item."); } //We check if the name is not already taken $found = ItemMenu::getBy(array('name' => Form::get('name'), 'menu' => $menu->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/editeMenu.php", array('error' => $error, 'menu' => $menu)); } //We associate the values $itemMenu = new ItemMenu(); $itemMenu->setName(Form::get('name')); $itemMenu->setDescription(Form::get('description')); $itemMenu->setPrice(Form::get('price')); $itemMenu->setMenu($menu); $itemMenu->save(); $menu->addItem($itemMenu); $menu->save(); } if (Form::exists('menu_name_edit_form')) { if (Form::checkEmpty(array('menuName'))) { Session::addFlashMessage("Erreur :", 'error', "Tous les champs ne sont pas remplis."); $error = "Veuillez indiquer un nom de menu"; return View::render("restaurateur/editeMenu.php", array('error' => $error, 'menu' => $menu)); } if ($menu->getName() == Form::get('menuName')) { Session::addFlashMessage("Erreur :", 'error', "Le nom n'a pas été modifié."); $error = "Le nom n'a pas changé."; return View::render("restaurateur/editeMenu.php", array('error' => $error, 'menu' => $menu)); } $menu->setName(Form::get('menuName')); $menu->save(); } return View::render("restaurateur/editeMenu.php", array('menu' => $menu)); }
public function doSupprimeRestaurant($id) { //If we are not connected as an entrepreneur, send to the login page if (!Session::isConnected() || Session::getUser()->getType() != USER_ENTREPRENEUR) { Redirect::to('/entrepreneur/login'); } $restaurant = Restaurant::getOneBy(array('_id' => new \MongoId($id))); if (!$restaurant) { //If the restaurateur doesn't exist, we redirect to the list Session::addFlashMessage("Suppression impossible :", 'error', "Ce restaurant n'existe pas."); Redirect::to('/entrepreneur/supprimeRestaurant'); } //Then we delete the restaurateur $restaurant->delete(); Session::addFlashMessage("Restaurant supprimé", 'success', "Le restaurant a été supprimé avec succès."); Redirect::to('/entrepreneur/supprimeRestaurant'); }
/** * Set the id of the Restaurant associated * @param \App\Model\Restaurant $restaurant */ public function setRestaurant(Restaurant $restaurant) { $this->restaurant = $restaurant->getId(); }