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));
 }
Beispiel #2
0
 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');
 }
Beispiel #5
0
 /**
  * Set the id of the Restaurant associated
  * @param \App\Model\Restaurant $restaurant
  */
 public function setRestaurant(Restaurant $restaurant)
 {
     $this->restaurant = $restaurant->getId();
 }