diff --git a/app/controllers/leads/event_registrations_controller.rb b/app/controllers/leads/event_registrations_controller.rb index 52a0db2..38603dc 100644 --- a/app/controllers/leads/event_registrations_controller.rb +++ b/app/controllers/leads/event_registrations_controller.rb @@ -15,7 +15,7 @@ def mass_update @event_registrations = @event.event_registrations errors = [] - if params[:token] == form_authenticity_token + if verified_request? params[:event_registrations].each do |event_registration| begin @event_registrations.find(event_registration[:id]).set_state!(event_registration[:state]) @@ -26,10 +26,14 @@ def mass_update } end end + else + errors << { + error_message: 'Form authenticity token mismatch' + } end respond_to do |format| - if errors.any? + unless errors.any? format.json { render :json => {'status' => 'OK'} } else # Some or all have raised error diff --git a/app/models/event_registration.rb b/app/models/event_registration.rb index 56c9c98..2488898 100644 --- a/app/models/event_registration.rb +++ b/app/models/event_registration.rb @@ -43,10 +43,11 @@ def as_json(*args) super(:only => [:id, :event_id, :user_id, :accepted, :created_at, :updated_at, :state, :visible]) end - def set_state!(state) - raise "Invalid State" unless STATE_ALL.include?(state) + def set_state!(new_state) + raise "Invalid State" unless STATE_ALL.include?(new_state) + return if self.state == new_state - self.state = state + self.state = new_state self.save! end diff --git a/app/views/leads/event_registrations/index.html.erb b/app/views/leads/event_registrations/index.html.erb index 2b688cb..ad8f887 100644 --- a/app/views/leads/event_registrations/index.html.erb +++ b/app/views/leads/event_registrations/index.html.erb @@ -52,8 +52,7 @@