diff --git a/app/assets/javascripts/osem-schedule.js b/app/assets/javascripts/osem-schedule.js index 44f0fa19..1303c73a 100644 --- a/app/assets/javascripts/osem-schedule.js +++ b/app/assets/javascripts/osem-schedule.js @@ -12,8 +12,8 @@ var Schedule = { if(event_schedule_id != null){ var my_url = url + '/' + event_schedule_id; var params = { - event: e.attr("guid"), - schedule: schedule_id + event: e.attr("id"), + schedule_id: schedule_id }; var callback = function(data) { console.log(data); @@ -38,13 +38,12 @@ var Schedule = { type = 'PUT'; my_url += ('/' + event_schedule_id); } - var params = { - event: event_id, - schedule: schedule_id, - room: room_id, - date: date, - time: time - }; + var params = { event_schedule: { + event_id: event_id, + schedule_id: schedule_id, + room_id: room_id, + start_time: (date + ' ' + time) + }}; var callback = function(data) { console.log(data); var e = $("#event-" + event_id); @@ -88,8 +87,8 @@ $(document).ready( function() { tolerance: "pointer", drop: function(event, ui) { $(ui.draggable).appendTo(this); - var myId = $(ui.draggable).attr("guid"); - var myRoom = $(this).attr("room-guid") + var myId = $(ui.draggable).attr("event_id"); + var myRoom = $(this).attr("room_id") var myDate = $(this).attr("date"); var myTime = $(this).attr("hour"); var myEventSchedule = $(ui.draggable).attr("event_schedule_id"); diff --git a/app/controllers/admin/event_schedule_controller.rb b/app/controllers/admin/event_schedule_controller.rb index 503c1050..c8e6cae1 100644 --- a/app/controllers/admin/event_schedule_controller.rb +++ b/app/controllers/admin/event_schedule_controller.rb @@ -3,45 +3,24 @@ module Admin load_and_authorize_resource :event_schedule def create - event_schedule = EventSchedule.create(get_event_schedule_params(params)) - render json: { 'status' => 'ok', event_schedule_id: event_schedule.id } + @event_schedule.save + render json: { 'status' => 'ok', event_schedule_id: @event_schedule.id } end def update - @event_schedule.update(get_event_schedule_params(params)) + @event_schedule.update(event_schedule_params) render json: { 'status' => 'ok', event_schedule_id: @event_schedule.id } end def destroy - @event_schedule.destroy if @event_schedule + @event_schedule.destroy render json: { 'status' => 'ok' } end private - def get_event_schedule_params(params) - error_message = nil - - event = Event.where(guid: params[:event]).first - error_message = "Could not find event GUID: #{params[:event]}" if event.nil? - - schedule = Schedule.where(id: params[:schedule]).first - error_message = "Could not find schedule: #{params[:schedule]}" if schedule.nil? - - room = Room.where(guid: params[:room]).first - error_message = "Could not find room GUID: #{params[:room]}" if room.nil? - - error_message = 'Date and time must be present' if params[:date].eql?('') || params[:time].eql?('') - - unless error_message.nil? - render json: { 'status' => 'error', 'message' => error_message }, status: 500 - return - end - - time = "#{params[:date]} #{params[:time]}" - Rails.logger.debug("Loading #{time}") - start_time = DateTime.strptime(time, '%Y-%m-%d %k:%M') - { schedule: schedule, event: event, room: room, start_time: start_time } + def event_schedule_params + params.require(:event_schedule).permit(:schedule_id, :event_id, :room_id, :start_time) end end end diff --git a/app/views/admin/schedule/_day_tab.html.haml b/app/views/admin/schedule/_day_tab.html.haml index e6707f7f..b7cc27e8 100644 --- a/app/views/admin/schedule/_day_tab.html.haml +++ b/app/views/admin/schedule/_day_tab.html.haml @@ -10,7 +10,7 @@ - minutes = (15 * (slot % 4) == 0) ? '00' : 15 * (slot % 4) - time = "#{hour}:#{minutes}" .schedule-room-slot{ id: "schedule-room-#{room.guid}-#{hour}-#{minutes}", | - "room-guid" => room.guid, | + room_id: room.id, | hour: time, | date: date} .div diff --git a/app/views/admin/schedule/_event.html.haml b/app/views/admin/schedule/_event.html.haml index 2a4a14c4..d65ab619 100644 --- a/app/views/admin/schedule/_event.html.haml +++ b/app/views/admin/schedule/_event.html.haml @@ -5,10 +5,10 @@ - lines = (height - 7) / 23 - color = event.track.try(:color).present? ? event.track.try(:color) : 'FFFFFF' .schedule-event{ style: "height: #{height}px; background-color: #{color}; color: #{contrast_color(color)}", | - id: "event-#{event.guid}", | - guid: event.guid, | + id: "event-#{event.id}", | + event_id: event.id, | length: cells_length, | event_schedule_id: event_schedule_id } .schedule-event-text{ style: "-webkit-line-clamp: #{lines}; height: #{lines * 23}px;"} - %span.schedule-event-delete-button{ onclick: "Schedule.remove(\'event-#{event.guid}\');" } X + %span.schedule-event-delete-button{ onclick: "Schedule.remove(\'event-#{event.id}\');" } X = event.title