Class: Forge::SalesController

Inherits:
ForgeController show all
Defined in:
lib/forge/app/controllers/forge/sales_controller.rb

Instance Method Summary collapse

Methods inherited from ForgeController

#get_menu_items, #load_help, #set_crumbs, #set_title, #uses_ckeditor

Methods inherited from ApplicationController

#app_init

Instance Method Details

#createObject



29
30
31
32
33
34
35
36
37
# File 'lib/forge/app/controllers/forge/sales_controller.rb', line 29

def create
  @sale = Sale.new(params[:sale])
  if @sale.save
    flash[:notice] = 'Sale was successfully created.'
    redirect_to(forge_sales_path)
  else
    render :action => "new"
  end
end

#destroyObject



50
51
52
53
# File 'lib/forge/app/controllers/forge/sales_controller.rb', line 50

def destroy
  @sale.destroy
  redirect_to(forge_sales_path)
end

#editObject



24
25
26
27
# File 'lib/forge/app/controllers/forge/sales_controller.rb', line 24

def edit
  params[:q] ||= ''
  @products = Product.where("title LIKE :q OR description LIKE :q", {:q => "%#{params[:q].downcase}%"})
end

#indexObject



7
8
9
10
11
12
13
14
15
16
# File 'lib/forge/app/controllers/forge/sales_controller.rb', line 7

def index
  respond_to do |format|
    format.html { @sales = Sale.paginate(:per_page => 10, :page => params[:page]) }
    format.js {
      params[:q] ||= ''
      @sales = Sale.where("LOWER(title) LIKE ?", "%#{params[:q].downcase}%")
      render :partial => "sale", :collection => @sales
    }
  end
end

#newObject



18
19
20
21
22
# File 'lib/forge/app/controllers/forge/sales_controller.rb', line 18

def new
  @sale = Sale.new
  params[:q] ||= ''
  @products = Product.where("title LIKE :q OR description LIKE :q", {:q => "%#{params[:q].downcase}%"})
end

#productsObject



55
56
57
58
59
60
61
62
63
64
65
# File 'lib/forge/app/controllers/forge/sales_controller.rb', line 55

def products
  respond_to do |format|
    format.html { @products = Product.all }
    format.js  {
      params[:q] ||= ''
      @products = Product.where("LOWER(title) LIKE :q OR LOWER(description) LIKE :q", {:q => "%#{params[:q].downcase}%"})
      render :partial => "products"
    }
  end

end

#updateObject



39
40
41
42
43
44
45
46
47
48
# File 'lib/forge/app/controllers/forge/sales_controller.rb', line 39

def update
  params[:sale][:product_ids] = params[:sale][:product_ids].split(',')

  if @sale.update_attributes(params[:sale])
    flash[:notice] = 'Sale was successfully updated.'
    redirect_to(forge_sales_path)
  else
    render :action => "edit"
  end
end