foodsoft/app/documents/order_by_groups.rb
Philipp Rothmann fb2b4d8a8a chore: rubocop
chore: fix api test conventions

chore: rubocop -A spec/

chore: more rubocop -A

fix failing test

rubocop fixes

removes helper methods that are in my opinion dead code

more rubocop fixes

rubocop -a --auto-gen-config
2023-06-09 17:35:05 +02:00

66 lines
2.4 KiB
Ruby

class OrderByGroups < OrderPdf
def filename
I18n.t('documents.order_by_groups.filename', name: order.name, date: order.ends.to_date) + '.pdf'
end
def title
I18n.t('documents.order_by_groups.title', name: order.name,
date: order.ends.strftime(I18n.t('date.formats.default')))
end
def body
each_ordergroup do |oa_name, oa_total, oa_id, oa_transport|
has_transport = !oa_transport.nil? && oa_transport > 0
dimrows = []
rows = [[
OrderArticle.human_attribute_name(:article),
Article.human_attribute_name(:supplier),
GroupOrderArticle.human_attribute_name(:ordered),
GroupOrderArticle.human_attribute_name(:received),
GroupOrderArticle.human_attribute_name(:unit_price),
GroupOrderArticle.human_attribute_name(:total_price)
]]
each_group_order_article_for_ordergroup(oa_id) do |goa|
dimrows << rows.length if goa.result == 0
rows << [goa.order_article.article.name,
goa.group_order.order.name,
group_order_article_quantity_with_tolerance(goa),
group_order_article_result(goa),
order_article_price_per_unit(goa.order_article),
number_to_currency(goa.total_price)]
end
next unless rows.length > 1
rows << [nil, nil, nil, nil, nil, number_to_currency(oa_total)]
if has_transport
rows << [GroupOrder.human_attribute_name(:transport), nil, nil, nil, nil, number_to_currency(oa_transport)]
rows << [nil, nil, nil, nil, nil, number_to_currency(oa_total + oa_transport)]
end
rows.each { |row| row.delete_at 1 } unless @options[:show_supplier]
nice_table oa_name || stock_ordergroup_name, rows, dimrows do |table|
if has_transport
table.row(-4).border_width = 1
table.row(-4).border_color = '666666'
end
table.row(-2).border_width = 1
table.row(-2).border_color = '666666'
table.row(-1).borders = []
if @options[:show_supplier]
table.column(0).width = bounds.width / 3
table.column(1).width = bounds.width / 4
else
table.column(0).width = bounds.width / 2
end
table.columns(-4..-1).align = :right
table.column(-3).font_style = :bold
table.column(-1).font_style = :bold
end
end
end
end