| Class | Admin::Cat4WomensRaceSeriesController |
| In: |
app/controllers/admin/cat4_womens_race_series_controller.rb
|
| Parent: | Admin::AdminController |
Add Result to Cat4WomensRaceSeries. The series counts races outside of the association, so they some are added manually.
Create Result and create SingleDayEvent and Race if there is no existing Event with same name and date
# File app/controllers/admin/cat4_womens_race_series_controller.rb, line 12
12: def create_result
13: event_for_find = SingleDayEvent.new(params[:event])
14: @event = Event.find(:first, :conditions => { :name => event_for_find.name, :date => event_for_find.date })
15: if @event.nil?
16: @event = SingleDayEvent.new(params[:event])
17: @event.save!
18: unless params[:event][:sanctioned_by]
19: @event.sanctioned_by = nil
20: @event.save!
21: end
22: end
23:
24: cat_4_women = Category.find_or_create_by_name("Women Cat 4")
25: @race = @event.races.detect do |r|
26: r.category == cat_4_women || cat_4_women.descendants.include?(r.category)
27: end
28: if @race.nil?
29: @race = @event.races.create!(:category => cat_4_women)
30: end
31:
32: @result = @race.results.new(params[:result])
33: @result.validate_person_name
34: if @result.errors.empty?
35: @result.save!
36: flash[:notice] = "Created result for #{@result.name} in #{@event.name}"
37: redirect_to(:action => "new_result", :result => {
38: :first_name => params[:result][:first_name],
39: :last_name => params[:result][:last_name],
40: :team_name => params[:result][:team_name],
41: })
42: else
43: render :new_result
44: end
45: end