Add CSV download for ordergroups

This commit is contained in:
Patrick Gansterer 2018-12-21 01:12:43 +01:00
parent 389f205a6b
commit 71fd6f2a24
4 changed files with 56 additions and 2 deletions

41
lib/ordergroups_csv.rb Normal file
View file

@ -0,0 +1,41 @@
class OrdergroupsCsv < RenderCSV
include ApplicationHelper
def header
row = [
Ordergroup.human_attribute_name(:id),
Ordergroup.human_attribute_name(:name),
Ordergroup.human_attribute_name(:description),
Ordergroup.human_attribute_name(:account_balance),
Ordergroup.human_attribute_name(:created_on),
Ordergroup.human_attribute_name(:contact_person),
Ordergroup.human_attribute_name(:contact_phone),
Ordergroup.human_attribute_name(:contact_address),
Ordergroup.human_attribute_name(:break_start),
Ordergroup.human_attribute_name(:break_end),
Ordergroup.human_attribute_name(:last_user_activity),
Ordergroup.human_attribute_name(:last_order),
]
row + Ordergroup.custom_fields.map { |f| f[:label] }
end
def data
@object.each do |o|
row = [
o.id,
o.name,
o.description,
o.account_balance,
o.created_on,
o.contact_person,
o.contact_phone,
o.contact_address,
o.break_start,
o.break_end,
o.last_user_activity,
o.last_order.try(:starts),
]
yield row + Ordergroup.custom_fields.map { |f| o.settings.custom_fields[f[:name]] }
end
end
end