End chapter 10
[depot.git] / app / controllers / store_controller.rb
index 3b2e6b8d2284fb79abea10c62d764d4f9ad573ce..de9e160be607cd54c7522ee77ad512f3ffa2640c 100644 (file)
@@ -21,7 +21,33 @@ class StoreController < ApplicationController
     session[:cart] = nil
     redirect_to_index unless request.xhr?
   end
+
+  def checkout
+    @cart = find_cart
+    if @cart.items.empty?
+      redirect_to_index("Your cart is empty" )
+    else
+      @order = Order.new
+      respond_to do |format|
+        format.js if request.xhr?
+        format.html
+      end
+    end
+  end
+
+  def save_order
+    @cart = find_cart
+    @order = Order.new(params[:order])
+    @order.add_line_items_from_cart(@cart)
+    if @order.save
+      session[:cart] = nil
+      redirect_to_index("Thank you for your order")
+    else
+      render :action => 'checkout'
+    end
+  end
   
+
  private
  
   def find_cart