tap/app/controllers/products_controller.rb

63 lines
1.2 KiB
Ruby
Raw Normal View History

2014-11-24 21:45:32 +01:00
class ProductsController < ApplicationController
2014-12-17 07:31:51 +01:00
load_and_authorize_resource
2015-03-28 14:36:07 +01:00
respond_to :html, :js
2014-11-24 21:45:32 +01:00
def new
@product = Product.new
end
def create
2014-11-25 13:41:22 +01:00
@product = Product.new(product_params)
2014-11-24 21:45:32 +01:00
if @product.save
redirect_to products_path
2014-11-24 21:45:32 +01:00
else
render 'new'
2014-11-24 21:45:32 +01:00
end
end
2014-11-25 13:09:55 +01:00
def index
@products = Product.all
2014-12-10 22:06:36 +01:00
@categories = Product.categories
2015-03-28 14:36:07 +01:00
if current_user.admin?
render 'products_list/listview'
end
2014-11-25 13:09:55 +01:00
end
2014-11-24 21:45:32 +01:00
def edit
2014-11-25 13:09:55 +01:00
@product = Product.find(params[:id])
2015-04-03 23:56:13 +02:00
respond_with @product
2014-11-24 21:45:32 +01:00
end
2014-11-25 13:41:22 +01:00
def update
@product = Product.find(params[:id])
2015-03-28 14:36:07 +01:00
@product.update_attributes product_params
respond_with @product
2014-11-25 13:41:22 +01:00
end
2014-11-26 11:58:51 +01:00
def destroy
Product.find(params[:id]).destroy
2014-12-09 14:42:50 +01:00
flash[:success] = "Succesfully removed product"
redirect_to products_path
2014-11-24 21:45:32 +01:00
end
2015-02-08 10:11:23 +01:00
def stock
@products = Product.all
end
def update_stock
@products = Product.all
@products.each do |product|
stock_inc = params[:products][product.id.to_s][:stock_inc].to_i
product.increment!(:stock, stock_inc) if stock_inc > 0
end
redirect_to products_path
end
2014-11-24 21:45:32 +01:00
private
2014-11-25 13:41:22 +01:00
def product_params
params.require(:product).permit(:name, :price, :avatar, :category, :stock)
2014-11-24 21:45:32 +01:00
end
end