Files
sx-fc/app/controllers/settings/out_of_stock_controller.rb
2019-12-13 10:07:20 +06:30

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