Sha256: 1bb2c9f4539082d725f661387278fe5a159ca36d97d3ae8017b67e0923230f37

Contents?: true

Size: 1.33 KB

Versions: 3

Compression:

Stored size: 1.33 KB

Contents

module KktShoppe
  class CustomersController < KktShoppe::ApplicationController

    before_filter { @active_nav = :customers }  
    before_filter { params[:id] && @customer = KktShoppe::Customer.find(params[:id])}

    def index
      @query = KktShoppe::Customer.ordered.page(params[:page]).search(params[:q])
      @customers = @query.result
    end

    def new
      @customer = KktShoppe::Customer.new
    end

    def show
      @addresses = @customer.addresses.ordered.load
      @orders = @customer.orders.ordered.load
    end

    def create
      @customer = KktShoppe::Customer.new(safe_params)
      if @customer.save
        redirect_to @customer, :flash => {:notice => "Customer has been created successfully"}
      else
        render :action => "new"
      end
    end

    def update
      if @customer.update(safe_params)
        redirect_to @customer, :flash => {:notice => "Customer has been updated successfully"}
      else
        render :action => "edit"
      end
    end

    def destroy
      @customer.destroy
      redirect_to customers_path, :flash => {:notice => "Customer has been deleted successfully"}
    end

    def search
      index
      render :action => "index"
    end

    private
  
    def safe_params
      params[:customer].permit(:first_name, :last_name, :company, :email, :phone, :mobile)
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
kkt_shoppe-1.1.2 app/controllers/kkt_shoppe/customers_controller.rb
kkt_shoppe-1.1.1 app/controllers/kkt_shoppe/customers_controller.rb
kkt_shoppe-1.1.0 app/controllers/kkt_shoppe/customers_controller.rb