Skip to content

Module::DelegationError (Spree::Order#invoice_number delegated to invoice.number, but invoice is nil #155

Open
@ewenjc

Description

@ewenjc

Hi
I'm getting the following error each time I attempt to add an item to the cart; "Module::DelegationError (Spree::Order#invoice_number delegated to invoice.number, but invoice is nil", while running `ensure_cart'.

I have a clean install of spree 4.1. However I've imported order data from a spree 2.4 implementation, so possibly that is causing the issue. Within order I still have the invoice_number and invoice_date.

EDIT:
Error message solved
The error was caused by still having the invoice_number field on orders. I renamed the columns invoice_number and invoice date and the error went away.

Data migration still a problem
I tried to migrate the invoice numbers from the old 2.4 setup into the new spree 4.1 setup. I added the following migration;

`class RenameInvoiceNumberOnOrder < ActiveRecord::Migration[6.0]
def change
up_only {
Spree::Order.complete.where.not(invoice_number: nil).find_each do |order|
order.bookkeeping_documents.delete_all
order.invoice_for_order
order.invoice.update(number: order.invoice_number, created_at: order.completed_at.to_date)
order.packaging_slip.update(number: order.invoice_number, created_at: order.completed_at.to_date)
end
}
rename_column :spree_orders, :invoice_number, :old_invoice_number
rename_column :spree_orders, :invoice_date, :old_invoice_date
end

end
`

It recreated the invoices but the invoice numbers didn't set as the old numbers. The order numbers didn't set to the old number but a number a few thousand higher. Possibly it is taking the next invoice number and adding the old number to it?
Also attempting to set the number on the packaging_slip to the old invoice number had no effect and it kept the packaging slip number as the order number.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions