diff --git a/app/controllers/concerns/login_verification.rb b/app/controllers/concerns/login_verification.rb index 78864e34..72d621b3 100755 --- a/app/controllers/concerns/login_verification.rb +++ b/app/controllers/concerns/login_verification.rb @@ -3,7 +3,7 @@ module LoginVerification included do before_action :authenticate_session_token - helper_method :current_company, :current_login_employee, :current_user, :get_cashier, :order_reservation, :bank_integration + helper_method :current_company,:current_shop, :current_login_employee, :current_user, :get_cashier, :order_reservation, :bank_integration end #this is base api base controller to need to inherit. @@ -17,6 +17,14 @@ module LoginVerification end end + def current_shop + begin + return Shop.first + rescue + return nil + end + end + def current_login_employee @employee = Employee.find_by_token_session(session[:session_token]) end diff --git a/app/controllers/inventory/inventory_controller.rb b/app/controllers/inventory/inventory_controller.rb index ed6347cc..d987a59d 100755 --- a/app/controllers/inventory/inventory_controller.rb +++ b/app/controllers/inventory/inventory_controller.rb @@ -1,45 +1,13 @@ class Inventory::InventoryController < BaseInventoryController load_and_authorize_resource def index - least_stock = "SELECT (CASE WHEN stock_journals.remark != 'out of stock' - THEN (SELECT balance FROM stock_journals - WHERE item_code = inventory_definitions.item_code AND remark != 'out of stock' - ORDER BY created_at DESC LIMIT 1) ELSE 0 END) - FROM stock_journals - WHERE stock_journals.item_code = inventory_definitions.item_code - ORDER BY stock_journals.created_at DESC LIMIT 1" - @inventory_definitions = InventoryDefinition.select("inventory_definitions.*, - (CASE WHEN sj.credit IS NULL THEN 0 ELSE sj.credit END) as credit, - (CASE WHEN sj.debit IS NULL THEN 0 ELSE sj.debit END) as debit, - (#{least_stock}) as balance,"+ - "acc.title as account_name,mi.name as item_name, - mii.item_instance_name as instance_name," + - "mc.name as menu_category_name,mc.id as menu_category_id " - ) - .joins(" LEFT JOIN stock_journals sj ON sj.inventory_definition_id=inventory_definitions.id") - .joins("JOIN menu_item_instances mii ON mii.item_instance_code = inventory_definitions.item_code" + - " JOIN menu_items mi ON mi.id = mii.menu_item_id" + - " JOIN menu_categories mc ON mc.id = mi.menu_category_id ") - .joins(" JOIN accounts acc ON acc.id = mi.account_id") - .group("mi.menu_category_id,inventory_definitions.item_code") - .order("acc.title desc,mi.menu_category_id desc,balance ASC") + filter = params[:filter] + + @inventory_definitions = InventoryDefinition.get_by_category(filter) end - -# def self.get_item_query(type) - -# query = Sale.select("acc.title as account_name,mi.name as item_name,mii.item_instance_name as instance_name" + -# "mc.name as menu_category_name,mc.id as menu_category_id ") - -# query = query.joins("JOIN menu_item_instances mii ON mii.item_instance_code = inventory_definitions.item_code" + -# " JOIN menu_items mi ON mi.id = mii.menu_item_id" + -# " JOIN menu_categories mc ON mc.id = mi.menu_category_id ") -# query = query.joins(" JOIN accounts acc ON acc.id = mi.account_id") -# query = query.group("acc.title,mi.account_id,mi.menu_category_id") -# .order("acc.title desc, mi.account_id desc, mi.menu_category_id desc") -# end - + def show inventory_definition_id = params[:inventory_definition_id] inventory = InventoryDefinition.find(inventory_definition_id) diff --git a/app/controllers/inventory/stock_checks_controller.rb b/app/controllers/inventory/stock_checks_controller.rb index 06db5c5f..b7f7369d 100755 --- a/app/controllers/inventory/stock_checks_controller.rb +++ b/app/controllers/inventory/stock_checks_controller.rb @@ -41,7 +41,7 @@ class Inventory::StockChecksController < BaseInventoryController member_info = nil unique_code = 'StockCheckPdf' - shop_details = Shop.find(1) + shop_details = current_shop checker = Employee.find(stockcheck.check_by) print_settings = PrintSetting.find_by_unique_code(unique_code) if !print_settings.nil? @@ -66,7 +66,7 @@ class Inventory::StockChecksController < BaseInventoryController #Shop Name in Navbor helper_method :shop_detail def shop_detail - @shop = Shop.first + @shop = current_shop end # before_action :set_stock_check, only: [:show, :edit, :update, :destroy] diff --git a/app/controllers/origami/void_controller.rb b/app/controllers/origami/void_controller.rb index 1e9acafb..f0c842ae 100755 --- a/app/controllers/origami/void_controller.rb +++ b/app/controllers/origami/void_controller.rb @@ -109,7 +109,7 @@ class Origami::VoidController < BaseOrigamiController customer= Customer.find(sale.customer_id) #shop detail - shop_details = Shop.find(1) + shop_details = current_shop # get member information rebate = MembershipSetting.find_by_rebate(1) if customer.membership_id != nil && rebate diff --git a/app/controllers/origami/waste_spoile_controller.rb b/app/controllers/origami/waste_spoile_controller.rb index 6d2bb094..5090847c 100755 --- a/app/controllers/origami/waste_spoile_controller.rb +++ b/app/controllers/origami/waste_spoile_controller.rb @@ -90,7 +90,7 @@ class Origami::WasteSpoileController < BaseOrigamiController customer= Customer.find(sale.customer_id) #shop detail - shop_details = Shop.find(1) + shop_details = current_shop # get member information rebate = MembershipSetting.find_by_rebate(1) if customer.membership_id != nil && rebate diff --git a/app/controllers/settings/shops_controller.rb b/app/controllers/settings/shops_controller.rb index 38c3336c..598e4f9b 100644 --- a/app/controllers/settings/shops_controller.rb +++ b/app/controllers/settings/shops_controller.rb @@ -59,11 +59,11 @@ class Settings::ShopsController < ApplicationController File.delete(delete_path) end end - save_path = Rails.root.join("public/#{Shop.find(1).shop_code}_#{a.original_filename}") + save_path = Rails.root.join("public/#{current_shop.shop_code}_#{a.original_filename}") File.open(save_path, 'wb') do |f| f.write a.read end - audio_name = "#{Shop.find(1).shop_code}_#{a.original_filename}" + audio_name = "#{current_shop.shop_code}_#{a.original_filename}" @settings_shop.display_images.where(:name => "order_audio").destroy_all @display_image = @settings_shop.display_images.create!(:shop_id => @shop.id, :name => "order_audio", :image => audio_name) else diff --git a/app/models/inventory_definition.rb b/app/models/inventory_definition.rb index 377ac153..13d295a1 100755 --- a/app/models/inventory_definition.rb +++ b/app/models/inventory_definition.rb @@ -72,10 +72,37 @@ class InventoryDefinition < ApplicationRecord " JOIN menu_categories mc ON mc.id = mi.menu_category_id ") .where("mc.id=#{cat_id}") .group("mi.menu_category_id,inventory_definitions.item_code") - .order("mi.menu_category_id desc") + .order("mi.menu_category_id desc") + end - - + def self.get_by_category(filter) + least_stock = "SELECT (CASE WHEN stock_journals.remark != 'out of stock' + THEN (SELECT balance FROM stock_journals + WHERE item_code = inventory_definitions.item_code AND remark != 'out of stock' + ORDER BY created_at DESC LIMIT 1) ELSE 0 END) + FROM stock_journals + WHERE stock_journals.item_code = inventory_definitions.item_code + ORDER BY stock_journals.created_at DESC LIMIT 1" + + @inventory_definitions = InventoryDefinition.select("inventory_definitions.*, + (CASE WHEN sj.credit IS NULL THEN 0 ELSE sj.credit END) as credit, + (CASE WHEN sj.debit IS NULL THEN 0 ELSE sj.debit END) as debit, + (#{least_stock}) as balance,"+ + "acc.title as account_name,mi.name as item_name, + mii.item_instance_name as instance_name," + + "mc.name as menu_category_name,mc.id as menu_category_id " + ) + .joins(" LEFT JOIN stock_journals sj ON sj.inventory_definition_id=inventory_definitions.id") + .joins("JOIN menu_item_instances mii ON mii.item_instance_code = inventory_definitions.item_code" + + " JOIN menu_items mi ON mi.id = mii.menu_item_id" + + " JOIN menu_categories mc ON mc.id = mi.menu_category_id ") + .joins(" JOIN accounts acc ON acc.id = mi.account_id") + .where("inventory_definitions.item_code LIKE ? OR inventory_definitions.min_order_level LIKE ? + OR inventory_definitions.max_stock_level LIKE ? OR sj.balance LIKE ? OR mi.name LIKE ? + OR mii.item_instance_name LIKE ? OR mc.name LIKE ?","%#{filter}%","%#{filter}%","%#{filter}%", + "%#{filter}%","%#{filter}%","%#{filter}%","%#{filter}%") + .group("mi.menu_category_id,inventory_definitions.item_code") + .order("acc.title desc,mi.menu_category_id desc,balance ASC") end end diff --git a/app/uploaders/commissioner_image_uploader.rb b/app/uploaders/commissioner_image_uploader.rb index 8baa6dac..a6389405 100644 --- a/app/uploaders/commissioner_image_uploader.rb +++ b/app/uploaders/commissioner_image_uploader.rb @@ -20,10 +20,10 @@ class CommissionerImageUploader < CarrierWave::Uploader::Base end def filename - if Shop.find(1).shop_code.nil? + if current_shop.shop_code.nil? "#{original_filename}" if original_filename.present? else - "#{Shop.find(1).shop_code}_#{original_filename}" if original_filename.present? + "#{current_shop.shop_code}_#{original_filename}" if original_filename.present? end end diff --git a/app/uploaders/customer_image_uploader.rb b/app/uploaders/customer_image_uploader.rb index 3c4c6f67..13a384f0 100644 --- a/app/uploaders/customer_image_uploader.rb +++ b/app/uploaders/customer_image_uploader.rb @@ -20,10 +20,10 @@ class CustomerImageUploader < CarrierWave::Uploader::Base end def filename - if Shop.find(1).shop_code.nil? + if current_shop.shop_code.nil? "#{original_filename}" if original_filename.present? else - "#{Shop.find(1).shop_code}_#{original_filename}" if original_filename.present? + "#{current_shop.shop_code}_#{original_filename}" if original_filename.present? end end diff --git a/app/uploaders/employee_image_uploader.rb b/app/uploaders/employee_image_uploader.rb index f1e32849..e176d660 100644 --- a/app/uploaders/employee_image_uploader.rb +++ b/app/uploaders/employee_image_uploader.rb @@ -20,10 +20,10 @@ class EmployeeImageUploader < CarrierWave::Uploader::Base end def filename - if Shop.find(1).shop_code.nil? + if current_shop.shop_code.nil? "#{original_filename}" if original_filename.present? else - "#{Shop.find(1).shop_code}_#{original_filename}" if original_filename.present? + "#{current_shop.shop_code}_#{original_filename}" if original_filename.present? end end diff --git a/app/uploaders/menu_item_image_uploader.rb b/app/uploaders/menu_item_image_uploader.rb index 5e1016a6..4198e501 100755 --- a/app/uploaders/menu_item_image_uploader.rb +++ b/app/uploaders/menu_item_image_uploader.rb @@ -15,15 +15,15 @@ class MenuItemImageUploader < CarrierWave::Uploader::Base # Override the directory where uploaded files will be stored. # This is a sensible default for uploaders that are meant to be mounted: def store_dir - "image/menu_images/#{Shop.find(1).shop_code}" + "image/menu_images/#{current_shop.shop_code}" # "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" end def filename - if Shop.find(1).shop_code.nil? + if current_shop.shop_code.nil? "#{original_filename}" if original_filename.present? else - "#{Shop.find(1).shop_code}_#{original_filename}" if original_filename.present? + "#{current_shop.shop_code}_#{original_filename}" if original_filename.present? end end diff --git a/app/uploaders/product_image_uploader.rb b/app/uploaders/product_image_uploader.rb index 4b702a00..32e5f272 100755 --- a/app/uploaders/product_image_uploader.rb +++ b/app/uploaders/product_image_uploader.rb @@ -20,10 +20,10 @@ class ProductImageUploader < CarrierWave::Uploader::Base end def filename - if Shop.find(1).shop_code.nil? + if current_shop.shop_code.nil? "#{original_filename}" if original_filename.present? else - "#{Shop.find(1).shop_code}_#{original_filename}" if original_filename.present? + "#{current_shop.shop_code}_#{original_filename}" if original_filename.present? end end diff --git a/app/uploaders/shop_image_uploader.rb b/app/uploaders/shop_image_uploader.rb index 009d83d9..7927548a 100644 --- a/app/uploaders/shop_image_uploader.rb +++ b/app/uploaders/shop_image_uploader.rb @@ -20,10 +20,10 @@ class ShopImageUploader < CarrierWave::Uploader::Base end def filename - if Shop.find(1).shop_code.nil? + if current_shop.shop_code.nil? "#{original_filename}" if original_filename.present? else - "#{Shop.find(1).shop_code}_#{original_filename}" if original_filename.present? + "#{current_shop.shop_code}_#{original_filename}" if original_filename.present? end end diff --git a/app/views/inventory/inventory/index.html.erb b/app/views/inventory/inventory/index.html.erb index aff62d84..db77bf9a 100755 --- a/app/views/inventory/inventory/index.html.erb +++ b/app/views/inventory/inventory/index.html.erb @@ -7,8 +7,22 @@ + <%= form_tag inventory_path, :id => "filter_form", :method => :get do %> +