Class: Shoppe::ProductsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/shoppe/products_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject


15
16
17
18
19
20
21
22
# File 'app/controllers/shoppe/products_controller.rb', line 15

def create
  @product = Shoppe::Product.new(safe_params)
  if @product.save
    redirect_to :products, :flash => {:notice =>  t('shoppe.products.create_notice') }
  else
    render :action => "new"
  end
end

#destroyObject


35
36
37
38
# File 'app/controllers/shoppe/products_controller.rb', line 35

def destroy
  @product.destroy
  redirect_to :products, :flash => {:notice =>  t('shoppe.products.destroy_notice')}
end

#editObject


24
25
# File 'app/controllers/shoppe/products_controller.rb', line 24

def edit
end

#importObject


40
41
42
43
44
45
46
47
48
49
# File 'app/controllers/shoppe/products_controller.rb', line 40

def import
  if request.post?
    if params[:import].nil?
      redirect_to import_products_path, :flash => {:alert => I18n.t('shoppe.imports.errors.no_file')}
    else
      Shoppe::Product.import(params[:import][:import_file])
      redirect_to products_path, :flash => {:notice => I18n.t("shoppe.products.imports.success")}
    end
  end
end

#indexObject


7
8
9
# File 'app/controllers/shoppe/products_controller.rb', line 7

def index
  @products = Shoppe::Product.root.includes(:translations, :stock_level_adjustments, :product_categories, :variants).order(:name).group_by(&:product_category).sort_by { |cat,pro| cat.name }
end

#newObject


11
12
13
# File 'app/controllers/shoppe/products_controller.rb', line 11

def new
  @product = Shoppe::Product.new
end

#updateObject


27
28
29
30
31
32
33
# File 'app/controllers/shoppe/products_controller.rb', line 27

def update
  if @product.update(safe_params)
    redirect_to [:edit, @product], :flash => {:notice => t('shoppe.products.update_notice') }
  else
    render :action => "edit"
  end
end