X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/83ecb516a4df5d4d03930af7b8ace1c9476d69a2..0030c7753740820fab12455dd841cd39c58b6475:/app/controllers/user_controller.rb?ds=sidebyside diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb index fe5afd960..70328f5a5 100644 --- a/app/controllers/user_controller.rb +++ b/app/controllers/user_controller.rb @@ -17,7 +17,7 @@ class UserController < ApplicationController filter_parameter_logging :password, :pass_crypt, :pass_crypt_confirmation - cache_sweeper :user_sweeper, :only => [:account, :set_status, :delete], :unless => STATUS == :database_offline + cache_sweeper :user_sweeper, :only => [:account, :set_status, :delete] def terms @legale = params[:legale] || OSM.IPToCountry(request.remote_ip) || DEFAULT_LEGALE @@ -67,7 +67,7 @@ class UserController < ApplicationController elsif @user.terms_agreed? # Already agreed to terms, so just show settings redirect_to :action => :account, :display_name => @user.display_name - elsif params[:user] and not params[:user][:openid_url].empty? + elsif params[:user] and params[:user][:openid_url] and not params[:user][:openid_url].empty? # Verify OpenID before moving on session[:new_user] = @user openid_verify(params[:user][:openid_url], @user) @@ -125,7 +125,7 @@ class UserController < ApplicationController @user.languages = request.user_preferred_languages @user.terms_agreed = Time.now.getutc @user.terms_seen = true - @user.openid_url = nil if @user.openid_url.empty? + @user.openid_url = nil if @user.openid_url and @user.openid_url.empty? if @user.save flash[:notice] = t 'user.new.flash create success message', :email => @user.email @@ -539,6 +539,10 @@ private failed_login t('user.login.auth failure') end else + # Guard against not getting any extension data + sreg = Hash.new if sreg.nil? + ax = Hash.new if ax.nil? + # We don't have a user registered to this OpenID, so redirect # to the create account page with username and email filled # in if they have been given by the OpenID provider through