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++;
     }
 }