This commit is contained in:
Ana María Martínez Gómez 2017-01-26 15:36:04 +00:00 committed by GitHub
commit 24582706be
9 changed files with 311 additions and 125 deletions

View file

@ -2,34 +2,40 @@ module Admin
class EventSchedulesController < Admin::BaseController
load_and_authorize_resource :event_schedule
def create
if @event_schedule.save
render json: { event_schedule_id: @event_schedule.id }
else
render json: { errors: "The event couldn't be scheduled. #{@event_schedule.errors.full_messages.join('. ')}" }, status: 422
end
end
def update
if @event_schedule.update(event_schedule_params)
render json: { event_schedule_id: @event_schedule.id }
else
render json: { errors: "The event couldn't be scheduled. #{@event_schedule.errors.full_messages.join('. ')}" }, status: 422
end
end
def destroy
if @event_schedule.destroy
def bulk_create
result = EventSchedule.create(params[:event_schedules].values).reject { |p| p.errors.empty? }
if result.empty?
render json: {}
else
render json: { errors: "The event couldn't be unscheduled. #{@event_schedule.errors.full_messages.join('. ')}" }, status: 422
event_names = result.collect { |event_schedule| event_schedule.event.try(:title) }
render json: { errors: event_names.to_s }, status: 422
end
end
private
def bulk_update
keys = []
values = []
params[:event_schedules].values.each do |e|
keys << e.keys[0]
values << e.values[0]
end
result = EventSchedule.update(keys, values).reject { |p| p.errors.empty? }
if result.empty?
render json: {}
else
event_names = result.collect { |event_schedule| event_schedule.event.try(:title) }
render json: { errors: event_names.to_s }, status: 422
end
end
def event_schedule_params
params.require(:event_schedule).permit(:schedule_id, :event_id, :room_id, :start_time)
def bulk_destroy
result = EventSchedule.destroy(params[:event_schedules].values).reject { |p| p.errors.empty? }
if result.empty?
render json: {}
else
event_names = result.collect { |event_schedule| event_schedule.event.try(:title) }
render json: { errors: event_names.to_s }, status: 422
end
end
end
end