Load event schedule fixed

It was needed to use the id instead of the guid in the html attributes of the events in the admin schedule
This commit is contained in:
Ana 2016-08-03 23:22:09 +02:00
parent 57d2a05b7f
commit 2e1cd164a4
4 changed files with 20 additions and 42 deletions

View file

@ -12,8 +12,8 @@ var Schedule = {
if(event_schedule_id != null){ if(event_schedule_id != null){
var my_url = url + '/' + event_schedule_id; var my_url = url + '/' + event_schedule_id;
var params = { var params = {
event: e.attr("guid"), event: e.attr("id"),
schedule: schedule_id schedule_id: schedule_id
}; };
var callback = function(data) { var callback = function(data) {
console.log(data); console.log(data);
@ -38,13 +38,12 @@ var Schedule = {
type = 'PUT'; type = 'PUT';
my_url += ('/' + event_schedule_id); my_url += ('/' + event_schedule_id);
} }
var params = { var params = { event_schedule: {
event: event_id, event_id: event_id,
schedule: schedule_id, schedule_id: schedule_id,
room: room_id, room_id: room_id,
date: date, start_time: (date + ' ' + time)
time: time }};
};
var callback = function(data) { var callback = function(data) {
console.log(data); console.log(data);
var e = $("#event-" + event_id); var e = $("#event-" + event_id);
@ -88,8 +87,8 @@ $(document).ready( function() {
tolerance: "pointer", tolerance: "pointer",
drop: function(event, ui) { drop: function(event, ui) {
$(ui.draggable).appendTo(this); $(ui.draggable).appendTo(this);
var myId = $(ui.draggable).attr("guid"); var myId = $(ui.draggable).attr("event_id");
var myRoom = $(this).attr("room-guid") var myRoom = $(this).attr("room_id")
var myDate = $(this).attr("date"); var myDate = $(this).attr("date");
var myTime = $(this).attr("hour"); var myTime = $(this).attr("hour");
var myEventSchedule = $(ui.draggable).attr("event_schedule_id"); var myEventSchedule = $(ui.draggable).attr("event_schedule_id");

View file

@ -3,45 +3,24 @@ module Admin
load_and_authorize_resource :event_schedule load_and_authorize_resource :event_schedule
def create def create
event_schedule = EventSchedule.create(get_event_schedule_params(params)) @event_schedule.save
render json: { 'status' => 'ok', event_schedule_id: event_schedule.id } render json: { 'status' => 'ok', event_schedule_id: @event_schedule.id }
end end
def update 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 } render json: { 'status' => 'ok', event_schedule_id: @event_schedule.id }
end end
def destroy def destroy
@event_schedule.destroy if @event_schedule @event_schedule.destroy
render json: { 'status' => 'ok' } render json: { 'status' => 'ok' }
end end
private private
def get_event_schedule_params(params) def event_schedule_params
error_message = nil params.require(:event_schedule).permit(:schedule_id, :event_id, :room_id, :start_time)
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 }
end end
end end
end end

View file

@ -10,7 +10,7 @@
- minutes = (15 * (slot % 4) == 0) ? '00' : 15 * (slot % 4) - minutes = (15 * (slot % 4) == 0) ? '00' : 15 * (slot % 4)
- time = "#{hour}:#{minutes}" - time = "#{hour}:#{minutes}"
.schedule-room-slot{ id: "schedule-room-#{room.guid}-#{hour}-#{minutes}", | .schedule-room-slot{ id: "schedule-room-#{room.guid}-#{hour}-#{minutes}", |
"room-guid" => room.guid, | room_id: room.id, |
hour: time, | hour: time, |
date: date} date: date}
.div .div

View file

@ -5,10 +5,10 @@
- lines = (height - 7) / 23 - lines = (height - 7) / 23
- color = event.track.try(:color).present? ? event.track.try(:color) : 'FFFFFF' - color = event.track.try(:color).present? ? event.track.try(:color) : 'FFFFFF'
.schedule-event{ style: "height: #{height}px; background-color: #{color}; color: #{contrast_color(color)}", | .schedule-event{ style: "height: #{height}px; background-color: #{color}; color: #{contrast_color(color)}", |
id: "event-#{event.guid}", | id: "event-#{event.id}", |
guid: event.guid, | event_id: event.id, |
length: cells_length, | length: cells_length, |
event_schedule_id: event_schedule_id } event_schedule_id: event_schedule_id }
.schedule-event-text{ style: "-webkit-line-clamp: #{lines}; height: #{lines * 23}px;"} .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 = event.title