Sha256: f723d5b57d111d6caa23f83eb6061d3f18806dacd17fbecfe900827ed6b8b623

Contents?: true

Size: 1.98 KB

Versions: 3

Compression:

Stored size: 1.98 KB

Contents

module Caboose
  class MyAccountOrdersController < Caboose::ApplicationController
            
    # GET /my-account/orders
    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_READY_TO_SHIP, 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
      
    # GET /my-account/orders/:id
    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
     # GET /my-account
    def my_account
      return if !logged_in?
      @user = logged_in_user
      render :layout => 'caboose/modal'
    end
    
    # PUT /my-account
    def update_my_account  
      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        
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
caboose-cms-0.5.162 app/controllers/caboose/my_account_orders_controller.rb
caboose-cms-0.5.161 app/controllers/caboose/my_account_orders_controller.rb
caboose-cms-0.5.160 app/controllers/caboose/my_account_orders_controller.rb