-
-
Notifications
You must be signed in to change notification settings - Fork 199
Expand file tree
/
Copy pathinvitations_controller.rb
More file actions
28 lines (23 loc) · 872 Bytes
/
invitations_controller.rb
File metadata and controls
28 lines (23 loc) · 872 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class Admin::InvitationsController < Admin::ApplicationController
include Admin::WorkshopConcerns
def update
@attendance_manager = Managers::AttendanceManager.new(params[:workshop_id], invitation_id, current_user)
@workshop = WorkshopPresenter.decorate(@attendance_manager.workshop)
authorize @workshop
@invitation = @attendance_manager.invitation
message = @attendance_manager.update(attending: is_attending?, attended: params[:attended])
if request.xhr?
set_admin_workshop_data
render partial: 'admin/workshops/invitation_management'
else
redirect_back fallback_location: root_path, notice: message
end
end
private
def is_attending?
ActiveRecord::Type::Boolean.new.cast(params[:attending])
end
def invitation_id
params.key?(:workshop) ? params[:workshop][:invitations] : params[:id]
end
end