merge automatic group order invoice generation
see https://github.com/foodcoops/foodsoft/pull/907 for reference and original work by viehlieb Co-authored-by: viehlieb <pf@pragma-shift.net> fix PDF Pdf make explicit deposit in invoices work add ordergroupname to invoice file name mark bold sum for vat exempt foodcoops download multiple group order invoice as zip
This commit is contained in:
parent
6abf998b56
commit
93143c28f2
37 changed files with 988 additions and 69 deletions
|
|
@ -207,7 +207,7 @@ class Order < ApplicationRecord
|
|||
# :fc, guess what...
|
||||
def sum(type = :gross)
|
||||
total = 0
|
||||
if %i[net gross fc].include?(type)
|
||||
if %i[net gross gross_deposit fc_deposit deposit fc].include?(type)
|
||||
for oa in order_articles.ordered.includes(:article, :article_price)
|
||||
quantity = oa.units * oa.price.unit_quantity
|
||||
case type
|
||||
|
|
@ -217,6 +217,12 @@ class Order < ApplicationRecord
|
|||
total += quantity * oa.price.gross_price
|
||||
when :fc
|
||||
total += quantity * oa.price.fc_price
|
||||
when :gross_deposit
|
||||
total += quantity * oa.price.gross_deposit_price
|
||||
when :fc_deposit
|
||||
total += quantity * oa.price.fc_deposit_price
|
||||
when :deposit
|
||||
total += quantity * oa.price.deposit
|
||||
end
|
||||
end
|
||||
elsif %i[groups groups_without_markup].include?(type)
|
||||
|
|
@ -224,7 +230,11 @@ class Order < ApplicationRecord
|
|||
for goa in go.group_order_articles
|
||||
case type
|
||||
when :groups
|
||||
total += goa.result * goa.order_article.price.fc_price
|
||||
total += if FoodsoftConfig[:group_order_invoices]&.[](:separate_deposits)
|
||||
goa.result * (goa.order_article.price.fc_price + goa.order_article.price.fc_deposit_price)
|
||||
else
|
||||
goa.result * goa.order_article.price.fc_price
|
||||
end
|
||||
when :groups_without_markup
|
||||
total += goa.result * goa.order_article.price.gross_price
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue