Class: Spree::Admin::RepeatedOrdersController

Inherits:
BaseController
  • Object
show all
Includes:
SpreeRepeatedOrder::ControllerHelpers::RepeatedOrder
Defined in:
app/controllers/spree/admin/repeated_orders_controller.rb

Instance Method Summary collapse

Methods included from SpreeRepeatedOrder::ControllerHelpers::RepeatedOrder

#duplicate_order

Instance Method Details

#createObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'app/controllers/spree/admin/repeated_orders_controller.rb', line 7

def create
  past_order = Spree::Order.find_by(number: params[:number])
  new_order = Spree::Order.new

  duplicate_order(past_order, new_order)
  duplicate_address(past_order, new_order)

  success = true
  success = success && !past_order.completed_at.blank?
  success = success && new_order.save
  success = success && merge_with_current_order(new_order)

  if success
    flash[:success] = "The order has been duplicated. The new order id is #{new_order.number}"
    redirect_to(admin_orders_path)
  else
    flash[:error] = 'Oops.. something went wrong and the order could not be duplicated'
    redirect_to(admin_order_path(past_order.number))
  end

end