- my $invoice = $delivery_order->convert_to_invoice() || die $db->error;
- push @invoices, $invoice;
+ # Only process open delivery orders. In this list should only be open
+ # delivery orders, but if the user clicked browser back, a new creation
+ # of invoices for delivery orders which are closed now can be triggered.
+ # Prevent this.
+ if ($delivery_order->closed) {
+ push @already_closed_delivery_orders, $delivery_order;
+
+ } else {
+ my $invoice = $delivery_order->convert_to_invoice() || die $db->error;
+ push @invoices, $invoice;
+ }