clarion/app/controllers/management/events_controller.rb

57 lines
1.4 KiB
Ruby

module Management
class EventsController < ManagementController
before_action :assign_suggestion, only: [:show, :state]
def index
@suggestion_groups = SuggestionGroup.for_conference Conference.current
end
def approved
@suggestion_groups = SuggestionGroup.for_conference Conference.current, state: Event.states[:approved]
render :index
end
def undecided
@suggestion_groups = SuggestionGroup.for_conference Conference.current, state: Event.states[:undecided]
render :index
end
def rejected
@suggestion_groups = SuggestionGroup.for_conference Conference.current, state: Event.states[:rejected]
render :index
end
def backup
@suggestion_groups = SuggestionGroup.for_conference Conference.current, state: Event.states[:backup]
render :index
end
def show
end
def state
@suggestion.state = state_params
@suggestion.save
end
def send_acceptance_notifications
@suggestions = Conference.current.events.approved.where acceptance_notification_sent_at: nil
if @suggestions.all?(&:send_acceptance_notification!)
head :no_content
else
head :unprocessable_entity
end
end
private
def state_params
params.require :state
end
def assign_suggestion
@suggestion = Event.find params[:id]
end
end
end