65 lines
2.3 KiB
Ruby
65 lines
2.3 KiB
Ruby
class Settings::OutOfStockController < ApplicationController
|
|
def index
|
|
@menu_items = MenuItem.joins(:menu_item_instances).where(menu_item_instances: {is_out_of_stock: true}).select('menu_item_instances.id, menu_item_instances.item_instance_code, menu_items.name, menu_item_instances.is_out_of_stock')
|
|
end
|
|
|
|
def show
|
|
end
|
|
|
|
def new
|
|
@menus = Menu.where("shop_code='#{@shop.shop_code}'").order('created_at asc')
|
|
@menu = MenuCategory.active.where("menu_id =#{@menus[0].id}").order('order_by asc')
|
|
end
|
|
|
|
def update
|
|
items_arr = []
|
|
JSON.parse(params[:item_instance_code]).each { |i|
|
|
i["item_instance_code"] = i["item_instance_code"].downcase.to_s
|
|
items = i["item_instance_code"]
|
|
items_arr.push(items)
|
|
}
|
|
|
|
item_instance = MenuItemInstance.where(item_instance_code: [items_arr])
|
|
date = DateTime.now
|
|
|
|
unless item_instance.nil?
|
|
item_instance.each do |i|
|
|
if i.is_out_of_stock.nil?
|
|
item_instance.update(is_out_of_stock: true)
|
|
OutOfStock.create_out_of_stock(date,params[:item_code])
|
|
elsif i.is_out_of_stock?
|
|
item_instance.update(is_out_of_stock: false)
|
|
elsif !i.is_out_of_stock?
|
|
item_instance.update(is_out_of_stock: true)
|
|
OutOfStock.create_out_of_stock(date,params[:item_code])
|
|
end
|
|
end
|
|
end
|
|
|
|
result = {:status=> true, :message => "Out of Stock was created successfully",:data=> item_instance}
|
|
render :json => result.to_json
|
|
end
|
|
|
|
def destroy
|
|
item_instance = MenuItemInstance.find_by_id(params[:id])
|
|
unless item_instance.nil?
|
|
item_instance.update(is_out_of_stock: false)
|
|
flash[:message] = 'Out of stock was successfully destroyed.'
|
|
render :json => {:status=> "Success", :url => settings_out_of_stock_index_url }.to_json
|
|
end
|
|
end
|
|
|
|
def reset_all
|
|
item_instance = MenuItemInstance.where(is_out_of_stock: true)
|
|
item_instance.update(is_out_of_stock: false)
|
|
flash[:message] = 'Out of stock was successfully destroyed.'
|
|
render :json => {:status=> "Success", :url => settings_out_of_stock_index_url }.to_json
|
|
end
|
|
|
|
private
|
|
# Use callbacks to share common setup or constraints between actions.
|
|
def set_menu_item_instance
|
|
@item_instance = MenuItemInstance.find_by_item_instance_code(params[:item_code])
|
|
end
|
|
end
|