/**
  * Inscrit une nouvelle équipe dans la table 'participants'
  */
 public function store()
 {
     try {
         $equipe = new Equipe();
         $equipe->equipe = true;
         $equipe->naissance = new DateTime();
         $equipe->nom = Input::get('nom');
         $equipe->numero = Input::get('numero');
         $equipe->region_id = Input::get('region_id');
         //une équipe participe à un et un seul sport. Contrairement à un participant qui peut faire plusieurs sports.
         $sport = Sport::findOrFail(Input::get('sport'));
         if ($equipe->save()) {
             if (Input::has('sport')) {
                 $equipe->sports()->sync([$sport->id]);
             } else {
                 $equipe->sports()->detach();
             }
             // 				Redirection dans la page d'édition de l'équipe
             return Redirect::action('EquipesController@edit', $equipe->id)->with('status', 'L\'équipe a été initialisée! Sélectionnez maintenant les joueurs qui en font partie.');
         } else {
             return Redirect::back()->withInput()->withErrors($equipe->validationMessages());
         }
     } catch (Exception $e) {
         App:
         abort(404);
     }
 }
 /**
  * Affiche les participants associés au sport sélectionné par région.
  *
  * @param[in] int $id l'id du sport qu'on sélectionne.
  */
 public function index($id)
 {
     try {
         $sport = Sport::findOrFail($id);
         $regions = Region::all()->sortby('nom');
         $participants = $sport->participants->sortby('nom');
         return View::make('sportParticipant.index', compact('regions', 'participants', 'sport'));
     } catch (ModelNotFoundException $e) {
         App::abort(404);
     }
 }
 /**
  * Verifie si un id de sport existe.
  * Si oui:le retourne. Si non: retourne l'id du premier sport dans la liste
  *
  * @param array $sports
  *        	liste des sports. Utilisé si $sportId = 0 afin de choisir une valeur par défaut
  * @param int $sportId
  *        	un id de sport. Un sport avec cet id doit exister, sinon la le premier id de la liste sera utilisé
  * @return int
  */
 protected function checkSportId($sports, $sportId)
 {
     if ($sportId != 0) {
         // verifie que le sportid passé en paramêtre existe.
         try {
             $sport = Sport::findOrFail($sportId);
         } catch (Exception $e) {
             // si il n'existe pas, on prend celui du premier sport dans la liste
             $sportId = $sports[0]->id;
         }
     } else {
         // par default on prend le premier sport
         $sportId = $sports[0]->id;
     }
     return $sportId;
 }
 /**
  * Efface la ressource de la bd.
  *
  * @param  int  $id l'id du sport à effacer
  * @return Response
  */
 public function destroy($id)
 {
     try {
         $sport = Sport::findOrFail($id);
         $sport->delete();
         return Redirect::action('SportsController@index');
     } catch (Exception $e) {
         App::abort(404);
     }
 }
 /**
  * Mise à jour d'une épreuve associée à un sport
  *
  * @param[in] int $sportId l'id du sport auquel est associé l'épreuve
  * @param[in] int $epreuveId l'id de l'épreuve
  */
 public function update($sportId, $epreuveId)
 {
     try {
         $sport = Sport::findOrFail($sportId);
         //juste pour s'assurer que l'id de classe passé en paramêtre est valide, sinon: 404.
     } catch (ModelNotFoundException $e) {
         App::abort(404);
     }
     $input = Input::all();
     $epreuve = $sport->epreuves()->where('id', '=', $epreuveId)->first();
     $epreuve->nom = $input['nom'];
     $epreuve->description = $input['description'];
     $epreuve->sport_id = $sportId;
     if ($epreuve->save()) {
         return Redirect::action('SportsEpreuvesController@index', $sportId);
     } else {
         return Redirect::back()->withInput()->withErrors($epreuve->validationMessages);
     }
 }