forked from saurabh/orbit4-5
update login redirect to referer url and fix check_user_can_use method
This commit is contained in:
parent
fb8d36fc35
commit
3435a7bfd3
|
@ -12,9 +12,9 @@ class SessionsController < ApplicationController
|
||||||
if (user && user.authenticate(params[:password]) && user.is_confirmed?.eql?(true))
|
if (user && user.authenticate(params[:password]) && user.is_confirmed?.eql?(true))
|
||||||
if user.is_approved? || user.is_admin?
|
if user.is_approved? || user.is_admin?
|
||||||
session[:user_id] = user.id
|
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
|
else
|
||||||
redirect_to admin_dashboards_path
|
redirect_to admin_dashboards_path
|
||||||
end
|
end
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="login-body">
|
<div class="login-body">
|
||||||
<%= form_tag "/sessions?locale=#{locale.to_s}", method: "post", :class => "container" do |f| %>
|
<%= form_tag "/sessions?locale=#{locale.to_s}", method: "post", :class => "container" do |f| %>
|
||||||
|
<input type="hidden" name="referer_url" value="<%= request.original_url %>">
|
||||||
<div class="prepend">
|
<div class="prepend">
|
||||||
<span class="add"><i class="icon-user"></i></span>
|
<span class="add"><i class="icon-user"></i></span>
|
||||||
<input class="input" id="user_user_id" name="user_name" placeholder="<%= t("users.user_id") %>" size="30" type="text">
|
<input class="input" id="user_user_id" name="user_name" placeholder="<%= t("users.user_id") %>" size="30" type="text">
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<%= check_box_tag :remember_me %><small><%= label_tag :remember_me %></small>
|
<%= check_box_tag :remember_me %><small><%= label_tag :remember_me %></small>
|
||||||
</label>
|
</label>
|
||||||
|
<input type="hidden" name="referer_url" value="<%= session[:login_referer] %>">
|
||||||
<button class="btn btn-primary" name="button" type="submit"><%= t(:login) %></button>
|
<button class="btn btn-primary" name="button" type="submit"><%= t(:login) %></button>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -78,12 +78,13 @@ module OrbitCoreLib
|
||||||
end
|
end
|
||||||
if !permissions.empty?
|
if !permissions.empty?
|
||||||
if !allow?(permissions["available_for"] || ["admin"])
|
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
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def allow?(af)
|
def allow?(af)
|
||||||
|
if !current_user.nil?
|
||||||
status = "users"
|
status = "users"
|
||||||
if current_user.is_admin?
|
if current_user.is_admin?
|
||||||
status = "admin"
|
status = "admin"
|
||||||
|
@ -99,6 +100,9 @@ module OrbitCoreLib
|
||||||
status = "users"
|
status = "users"
|
||||||
end
|
end
|
||||||
return af.include?status
|
return af.include?status
|
||||||
|
else
|
||||||
|
return false
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue