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));
 }
Exemple #2
0
 /**
  * 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();
     }
 }