Decoupled carts and orders
[depot.git] / app / controllers / store_controller.rb
index de9e160be607cd54c7522ee77ad512f3ffa2640c..68939e6b09f31a82539e7ae7335eb80ce4466919 100644 (file)
@@ -28,6 +28,7 @@ class StoreController < ApplicationController
       redirect_to_index("Your cart is empty" )
     else
       @order = Order.new
+      @during_checkout = true
       respond_to do |format|
         format.js if request.xhr?
         format.html
@@ -38,13 +39,21 @@ class StoreController < ApplicationController
   def save_order
     @cart = find_cart
     @order = Order.new(params[:order])
-    @order.add_line_items_from_cart(@cart)
+    # @order.add_line_items_from_cart(@cart)
+    @cart.items.each do |item|
+      li = LineItem.new
+      li.product      = item.product
+      li.quantity     = item.quantity
+      li.total_price  = item.price
+      @order.line_items << li
+    end
     if @order.save
       session[:cart] = nil
       redirect_to_index("Thank you for your order")
     else
       render :action => 'checkout'
     end
+    @during_checkout = false
   end