Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 24 additions & 17 deletions app/controllers/rsvps_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -55,23 +55,8 @@ def update
return
end

@questionnaire.acc_status_date = Time.now if @questionnaire.acc_status != params[:questionnaire][:acc_status]
@questionnaire.acc_status = params[:questionnaire][:acc_status]
@questionnaire.acc_status_author_id = current_user.id

new_bus_list_id = params[:questionnaire][:bus_list_id].presence
new_bus_list = new_bus_list_id && BusList.find(new_bus_list_id)
is_joining_bus = new_bus_list.present? && @questionnaire.bus_list != new_bus_list
if is_joining_bus && new_bus_list.full?
if @questionnaire.bus_list_id?
flash[:alert] = "Sorry, that bus is full. You are still signed up for the '#{@questionnaire.bus_list.name}' bus."
else
flash[:alert] = "Sorry, that bus is full. You may need to arrange other plans for transportation."
end
else
@questionnaire.bus_list = new_bus_list
@questionnaire.bus_captain_interest = params[:questionnaire][:bus_captain_interest]
end
update_acc_status
update_bus_list

unless @questionnaire.save
flash[:alert] = @questionnaire.errors.full_message.join(", ")
Expand All @@ -91,6 +76,28 @@ def update

private

def update_acc_status
@questionnaire.acc_status_date = Time.now if @questionnaire.acc_status != params[:questionnaire][:acc_status]
@questionnaire.acc_status = params[:questionnaire][:acc_status]
@questionnaire.acc_status_author_id = current_user.id
end

def update_bus_list
new_bus_list_id = params[:questionnaire][:bus_list_id].presence
new_bus_list = new_bus_list_id && BusList.find(new_bus_list_id)
is_joining_bus = new_bus_list.present? && @questionnaire.bus_list != new_bus_list
if is_joining_bus && new_bus_list.full?
if @questionnaire.bus_list_id?
flash[:alert] = "Sorry, that bus is full. You are still signed up for the '#{@questionnaire.bus_list.name}' bus."
else
flash[:alert] = "Sorry, that bus is full. You may need to arrange other plans for transportation."
end
else
@questionnaire.bus_list = new_bus_list
@questionnaire.bus_captain_interest = params[:questionnaire][:bus_captain_interest]
end
end

def rsvp_error_notice
hackathon_name = HackathonConfig['name']
"There was an error submitting your response, please check over your application and try again. Did you accept the #{hackathon_name} Agreement?"
Expand Down