2019-05-03 08:17:27 +10:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2015-03-16 15:14:33 -04:00
|
|
|
class DirectoryItemSerializer < ApplicationSerializer
|
|
|
|
|
2018-12-06 12:18:52 +01:00
|
|
|
class UserSerializer < UserNameSerializer
|
|
|
|
include UserPrimaryGroupMixin
|
2021-06-07 12:34:01 -05:00
|
|
|
|
|
|
|
attributes :user_fields
|
|
|
|
|
|
|
|
def user_fields
|
2021-06-23 10:45:18 -05:00
|
|
|
fields = {}
|
|
|
|
|
|
|
|
object.user_custom_fields.each do |cuf|
|
|
|
|
user_field_id = @options[:user_custom_field_map][cuf.name]
|
|
|
|
if user_field_id
|
|
|
|
fields[user_field_id] = cuf.value
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
fields
|
2021-06-07 12:34:01 -05:00
|
|
|
end
|
|
|
|
|
|
|
|
def include_user_fields?
|
2021-06-23 10:45:18 -05:00
|
|
|
@options[:user_custom_field_map].present?
|
2021-06-07 12:34:01 -05:00
|
|
|
end
|
2018-12-06 12:18:52 +01:00
|
|
|
end
|
|
|
|
|
2015-03-16 15:14:33 -04:00
|
|
|
attributes :id,
|
|
|
|
:time_read
|
|
|
|
|
2018-12-06 12:18:52 +01:00
|
|
|
has_one :user, embed: :objects, serializer: UserSerializer
|
2021-06-22 13:00:04 -05:00
|
|
|
attributes *DirectoryColumn.active_column_names
|
2015-03-16 15:14:33 -04:00
|
|
|
|
|
|
|
def id
|
|
|
|
object.user_id
|
|
|
|
end
|
|
|
|
|
|
|
|
def time_read
|
2017-11-17 17:08:49 -05:00
|
|
|
object.user_stat.time_read
|
2015-03-16 15:14:33 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
def include_time_read?
|
|
|
|
object.period_type == DirectoryItem.period_types[:all]
|
|
|
|
end
|
|
|
|
end
|