Created
August 19, 2009 07:07
-
-
Save charly/170216 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#route.rb | |
map.resources "orders", order_hash do |order| | |
order.resource "invoice" | |
order.resource "payment", :new => {"express" => :get} | |
end | |
#map.resoures "payments" # not in use anymore ! | |
#payments_controller.rb | |
before_filter :require_order | |
def show | |
@payment = @order.payment | |
end | |
#order_module.rb | |
module OrderModule #included in application_controller | |
def require_order | |
unless find_and_set_current_order | |
flash[:notice]= "INVALID URL : the order you were trying to reach doesn't belong to your account" | |
redirect_to "/account" | |
return false | |
end | |
end | |
def find_order | |
@order = current_user.orders.find_by_id(params[:order_id] || params[:id]) | |
end | |
def set_current_order | |
@order && ( self.current_order==@order || self.current_cart= (self.current_order= @order).assets ) | |
end | |
def find_and_set_current_order | |
find_order && set_current_order | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment