39 lines
980 B
Ruby
39 lines
980 B
Ruby
class UsersCsv < RenderCsv
|
|
include ApplicationHelper
|
|
|
|
def header
|
|
row = [
|
|
User.human_attribute_name(:id),
|
|
User.human_attribute_name(:name),
|
|
User.human_attribute_name(:nick),
|
|
User.human_attribute_name(:first_name),
|
|
User.human_attribute_name(:last_name),
|
|
User.human_attribute_name(:email),
|
|
User.human_attribute_name(:phone),
|
|
User.human_attribute_name(:last_login),
|
|
User.human_attribute_name(:last_activity),
|
|
User.human_attribute_name(:iban),
|
|
User.human_attribute_name(:ordergroup)
|
|
]
|
|
row + User.custom_fields.pluck(:label)
|
|
end
|
|
|
|
def data
|
|
@object.each do |o|
|
|
row = [
|
|
o.id,
|
|
o.name,
|
|
o.nick,
|
|
o.first_name,
|
|
o.last_name,
|
|
o.email,
|
|
o.phone,
|
|
o.last_login,
|
|
o.last_activity,
|
|
o.iban,
|
|
o.ordergroup&.name
|
|
]
|
|
yield row + User.custom_fields.map { |f| o.settings.custom_fields[f[:name]] }
|
|
end
|
|
end
|
|
end
|