/** * Modifie les joueurs faisant partie de l'équipe * * @param int $id * @return \Illuminate\Http\Response */ public function update($id) { try { $equipe = Equipe::findOrFail($id); // L'équipe doit être une équipe if (!$equipe->equipe) { App::abort(404); } $equipe->equipe = true; $equipe->nom = Input::get('nom'); $equipe->numero = Input::get('numero'); $membres = Input::get('joueur'); if ($membres) { if (is_array($membres)) { // Les joueurs sélectionnés doivent exister $participants = Participant::whereIn('id', $membres); if ($participants->count() != count($membres)) { App::abort(404); } // Les joueurs sélectionnés ne doivent pas être des équipes if ($participants->where('equipe', '<>', '0')->count() > 0) { App::abort(404); } } elseif (Participant::findOrFail($membres)->equipe) { App::abort(404); } } if ($equipe->save()) { // Associer les membres à l'équipe if ($membres) { if (is_array($membres)) { $equipe->membres()->sync($membres); } else { $equipe->membres()->sync([$membres]); } } else { $equipe->membres()->detach(); } // Redirection dans la page de visualisation de l'équipe return Redirect::action('EquipesController@show', $equipe->id); } else { return Redirect::back()->withInput()->withErrors($equipe->validationMessages()); } } catch (Exception $e) { App: abort(404); } }
/** * Retourne le résultat pour un événement en format JSON * * Doit être appelé par un call AJAX. * * @param[in] post int evenementId l'id de l'événement pour lequel on veut montrer le résultat * @return la sous-view pour afficher un résultat. * */ public function resultatPourEvenement() { if (1 == 1 || Request::ajax()) { $evenementId = Input::get('evenementId'); //$evenementId = $this->checkEvenementId($evenements, $evenementId); try { $evenement = Evenement::findOrFail($evenementId); $resultats = $evenement->resultats; $resultat = Resultat::findOrFail($evenementId); $participant1 = Participant::findOrFail($resultat->participant1_id); $participant2 = Participant::findOrFail($resultat->participant2_id); } catch (ModelNotFoundException $e) { //App::abort(404); return View::make('resultats.resultat')->with('resultat', $resultats); } return View::make('resultats.resultat')->with('resultat', $resultats)->with('participant1', $participant1)->with('participant2', $participant2); } else { return App::abort(404); } }
/** * Efface un participant de la bd. * * @param int $id. * L'id du participant à effacer. * @return Response */ public function destroy($id) { //todo: ajouter le try catch $participant = Participant::findOrFail($id); $participant->delete(); return Redirect::action('ParticipantsController@index'); }