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.

Methods

Public Instance methods

Create Result and create SingleDayEvent and Race if there is no existing Event with same name and date

[Source]

    # 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

[Source]

   # File app/controllers/admin/cat4_womens_race_series_controller.rb, line 7
7:   def new_result
8:     @result = Result.new(params[:result])
9:   end

[Validate]