projects
/
depot.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Finished chapter 11
[depot.git]
/
app
/
controllers
/
store_controller.rb
diff --git
a/app/controllers/store_controller.rb
b/app/controllers/store_controller.rb
index 68939e6b09f31a82539e7ae7335eb80ce4466919..4c13d34155c6624dbf1efbd0f0c465de7860986e 100644
(file)
--- a/
app/controllers/store_controller.rb
+++ b/
app/controllers/store_controller.rb
@@
-1,12
+1,14
@@
class StoreController < ApplicationController
class StoreController < ApplicationController
+ before_filter :find_cart, :except => :empty_cart
+
def index
@products = Product.find_products_for_sale
def index
@products = Product.find_products_for_sale
- @cart = find_cart
+
#
@cart = find_cart
end
def add_to_cart
product = Product.find(params[:id])
end
def add_to_cart
product = Product.find(params[:id])
- @cart = find_cart
+
#
@cart = find_cart
@current_item = @cart.add_product(product)
respond_to do |format|
format.js if request.xhr?
@current_item = @cart.add_product(product)
respond_to do |format|
format.js if request.xhr?
@@
-23,7
+25,7
@@
class StoreController < ApplicationController
end
def checkout
end
def checkout
- @cart = find_cart
+
#
@cart = find_cart
if @cart.items.empty?
redirect_to_index("Your cart is empty" )
else
if @cart.items.empty?
redirect_to_index("Your cart is empty" )
else
@@
-37,7
+39,7
@@
class StoreController < ApplicationController
end
def save_order
end
def save_order
- @cart = find_cart
+
#
@cart = find_cart
@order = Order.new(params[:order])
# @order.add_line_items_from_cart(@cart)
@cart.items.each do |item|
@order = Order.new(params[:order])
# @order.add_line_items_from_cart(@cart)
@cart.items.each do |item|
@@
-57,10
+59,16
@@
class StoreController < ApplicationController
end
end
+protected
+
+ # No authorization needed for the store
+ def authorize
+ end
+
private
def find_cart
private
def find_cart
- session[:cart] ||= Cart.new
+ @cart = (session[:cart] ||= Cart.new)
end
def redirect_to_index(msg = nil)
end
def redirect_to_index(msg = nil)