Class: OrdersController
Instance Method Summary
collapse
#clean_search, #require_admin
#error
#best_euros, #current_basket, #current_basket_or_nil, #current_clerk, #date, #euros, #has_ssl?, #markdown, #new_basket, #paginate, #shipping_method
Instance Method Details
#cancel ⇒ Object
after many user mistakes we now let the user undo those, cancel to go back to edit
50
51
52
53
|
# File 'app/controllers/orders_controller.rb', line 50
def cancel
@order.cancel!
return redirect_to order_path(@order), :notice => t(:update_success)
end
|
#destroy ⇒ Object
76
77
78
79
80
81
82
83
84
|
# File 'app/controllers/orders_controller.rb', line 76
def destroy
if @order.basket.locked?
flash.notice = t(:basket_locked)
else
@order.destroy
flash.notice = t(:order) + " " + t(:deleted)
end
redirect_to orders_url
end
|
#edit ⇒ Object
60
61
|
# File 'app/controllers/orders_controller.rb', line 60
def edit
end
|
#index ⇒ Object
7
8
9
10
11
|
# File 'app/controllers/orders_controller.rb', line 7
def index
@q = Order.search(params[:q])
@order_scope = @q.result( :distinct => true).includes(:basket => :items )
@orders = @order_scope.paginate(:page => params[:page],:per_page => 20)
end
|
#mail ⇒ Object
29
30
31
32
33
34
35
|
# File 'app/controllers/orders_controller.rb', line 29
def mail
action = params[:act]
mail = eval("OrderMailer.#{action}(@order)")
mail.deliver
flash.notice = "Sent #{action}"
redirect_to order_path(@order)
end
|
#new ⇒ Object
17
18
19
20
21
22
23
24
25
26
27
|
# File 'app/controllers/orders_controller.rb', line 17
def new
basket = Basket.create!
@order = Order.new :email => current_clerk.email , :basket => basket , :ordered_on => Date.today
if( copy = params[:address])
order = Order.find copy
@order.email = order.email
@order.address = order.address
end
@order.save!
redirect_to edit_basket_path basket
end
|
#pay ⇒ Object
36
37
38
39
40
|
# File 'app/controllers/orders_controller.rb', line 36
def pay
@order.pay_now
@order.save
return redirect_to orders_path , :notice => t(:update_success) + ":#{@order.number}"
end
|
#ship ⇒ Object
42
43
44
45
46
47
|
# File 'app/controllers/orders_controller.rb', line 42
def ship
@order.ship_now
@order.basket.deduct!
@order.save!
return redirect_to order_path(@order), :notice => t(:update_success)
end
|
#shipment ⇒ Object
55
56
57
58
|
# File 'app/controllers/orders_controller.rb', line 55
def shipment
return if request.get?
return redirect_to order_path(@order), :notice => t(:update_success) if @order.update_attributes(params_for_order)
end
|
#show ⇒ Object
13
14
15
|
# File 'app/controllers/orders_controller.rb', line 13
def show
gon.order_id = @order.id
end
|
#update ⇒ Object
63
64
65
66
67
68
69
70
71
72
73
74
|
# File 'app/controllers/orders_controller.rb', line 63
def update
@order.build_basket unless @order.basket
respond_to do |format|
if @order.update_attributes(params_for_order)
format.html { redirect_to(@order, :notice => t(:update_success, :model => :order)) }
format.json { respond_with_bip(@order) }
else
format.html { render :action => :edit }
format.json { respond_with_bip(@order) }
end
end
end
|