public static function store() { $attributes = self::get_attributes(); $split = new Split($attributes); $participant = Participant::find($split->participant_id); self::check_admin_or_recorder_logged_in($participant->competition_id); $competition_id = Competition::find($participant->competition_id)->id; $errors = $split->validate_split_time(); if (count($errors) == 0) { $split->save(); Participant::update_competition_standings($competition_id); Redirect::to('/competition/' . $competition_id . '/splits', array('message' => 'Väliaika lisätty.')); } else { self::creation_view($participant, $attributes, $errors); } }
public static function update($id) { self::check_admin_logged_in(); $attributes = self::get_attributes(); $attributes['id'] = $id; $attributes['competition_name'] = Competition::find($attributes['competition_id'])->name; $attributes['competitor_name'] = Competitor::find($attributes['competitor_id'])->name; $attributes['standing'] = Participant::find($id)->standing; $participant = new Participant($attributes); $errors = $participant->validate_number(); if (count($errors) == 0) { $participant->update(); Redirect::to('/competition/' . $participant->competition_id . '/participants', array('message' => 'Kilpailijan numeroa muokattu onnistuneesti!')); } else { self::edit_view(array(Competition::find($participant->competition_id)), array(Competitor::find($participant->competitor_id)), $attributes, $errors); } }
public static function edit($id) { self::check_admin_logged_in(); $competition = Competition::find($id); View::make('competition/edit.html', array('attributes' => $competition)); }
public static function update_competition_standings($competition_id) { $competition = Competition::find($competition_id); $participant_ids = self::get_participant_ids_ordered_by_split_times($competition_id, $competition->split_amount); $standing = 1; foreach ($participant_ids as $id) { $participant = self::find($id); $participant->standing = $standing; $participant->update(); $standing++; } }