diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index 7623f1d..cf2e9bd 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -12,9 +12,9 @@ class SessionsController < ApplicationController if (user && user.authenticate(params[:password]) && user.is_confirmed?.eql?(true)) if user.is_approved? || user.is_admin? session[:user_id] = user.id - if session[:login_referer] - redirect_to session[:login_referer] - session[:login_referer] = nil + session[:login_referer] = nil + if params[:referer_url] + redirect_to params[:referer_url] else redirect_to admin_dashboards_path end diff --git a/app/views/orbit_bar/index.html.erb b/app/views/orbit_bar/index.html.erb index 8b8e522..1f733df 100644 --- a/app/views/orbit_bar/index.html.erb +++ b/app/views/orbit_bar/index.html.erb @@ -13,6 +13,7 @@
<%= form_tag "/sessions?locale=#{locale.to_s}", method: "post", :class => "container" do |f| %> +
" size="30" type="text"> diff --git a/app/views/sessions/new.html.erb b/app/views/sessions/new.html.erb index 7e9c38e..871fc4c 100644 --- a/app/views/sessions/new.html.erb +++ b/app/views/sessions/new.html.erb @@ -28,6 +28,7 @@ + <% end %>
diff --git a/lib/orbit_core_lib.rb b/lib/orbit_core_lib.rb index f3cf6c9..28c05d6 100644 --- a/lib/orbit_core_lib.rb +++ b/lib/orbit_core_lib.rb @@ -78,27 +78,31 @@ module OrbitCoreLib end if !permissions.empty? if !allow?(permissions["available_for"] || ["admin"]) - render "public/401" , layout: "back_end" + render "public/401" , layout: "back_end" if !current_user.nil? end end end def allow?(af) - status = "users" - if current_user.is_admin? - status = "admin" - elsif current_user.is_manager?(@module_app) - status = "managers" - elsif current_user.is_manager_with_role?(@module_app) - status = "managers" - elsif current_user.is_sub_manager?(@module_app) - status = "sub_managers" - elsif current_user.is_sub_manager_with_role?(@module_app) - status = "sub_managers" - elsif current_user.is_normal_user? + if !current_user.nil? status = "users" + if current_user.is_admin? + status = "admin" + elsif current_user.is_manager?(@module_app) + status = "managers" + elsif current_user.is_manager_with_role?(@module_app) + status = "managers" + elsif current_user.is_sub_manager?(@module_app) + status = "sub_managers" + elsif current_user.is_sub_manager_with_role?(@module_app) + status = "sub_managers" + elsif current_user.is_normal_user? + status = "users" + end + return af.include?status + else + return false end - return af.include?status end end end