Class: OrdersController

Inherits:
ApplicationController
  • Object
show all
Defined in:
app/controllers/orders_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



17
18
19
20
21
22
23
24
25
# File 'app/controllers/orders_controller.rb', line 17

def create
  @order = Order.new(params[:order])
  if @order.save
    flash[:notice] = "Successfully created order."
    redirect_to @order
  else
    render :action => 'new'
  end
end

#destroyObject



41
42
43
44
45
46
# File 'app/controllers/orders_controller.rb', line 41

def destroy
  @order = Order.find(params[:id])
  @order.destroy
  flash[:notice] = "Successfully destroyed order."
  redirect_to orders_url
end

#editObject



27
28
29
# File 'app/controllers/orders_controller.rb', line 27

def edit
  @order = Order.find(params[:id])
end

#indexObject



3
4
5
6
7
# File 'app/controllers/orders_controller.rb', line 3

def index
  search_params = {:page => params[:page], :order => 'state DESC', :conditions => ["state != 'open'"]}
  search_params.merge!(:conditions => {:state => params[:state]}) if params[:state]
  @orders = Order.paginate(search_params)
end

#newObject



13
14
15
# File 'app/controllers/orders_controller.rb', line 13

def new
  @order = Order.new
end

#paypalObject



48
49
50
51
52
53
54
55
56
57
58
# File 'app/controllers/orders_controller.rb', line 48

def paypal
  @order = Order.find(params[:id])
  @order.email = params[:email]
  if @order.save
    @order.ordered!
    redirect_to @order.paypal_url(products_url, notify_url(:secret => APP_CONFIG[:paypal_secret]))
  else
    flash[:error] = 'Please provide a valid email address'
    render :show
  end
end

#shipObject



60
61
62
63
# File 'app/controllers/orders_controller.rb', line 60

def ship
  @order = Order.find(params[:id])
  @order.shipped!
end

#showObject



9
10
11
# File 'app/controllers/orders_controller.rb', line 9

def show
  @order = Order.find(params[:id])
end

#updateObject



31
32
33
34
35
36
37
38
39
# File 'app/controllers/orders_controller.rb', line 31

def update
  @order = Order.find(params[:id])
  if @order.update_attributes(params[:order])
    flash[:notice] = "Successfully updated order."
    redirect_to @order
  else
    render :action => 'edit'
  end
end