diff --git a/app/controllers/concerns/login_verification.rb b/app/controllers/concerns/login_verification.rb index ff5e2da2..1e98d048 100755 --- a/app/controllers/concerns/login_verification.rb +++ b/app/controllers/concerns/login_verification.rb @@ -16,28 +16,19 @@ module LoginVerification end end - def current_shop - begin - return Shop.current_shop - rescue - return nil - end - end - def current_login_employee - @employee = Employee.find_by_token_session(session[:session_token]) + @employee ||= current_user end def current_user - @current_user ||= Employee.find_by_token_session(session[:session_token]) if session[:session_token] + @current_user ||= Employee.find_by_token_session(session[:session_token]) if session[:session_token] end # Get current Cashiers def get_cashier - @cashier = Employee.where("role = 'cashier' AND token_session <> ''") + @cashier ||= Employee.where("role = 'cashier' AND token_session <> ''") end - #Shop Name in Navbor def shop_detail @shop ||= current_shop diff --git a/app/controllers/concerns/multi_tenancy.rb b/app/controllers/concerns/multi_tenancy.rb index d495709d..643a7455 100644 --- a/app/controllers/concerns/multi_tenancy.rb +++ b/app/controllers/concerns/multi_tenancy.rb @@ -4,16 +4,18 @@ module MultiTenancy included do set_current_tenant_through_filter if respond_to? :set_current_tenant_through_filter before_action :find_shop_by_subdomain_or_frist if respond_to? :before_action + helper_method :current_shop if respond_to? :helper_method end private def find_shop_by_subdomain_or_frist - if request.subdomain.present? - shop_code = request.subdomain.partition('-').last - @shop = Shop.find_by(shop_code: shop_code) - else - @shop = Shop.first + if request.subdomains.last + set_current_tenant(Shop.find_by(shop_code: request.subdomains.last.partition('-').last)) end - set_current_tenant(@shop) + current_shop + end + + def current_shop + @shop ||= Shop.current_shop end end diff --git a/app/controllers/concerns/token_verification.rb b/app/controllers/concerns/token_verification.rb index ec55b8ec..9df9d8e2 100755 --- a/app/controllers/concerns/token_verification.rb +++ b/app/controllers/concerns/token_verification.rb @@ -6,14 +6,13 @@ module TokenVerification before_action :authenticate end - protected # Authenticate the user with token based authentication def authenticate authenticate_token || render_unauthorized end - def authenticate_token + def authenticate_token authenticate_with_http_token do |token, options| # Rails.logger.debug "token - " + token.to_s if(options.length !=0 && options["from"] == "DOEMAL") diff --git a/app/models/shop.rb b/app/models/shop.rb index a9b672b1..ef193a15 100755 --- a/app/models/shop.rb +++ b/app/models/shop.rb @@ -13,6 +13,6 @@ class Shop < ApplicationRecord end def self.current_shop - ActsAsTenant.current_tenant + RequestStore["current_shop"] ||= ActsAsTenant.current_tenant || Shop.first end end