Class: Caboose::MyAccountOrdersController

Inherits:
ApplicationController show all
Defined in:
app/controllers/caboose/my_account_orders_controller.rb

Instance Method Summary collapse

Methods inherited from ApplicationController

#admin_add, #admin_bulk_add, #admin_bulk_delete, #admin_bulk_update, #admin_delete, #admin_edit, #admin_index, #admin_json, #admin_json_single, #admin_update, #before_action, #before_before_action, #hashify_query_string, #init_cart, #logged_in?, #logged_in_user, #login_user, #logout_user, #parse_url_params, #reject_param, #user_is_allowed, #user_is_allowed_to, #validate_cookie, #validate_token, #var, #verify_logged_in

Instance Method Details

#editObject

GET /my-account/orders/:id



22
23
24
25
26
27
28
29
30
31
# File 'app/controllers/caboose/my_account_orders_controller.rb', line 22

def edit
  return if !logged_in?
  
  @order = Order.find(params[:id])
  if @order.customer_id != logged_in_user.id
    @error = "The given order does not belong to you."
    render :file => 'caboose/extras/error'
    return
  end      
end

#indexObject

GET /my-account/orders



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'app/controllers/caboose/my_account_orders_controller.rb', line 5

def index
  return if !logged_in?
  
  @pager = Caboose::PageBarGenerator.new(params, {
    'customer_id'          => logged_in_user.id,         
    'status'               => [Order::STATUS_PENDING, Order::STATUS_CANCELED, Order::STATUS_SHIPPED]
  }, {
    'model'          => 'Caboose::Order',
    'sort'           => 'order_number',
    'desc'           => 1,
    'base_url'       => '/my-account/orders',
    'use_url_params' => false
  })      
  @orders = @pager.all_items
end

#my_accountObject

GET /my-account



33
34
35
36
37
# File 'app/controllers/caboose/my_account_orders_controller.rb', line 33

def 
  return if !logged_in?
  @user = logged_in_user
  render :layout => 'caboose/modal'
end

#update_my_accountObject

PUT /my-account



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'app/controllers/caboose/my_account_orders_controller.rb', line 40

def   
  return if !logged_in?
  
  resp = StdClass.new     
  user = logged_in_user

  save = true
  params.each do |name,value|
    case name
	  	when "first_name", "last_name", "username", "email", "phone"
	  	  user[name.to_sym] = value
	  	when "password"			  
	  	  confirm = params[:confirm]
	  		if (value != confirm)			
	  		  resp.error = "Passwords do not match.";
	  		  save = false
	  		elsif (value.length < 8)
	  		  resp.error = "Passwords must be at least 8 characters.";
	  		  save = false
	  		else
	  		  user.password = Digest::SHA1.hexdigest(Caboose::salt + value)
	  		end    	  	    		  
	  end
	end
	
	resp.success = save && user.save
	render json: resp
end