public function ajoutRestaurateur() { //If we are not connected as an entrepreneur, send to the login page if (!Session::isConnected() || Session::getUser()->getType() != USER_ENTREPRENEUR) { return Redirect::to('/entrepreneur/login'); } //We select all the Restaurants without restaurateur $restaurants = Restaurant::getBy(array('restaurateur' => null)); if (Form::exists('restaurateur_add_form')) { //We check if all the input are filled if (Form::checkEmpty(array('firstName', 'mail', 'name', 'password', 'password_check'))) { Session::addFlashMessage("Erreur :", 'error', "Tous les champs ne sont pas remplis."); $error = "Veuillez remplir tous les champs"; return View::render("entrepreneur/ajoutRestaurateur.php", array('error' => $error, 'restaurants' => $restaurants)); } //We check if the mail address is not already taken if (Restaurateur::getOneBy(array('_mail' => Form::get('mail')))) { Session::addFlashMessage("Erreur :", 'error', "Adresse e-mail non disponible."); $error = "Cette adresse e-mail est déjà associée à un compte. Veuillez en choisir une autre."; return View::render("entrepreneur/ajoutRestaurateur.php", array('error' => $error, 'restaurants' => $restaurants)); } //We check if the password and the check are the same if (Form::get('password') != Form::get('password_check')) { Session::addFlashMessage("Erreur :", 'error', "Les mots de passe ne correspondent pas."); $error = "Les mots de passe ne correspondent pas."; return View::render("entrepreneur/ajoutRestaurateur.php", array('error' => $error, 'restaurants' => $restaurants)); } //We create a new User, and associate the values $user = new Restaurateur(); $user->setFirstName(Form::get('firstName')); $user->setMail(Form::get('mail')); $user->setName(Form::get('name')); $user->setPassword(Form::get('password')); //We save this User in the DB $user->save(); //We add the restaurants to the Restaurateur $atLeastOneAdded = false; foreach (Form::get('restaurants') as $restaurantId) { if ($restaurantId != "") { $restaurant = Restaurant::getOneBy(array('_id' => new \MongoId($restaurantId))); } else { $restaurant = null; } if ($restaurant) { $user->addRestaurant($restaurant); $atLeastOneAdded = true; } } $user->save(); if ($atLeastOneAdded) { Session::addFlashMessage("Restaurateur ajouté avec succès", 'success', "Le restaurateur " . $user->getMail() . " a été ajouté avec succès."); } else { Session::addFlashMessage("Restaurateur ajouté sans restaurant", 'warning', "Le restaurateur " . $user->getMail() . " a été ajouté sans restaurant associé."); } return Redirect::to('/entrepreneur'); } return View::render("entrepreneur/ajoutRestaurateur.php", array('restaurants' => $restaurants)); }
/** * Seed the Database with Users */ private function addUsers() { //Add the Entrepreneur if he doesn't exist if (!Entrepreneur::getOneBy(array('_mail' => "*****@*****.**"))) { $user = new Entrepreneur(); $user->setFirstName("Bill"); $user->setName("Gates"); $user->setMail("*****@*****.**"); $user->setPassword("123123"); $user->save(); } //Add a Restaurateur if he doesn't exist if (!Restaurateur::getOneBy(array('_mail' => "*****@*****.**"))) { $user = new Restaurateur(); $user->setFirstName("MacDonald"); $user->setName("Ronald"); $user->setMail("*****@*****.**"); $user->setPassword("123123"); $user->save(); } //Add a Restaurateur if he doesn't exist if (!Restaurateur::getOneBy(array('_mail' => "*****@*****.**"))) { $user = new Restaurateur(); $user->setFirstName("Tiki"); $user->setName("Ming"); $user->setMail("*****@*****.**"); $user->setPassword("123123"); $user->save(); } //Add a Restaurateur if he doesn't exist if (!Restaurateur::getOneBy(array('_mail' => "*****@*****.**"))) { $user = new Restaurateur(); $user->setFirstName("Jean"); $user->setName("Bono"); $user->setMail("*****@*****.**"); $user->setPassword("123123"); $user->save(); } //Add a Client if he doesn't exist $address = Address::getOneBy(array('address' => '18 Rue des Roses')); if (!$address) { $address = new Address(); $address->setAddress('18 Rue des Roses'); $address->save(); } if (!Client::getOneBy(array('_mail' => "*****@*****.**"))) { $user = new Client(); $user->setFirstName("Jean"); $user->setName("Bon"); $user->setMail("*****@*****.**"); $user->setAddress($address); $user->setBirthday("10 Janvier 1973"); $user->setPhoneNumber("593 489 2354"); $user->setPassword("123123"); $user->save(); $address->setUser($user); $address->save(); } //Add a Livreur if he doesn't exist if (!Livreur::getOneBy(array('_mail' => "*****@*****.**"))) { $user = new Livreur(); $user->setFirstName("Jiang"); $user->setName("Li"); $user->setMail("*****@*****.**"); $user->setPassword("123123"); $user->save(); } }