Project

General

Profile

« Previous | Next » 

Revision e44762c8

Added by Eric Helms almost 10 years ago

Fixes #5645: Fixes session undefined error when user has a default taxonomy set.

View differences:

app/controllers/concerns/foreman/controller/authentication.rb
def set_current_user(user)
User.current = user
Foreman::Controller::UsersMixin.set_current_taxonomies(user)
# API access shouldn't modify the session, its authentication should be
# stateless. Other successful logins should create new session IDs.
......
backup_session_content { reset_session }
session[:user] = user.id
update_activity_time
Foreman::Controller::UsersMixin.set_current_taxonomies(user, {:session => session})
end
user.present?
end
app/controllers/concerns/foreman/controller/users_mixin.rb
sub_hg.each { |hg| hg.users << @user }
end
def set_current_taxonomies(user)
def set_current_taxonomies(user, options = {})
session ||= options.fetch(:session, {})
['location', 'organization'].each do |taxonomy|
default_taxonomy = user.send "default_#{taxonomy}"
if default_taxonomy.present?
app/controllers/users_controller.rb
session[:user] = user.id
uri = session[:original_uri]
session[:original_uri] = nil
set_current_taxonomies(user)
set_current_taxonomies(user, {:session => session})
TopbarSweeper.expire_cache(self)
redirect_to (uri || hosts_path)
end

Also available in: Unified diff