Skip to content

Commit e7e1e23

Browse files
committed
Refactor RSVP cancellation and update methods to handle 404 responses gracefully
1 parent 553de3e commit e7e1e23

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

app/controllers/better_together/events_controller.rb

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,10 @@ def rsvp_going
4444
end
4545

4646
def rsvp_cancel
47-
@event = set_resource_instance
47+
set_resource_instance
48+
return if performed? # Exit early if 404 was already rendered
49+
50+
@event = @resource
4851
authorize @event, :show?
4952

5053
# Ensure current_person exists
@@ -92,7 +95,10 @@ def resource_class
9295

9396
# rubocop:todo Metrics/MethodLength
9497
def rsvp_update(status) # rubocop:todo Metrics/AbcSize, Metrics/MethodLength
95-
@event = set_resource_instance
98+
set_resource_instance
99+
return if performed? # Exit early if 404 was already rendered
100+
101+
@event = @resource
96102
authorize @event, :show?
97103

98104
# Check if event allows RSVP

spec/requests/better_together/calendars_controller_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
end
1212

1313
context 'when viewing calendar show page' do
14-
let(:calendar) { create('better_together/calendar') }
14+
let(:calendar) { create('better_together/calendar', privacy: 'public') }
1515
let(:upcoming_event) do
1616
BetterTogether::Event.create!(
1717
name: 'Upcoming',

0 commit comments

Comments
 (0)