7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# 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.generate_order_number
success = success && new_order.save(validate: false)
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(edit_admin_order_path(past_order.number))
end
end
|