diff --git a/app/assets/stylesheets/addorder.scss b/app/assets/stylesheets/addorder.scss index bf09f726..be126395 100755 --- a/app/assets/stylesheets/addorder.scss +++ b/app/assets/stylesheets/addorder.scss @@ -62,6 +62,9 @@ section .content{ .nav-tabs { background-color: #eeeeee; } +.nav-tabs .nav-link { + padding: 0.7286rem 0.2575 +} .nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { background-color: #fff; border-left: 6px solid #111; diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 9d947cc1..3c061feb 100755 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -1,10 +1,11 @@ class ApplicationController < ActionController::Base - include LoginVerification + include LicenseVerification + #before_action :check_installation protect_from_forgery with: :exception # lookup domain for db from provision - before_action :lookup_domain, :set_locale + before_action :set_locale helper_method :current_company,:current_login_employee,:current_user # alias_method :current_user, :current_login_employee,:current_user @@ -22,67 +23,6 @@ class ApplicationController < ActionController::Base { locale: I18n.locale } end - def lookup_domain - if request.subdomain.present? && request.subdomain != "www" - from = request.subdomain.downcase + "." + request.domain.downcase - @license = cache_license(ENV["SX_PROVISION_URL"], from) # request.subdomain.downcase - if (!@license.nil?) - # logger.info "Location - " + @license.name - ActiveRecord::Base.establish_connection(website_connection(@license)) - # logger.info "Connecting to - " + @license.subdomain + " - "+ @license.dbhost + "@" + @license.dbschema - else - # reconnect_default_db - logger.info 'License is nil' - # redirect_to root_url(:host => request.domain) + "store_error" - render :json => [{ status: false, message: 'Invalid Access!'}] - end - else - # check for license file - # if check_license - # current_license(ENV["SX_PROVISION_URL"]) - # else - # redirect_to activate_path - # end - end - end - - def current_license(url) - @license = License.new(url) - flag = @license.detail_with_local_file() - if (flag == 0) - flash[:notice] = 'Expired or No License!' - elsif (flag == 2) - flash[:notice] = 'Expiring! Please, License extend...' - else - puts "RUN SAY BYAR" - end - end - - def cache_license(url, lookup) - @license = License.new(url, lookup) - - if (@license.detail_with_local_cache(lookup) == true) - return @license - else - return nil - end - end - - def website_connection(license) - default_connection.dup.update(:host => license.dbhost, :database => license.dbschema.to_s.downcase, - :username => license.dbusername, :password => license.dbpassword) - - end - - def reconnect_default_db - ActiveRecord::Base.establish_connection(Rails.env) - end - - # Regular database.yml configuration hash - def default_connection - @default_config ||= ActiveRecord::Base.connection.instance_variable_get("@config").dup - end - rescue_from CanCan::AccessDenied do |exception| flash[:warning] = exception.message redirect_to root_path @@ -111,14 +51,6 @@ class ApplicationController < ActionController::Base @employee = Employee.find_by_token_session(session[:session_token]) end end - - private - def check_license - if License.check_license_file - return true - end - return false - end end diff --git a/app/controllers/base_crm_controller.rb b/app/controllers/base_crm_controller.rb index e66c67b9..5c412fcf 100755 --- a/app/controllers/base_crm_controller.rb +++ b/app/controllers/base_crm_controller.rb @@ -1,5 +1,4 @@ -class BaseCrmController < ActionController::Base - include LoginVerification +class BaseCrmController < ApplicationController layout "CRM" #before_action :check_installation diff --git a/app/controllers/base_inventory_controller.rb b/app/controllers/base_inventory_controller.rb index 4059ac25..f44747d3 100755 --- a/app/controllers/base_inventory_controller.rb +++ b/app/controllers/base_inventory_controller.rb @@ -1,5 +1,4 @@ -class BaseInventoryController < ActionController::Base - include LoginVerification +class BaseInventoryController < ApplicationController layout "inventory" #before_action :check_installation diff --git a/app/controllers/base_oqs_controller.rb b/app/controllers/base_oqs_controller.rb index db9f8231..f1f2831a 100755 --- a/app/controllers/base_oqs_controller.rb +++ b/app/controllers/base_oqs_controller.rb @@ -1,5 +1,4 @@ -class BaseOqsController < ActionController::Base - include LoginVerification +class BaseOqsController < ApplicationController layout "OQS" #before_action :check_installation diff --git a/app/controllers/base_origami_controller.rb b/app/controllers/base_origami_controller.rb index ec415bad..58d9b801 100755 --- a/app/controllers/base_origami_controller.rb +++ b/app/controllers/base_origami_controller.rb @@ -1,5 +1,4 @@ -class BaseOrigamiController < ActionController::Base - include LoginVerification +class BaseOrigamiController < ApplicationController layout "origami" # before_action :checkin_process diff --git a/app/controllers/base_report_controller.rb b/app/controllers/base_report_controller.rb index af9ec4fc..f7551f22 100755 --- a/app/controllers/base_report_controller.rb +++ b/app/controllers/base_report_controller.rb @@ -1,5 +1,4 @@ -class BaseReportController < ActionController::Base - include LoginVerification +class BaseReportController < ApplicationController layout "application" #before_action :check_installation diff --git a/app/controllers/base_waiter_controller.rb b/app/controllers/base_waiter_controller.rb index e86433dc..248e32a6 100755 --- a/app/controllers/base_waiter_controller.rb +++ b/app/controllers/base_waiter_controller.rb @@ -1,9 +1,6 @@ -class BaseWaiterController < ActionController::Base - include LoginVerification +class BaseWaiterController < ApplicationController layout "waiter" #before_action :check_installation protect_from_forgery with: :exception - - end diff --git a/app/controllers/concerns/license_verification.rb b/app/controllers/concerns/license_verification.rb new file mode 100644 index 00000000..bfa40f03 --- /dev/null +++ b/app/controllers/concerns/license_verification.rb @@ -0,0 +1,83 @@ +module LicenseVerification + extend ActiveSupport::Concern + + included do + before_action :lookup_domain + end + + protected + def lookup_domain + if request.subdomain.present? && request.subdomain != "www" + from = request.subdomain.downcase + "." + request.domain.downcase + @license = cache_license(ENV["SX_PROVISION_URL"], from) # request.subdomain.downcase + if (!@license.nil?) + # logger.info "Location - " + @license.name + ActiveRecord::Base.establish_connection(website_connection(@license)) + authenticate_session_token + # logger.info "Connecting to - " + @license.subdomain + " - "+ @license.dbhost + "@" + @license.dbschema + else + # reconnect_default_db + logger.info 'License is nil' + # redirect_to root_url(:host => request.domain) + "store_error" + render :json => [{ status: false, message: 'Invalid Access!'}] + end + else + # check for license file + # if check_license + # current_license(ENV["SX_PROVISION_URL"]) + # else + # redirect_to activate_path + # end + end + end + + def authenticate_session_token + token = session[:session_token] + if (token) + #@current_user = User.find_by(api_key: token) + #Rails.logger.debug "token - " + token.to_s + + @user = Employee.authenticate_by_token(token) + if !@user + flash[:notice] = 'Invalid Access!' + end + end + end + + def current_license(url) + @license = License.new(url) + flag = @license.detail_with_local_file() + if (flag == 0) + flash[:notice] = 'Expired or No License!' + elsif (flag == 2) + flash[:notice] = 'Expiring! Please, License extend...' + else + puts "RUN SAY BYAR" + end + end + + def cache_license(url, lookup) + @license = License.new(url, lookup) + + if (@license.detail_with_local_cache(lookup) == true) + return @license + else + return nil + end + end + + def website_connection(license) + default_connection.dup.update(:host => license.dbhost, :database => license.dbschema.to_s.downcase, + :username => license.dbusername, :password => license.dbpassword) + + end + + def reconnect_default_db + ActiveRecord::Base.establish_connection(Rails.env) + end + + # Regular database.yml configuration hash + def default_connection + @default_config ||= ActiveRecord::Base.connection.instance_variable_get("@config").dup + end +end \ No newline at end of file diff --git a/app/controllers/concerns/login_verification.rb b/app/controllers/concerns/login_verification.rb index ab5823de..7ddf3cec 100755 --- a/app/controllers/concerns/login_verification.rb +++ b/app/controllers/concerns/login_verification.rb @@ -4,13 +4,12 @@ module LoginVerification included do before_action :authenticate helper_method :current_company,:current_login_employee - end protected # Authenticate the user with token based authentication - def authenticate + def authenticate authenticate_session_token || render_unauthorized end @@ -18,12 +17,14 @@ module LoginVerification token = session[:session_token] if (token) #@current_user = User.find_by(api_key: token) - Rails.logger.debug "token - " + token.to_s + #Rails.logger.debug "token - " + token.to_s @user = Employee.authenticate_by_token(token) if @user return true #Maybe log - login? + else + flash[:notice] = 'Invalid Access!' end end end @@ -50,6 +51,10 @@ module LoginVerification end private + def check_license + License.check_license_file + end + def check_installation if current_company.nil? redirect_to install_path diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb index 97ac4051..3ca8ba81 100755 --- a/app/controllers/home_controller.rb +++ b/app/controllers/home_controller.rb @@ -1,6 +1,6 @@ -class HomeController < ApplicationController +class HomeController < ApplicationController # layout "application", except: [:index, :show] - skip_before_action :authenticate, only: [:index, :show, :create, :update, :destroy] + # skip_before_action only: [:index, :show, :create, :update, :destroy] def index # @employees = Employee.all_emp_except_waiter.order("name asc") diff --git a/app/models/license.rb b/app/models/license.rb index d025e349..ddb9a8c0 100755 --- a/app/models/license.rb +++ b/app/models/license.rb @@ -33,7 +33,7 @@ class License ##Get redis connection from connection pool redis = Redis.new cache_license = redis.get(cache_key) - + Rails.logger.info "Cache key - " + cache_key.to_s if cache_license.nil? ##change the d/e key diff --git a/app/models/sale.rb b/app/models/sale.rb index a3b23948..6dea5db3 100755 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -82,16 +82,17 @@ class Sale < ApplicationRecord current_shift = ShiftSale.current_shift shift = ShiftSale.current_open_shift(cashier.id) - # set cashier + # set cashier if shift != nil self.cashier_id = cashier.id self.cashier_name = cashier.name self.shift_sale_id = shift.id else - if open_cashier.nil? - self.cashier_id = requested_by.id - self.cashier_name = requested_by.name - self.shift_sale_id = current_shift.id + if open_cashier.count>0 + self.cashier_id = open_cashier[0].id + self.cashier_name = open_cashier[0].name + shift_id = ShiftSale.current_open_shift(open_cashier[0].id) + self.shift_sale_id = shift_id.id else self.cashier_id = current_shift.employee_id self.cashier_name = Employee.find(current_shift.employee_id).name @@ -99,6 +100,7 @@ class Sale < ApplicationRecord end end + # set waiter self.requested_by = requested_by.name diff --git a/app/views/origami/sale_edit/edit.html.erb b/app/views/origami/sale_edit/edit.html.erb index 1aaa02ca..940b497a 100755 --- a/app/views/origami/sale_edit/edit.html.erb +++ b/app/views/origami/sale_edit/edit.html.erb @@ -29,12 +29,12 @@
| # | +# | Items | -QTY - - | Price - + | QTY + | +Price + | Action | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| <%= count %> | -+ | <%= count %> | +<%= sale_item.product_name %> | <% if sale_item.remark != 'void' && sale_item.remark != 'edit' && sale_item.remark != 'foc' %> -+ | - | + | - | + | <% elsif sale_item.qty.to_i < 0 || sale_item.remark == 'edit' %> - | + | - | + | - | + | <% else %> - | + | - | + | @@ -108,7 +108,7 @@ |