Module: Spree::SpreeRepeatedOrder::ControllerHelpers::RepeatedOrder

Included in:
Admin::RepeatedOrdersController, RepeatedOrdersController
Defined in:
lib/spree/spree_repeated_order/controller_helpers/repeated_order.rb

Instance Method Summary collapse

Instance Method Details

#duplicate_order(past_order, new_order) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/spree/spree_repeated_order/controller_helpers/repeated_order.rb', line 6

def duplicate_order(past_order, new_order)
  new_line_items = []
  past_order.line_items.each do |line_item|
    if (line_item.product && line_item.product.available? && !line_item.product.deleted?)
      new_line_item = line_item.dup
      new_line_item.reload_price
      new_line_items << new_line_item
    end
  end

  new_order.line_items = new_line_items
  new_order.update_totals
  new_order.persist_totals if new_order.id
end