foodsoft/app/lib/order_csv.rb

30 lines
857 B
Ruby
Raw Permalink Normal View History

2014-03-06 16:26:16 +01:00
require 'csv'
2023-01-06 16:55:40 +01:00
class OrderCsv < RenderCsv
def header
[
OrderArticle.human_attribute_name(:units_to_order),
Article.human_attribute_name(:order_number),
Article.human_attribute_name(:name),
Article.human_attribute_name(:unit),
Article.human_attribute_name(:unit_quantity_short),
ArticlePrice.human_attribute_name(:price),
OrderArticle.human_attribute_name(:total_price)
]
2014-03-06 16:26:16 +01:00
end
def data
@object.order_articles.ordered.includes(%i[article article_price]).all.map do |oa|
yield [
oa.units_to_order,
oa.article.order_number,
oa.article.name,
oa.article.unit,
oa.price.unit_quantity > 1 ? oa.price.unit_quantity : nil,
number_to_currency(oa.price.price * oa.price.unit_quantity),
number_to_currency(oa.total_price)
]
2014-03-06 16:26:16 +01:00
end
end
end