wip multi orders

This commit is contained in:
viehlieb 2025-05-08 11:59:35 +02:00
parent fd769509af
commit f676497e43
29 changed files with 939 additions and 107 deletions

View file

@ -1,4 +1,5 @@
class GroupOrderInvoice < ApplicationRecord
include InvoiceHelper
belongs_to :group_order
validates_presence_of :group_order
@ -13,19 +14,10 @@ class GroupOrderInvoice < ApplicationRecord
FNAL: "Letztmalige Lastschrift"
}
def generate_invoice_number(count)
trailing_number = count.to_s.rjust(4, '0')
if GroupOrderInvoice.find_by(invoice_number: self.invoice_date.strftime("%Y%m%d") + trailing_number)
generate_invoice_number(count.to_i + 1)
else
self.invoice_date.strftime("%Y%m%d") + trailing_number
end
end
def tax_number_set
if FoodsoftConfig[:contact][:tax_number].blank?
errors.add(:group_order_invoice, "Keine Steuernummer in FoodsoftConfig :contact gesetzt")
end
return unless FoodsoftConfig[:contact][:tax_number].blank?
errors.add(:group_order_invoice, "Keine Steuernummer in FoodsoftConfig :contact gesetzt")
end
def mark_sepa_downloaded
@ -40,7 +32,7 @@ class GroupOrderInvoice < ApplicationRecord
def init
self.invoice_date = Time.now unless invoice_date
self.invoice_number = generate_invoice_number(1) unless self.invoice_number
self.invoice_number = generate_invoice_number(self, 1) unless self.invoice_number
self.payment_method = group_order&.financial_transaction&.financial_transaction_type&.name || FoodsoftConfig[:group_order_invoices]&.[](:payment_method) || I18n.t('activerecord.attributes.group_order_invoice.payment_method') unless self.payment_method
end
@ -54,7 +46,7 @@ class GroupOrderInvoice < ApplicationRecord
invoice_data[:pickup] = order.pickup
invoice_data[:supplier] = order.supplier&.name
invoice_data[:ordergroup] = group_order.ordergroup
invoice_data[:group_order] = group_order
invoice_data[:group_order_ids] = [group_order.id]
invoice_data[:invoice_number] = invoice_number
invoice_data[:invoice_date] = invoice_date
invoice_data[:tax_number] = FoodsoftConfig[:contact][:tax_number]