osem-fcy/app/serializers/event_serializer.rb
Ana f65778b4fe Event model improvements
- Drop selected_event_schedule function
- Rename scheduled_room and scheduled_start_time to room and time as If there is no selected_schedule, the event is not scheduled: selected_schedule_room and selected_schedule_time
2016-08-02 00:41:37 +02:00

40 lines
929 B
Ruby

class EventSerializer < ActiveModel::Serializer
include ActionView::Helpers::TextHelper
attributes :guid, :title, :length, :scheduled_date, :language, :abstract, :speaker_ids, :type, :selected_schedule_room, :track
def scheduled_date
t = object.selected_schedule_time
t.blank? ? '' : %( #{I18n.l t, format: :short}#{t.formatted_offset(false)} )
end
def speaker_ids
speakers = object.event_users.select { |i| i.event_role == 'speaker' }
speakers.map { |i| i.user.id }
end
def type
object.event_type.try(:title)
end
def selected_schedule_room
object.selected_schedule_room.try(:guid)
end
def track
object.track.try(:guid)
end
def abstract
# This should never happen
if object.abstract.blank?
nil
else
simple_format(object.abstract).gsub('\n', '')
end
end
def length
object.event_type.try(:length) || EventType::LENGTH_STEP
end
end