Project

General

Profile

« Previous | Next » 

Revision 33a5b34b

Added by Rahul Bajaj about 4 years ago

Fixes #26311 - graceful fail of external user creation (#7583)

View differences:

app/models/user.rb
else
User.as_anonymous_admin do
auth_source = AuthSourceExternal.create!(:name => auth_source_name) if auth_source.nil?
user = User.create!(attrs.merge(:auth_source => auth_source))
user.locations = auth_source.locations
user.organizations = auth_source.organizations
if external_groups.present?
user.usergroups = auth_source.external_usergroups.where(:name => external_groups).map(&:usergroup).uniq
user = User.new(attrs.merge(:auth_source => auth_source))
if user.save
user.locations = auth_source.locations
user.organizations = auth_source.organizations
if external_groups.present?
user.usergroups = auth_source.external_usergroups.where(:name => external_groups).map(&:usergroup).uniq
end
logger.info "User '#{user.login}' auto-created from #{user.auth_source}"
user.post_successful_login
else
logger.info "Failed to create external User '{user.login}': #{user.errors.full_messages.join(', ')}"
user = nil
end
user.post_successful_login
end
user
end

Also available in: Unified diff