예제 #1
0
 /**
  * Création d'arbitres dans la base de données
  */
 public function run()
 {
     DB::table('arbitre_epreuve')->delete();
     DB::table("arbitres")->delete();
     $epreuves = Epreuve::all();
     $entrees = [["Benoit", "Desrosiers", "1", "AQSFR", "819-578-6489", 0], ["Guy", "Bernard", "1", "OSQ", "450-715-6915", 0], ["Jonathan", "Gareau", "1", "ASSQ", "514-763-2485", 0], ["Stéphane", "Janvier", "2", "ASAQ", "450-571-1203", 0]];
     $regions = Region::all();
     foreach ($entrees as $entree) {
         $arbitre = new Arbitre();
         $arbitre->prenom = $entree[0];
         $arbitre->nom = $entree[1];
         $arbitre->region_id = $regions->random()->id;
         $arbitre->numero_accreditation = $entree[2];
         $arbitre->association = $entree[3];
         $arbitre->numero_telephone = $entree[4];
         $arbitre->sexe = $entree[5];
         $date_temp = new DateTime();
         $date_temp->setDate(1994, 1, 1);
         $arbitre->date_naissance = $date_temp;
         $arbitre->save();
         for ($j = 0; $j < rand(1, 4); $j++) {
             $epreuves->random()->arbitres()->attach($arbitre->id);
         }
     }
 }
 /**
  * Efface un arbitre de la bd.
  *
  * @param  int $id l'id de l'arbitre à effacer
  * @return Response
  */
 public function destroy($id)
 {
     try {
         $arbitre = Arbitre::findOrFail($id);
         $arbitre->delete();
         return Redirect::action('ArbitresController@index');
     } catch (Exception $e) {
         App:
         abort(404);
     }
 }
 /**
  * Affiche le formulaire permettant d'éditer une épreuve
  *
  * @param[in] int $epreuveId l'id de l'épreuve
  */
 public function edit($epreuveId)
 {
     try {
         $epreuve = Epreuve::findOrFail($epreuveId);
         $sportId = $epreuve->sport->id;
         $sports = Sport::all();
         $arbitresEpreuves = $epreuve->arbitres;
         $arbitres = EpreuvesController::filtrer_arbitres(Arbitre::orderBy('nom', 'asc')->get(), $arbitresEpreuves);
         //FIXME: au lieu d'avoir une fonction pour filtrer les arbitres déjà associés à une épreuve, on peut se servir du whereNotIn
         //       et fournir la liste des ids des arbitresEpreuves
         //       $arbitres = Arbitre::all()->whereNotIn('id', $arbitresEpreuves->pluck('id')) ->get();
         $sportId = $this->checkSportId($sports, $sportId);
         return View::make('epreuves.edit', compact('epreuve', 'sports', 'sportId', 'arbitres', 'arbitresEpreuves'));
     } catch (ModelNotFoundException $e) {
         App::abort(404);
     }
 }