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()); } }