2016-08-01 00:52:52 +02:00
|
|
|
module Admin
|
2016-08-04 12:19:32 +02:00
|
|
|
class EventSchedulesController < Admin::BaseController
|
2016-08-01 00:52:52 +02:00
|
|
|
load_and_authorize_resource :event_schedule
|
|
|
|
|
|
|
|
|
|
def create
|
2016-08-04 17:06:34 +02:00
|
|
|
if @event_schedule.save
|
2016-08-09 14:55:39 +02:00
|
|
|
render json: { event_schedule_id: @event_schedule.id }
|
2016-08-04 17:06:34 +02:00
|
|
|
else
|
2016-07-22 17:57:26 +02:00
|
|
|
render json: { errors: parse_errors(@event_schedule) }, status: 422
|
2016-08-04 17:06:34 +02:00
|
|
|
end
|
2016-08-01 00:52:52 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def update
|
2016-08-04 17:06:34 +02:00
|
|
|
if @event_schedule.update(event_schedule_params)
|
2016-08-09 14:55:39 +02:00
|
|
|
render json: { event_schedule_id: @event_schedule.id }
|
2016-08-04 17:06:34 +02:00
|
|
|
else
|
2016-07-22 17:57:26 +02:00
|
|
|
render json: { errors: parse_errors(@event_schedule) }, status: 422
|
2016-08-04 17:06:34 +02:00
|
|
|
end
|
2016-08-01 00:52:52 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def destroy
|
2016-08-04 17:06:34 +02:00
|
|
|
if @event_schedule.destroy
|
2016-08-09 14:55:39 +02:00
|
|
|
render json: {}
|
2016-08-04 17:06:34 +02:00
|
|
|
else
|
2016-07-22 17:57:26 +02:00
|
|
|
render json: { errors: parse_errors(@event_schedule) }, status: 422
|
2016-08-04 17:06:34 +02:00
|
|
|
end
|
2016-08-01 00:52:52 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
2016-08-03 23:22:09 +02:00
|
|
|
def event_schedule_params
|
|
|
|
|
params.require(:event_schedule).permit(:schedule_id, :event_id, :room_id, :start_time)
|
2016-08-01 00:52:52 +02:00
|
|
|
end
|
2016-07-22 17:57:26 +02:00
|
|
|
|
|
|
|
|
def parse_errors(event_schedule)
|
|
|
|
|
title = event_schedule.event.try(:title).present? ? event_schedule.event.title : 'The event'
|
|
|
|
|
errors = event_schedule.errors.full_messages.present? ? " (#{event_schedule.errors.full_messages.join('. ')})" : ''
|
|
|
|
|
"#{title} couldn't be scheduled#{errors}. "
|
|
|
|
|
end
|
2016-08-01 00:52:52 +02:00
|
|
|
end
|
|
|
|
|
end
|