]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/user_controller.rb
Use config.filter_parameters instead of filter_parameter_logging
[rails.git] / app / controllers / user_controller.rb
index 4128b61d4a0982cf43ba1b79e7bfe45db3c97d05..52573cf5c5c85015fabf671252f524eb5c0a03fc 100644 (file)
@@ -15,9 +15,7 @@ class UserController < ApplicationController
   before_filter :require_administrator, :only => [:set_status, :delete, :list]
   before_filter :lookup_this_user, :only => [:set_status, :delete]
 
-  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,14 +65,14 @@ 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 params[:user][:openid_url]
+        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)
         end
       else
         # Not logged in, so redirect to the login page
-        redirect_to :action => :login, :referer => request.request_uri
+        redirect_to :action => :login, :referer => request.fullpath
       end
     end
   end
@@ -125,10 +123,12 @@ 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 and @user.openid_url.empty?
       
       if @user.save
+        flash[:piwik_goal] = PIWIK_SIGNUP_GOAL if defined?(PIWIK_SIGNUP_GOAL)
         flash[:notice] = t 'user.new.flash create success message', :email => @user.email
-        Notifier.deliver_signup_confirm(@user, @user.tokens.create(:referer => session.delete(:referer)))
+        Notifier.signup_confirm(@user, @user.tokens.create(:referer => session.delete(:referer))).deliver
         session[:token] = @user.tokens.create.token
         redirect_to :action => 'login', :referer => params[:referer]
       else
@@ -212,7 +212,7 @@ class UserController < ApplicationController
 
       if user
         token = user.tokens.create
-        Notifier.deliver_lost_password(user, token)
+        Notifier.lost_password(user, token).deliver
         flash[:notice] = t 'user.lost_password.notice email on way'
         redirect_to :action => 'login'
       else
@@ -286,9 +286,9 @@ class UserController < ApplicationController
         if token
           token.destroy
         end
-        session[:token] = nil
+        session.delete(:token)
       end
-      session[:user] = nil
+      session.delete(:user)
       session_expires_automatically
       if params[:referer]
         redirect_to params[:referer]
@@ -354,7 +354,7 @@ class UserController < ApplicationController
 
   def confirm_resend
     if user = User.find_by_display_name(params[:display_name])
-      Notifier.deliver_signup_confirm(user, user.tokens.create)
+      Notifier.signup_confirm(user, user.tokens.create).deliver
       flash[:notice] = t 'user.confirm_resend.success', :email => user.email
     else
       flash[:notice] = t 'user.confirm_resend.failure', :name => params[:display_name]
@@ -417,7 +417,7 @@ class UserController < ApplicationController
       unless @user.is_friends_with?(new_friend)
         if friend.save
           flash[:notice] = t 'user.make_friend.success', :name => name
-          Notifier.deliver_friend_notification(friend)
+          Notifier.friend_notification(friend).deliver
         else
           friend.add_error(t('user.make_friend.failed', :name => name))
         end
@@ -538,6 +538,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
@@ -647,7 +651,7 @@ private
         flash.now[:notice] = t 'user.account.flash update success confirm needed'
 
         begin
-          Notifier.deliver_email_confirm(user, user.tokens.create)
+          Notifier.email_confirm(user, user.tokens.create).deliver
         rescue
           # Ignore errors sending email
         end
@@ -665,10 +669,10 @@ private
       if params[:display_name]
         redirect_to :controller => 'user', :action => 'view', :display_name => params[:display_name]
       else
-        redirect_to :controller => 'user', :action => 'login', :referer => request.request_uri
+        redirect_to :controller => 'user', :action => 'login', :referer => request.fullpath
       end
     elsif not @user
-      redirect_to :controller => 'user', :action => 'login', :referer => request.request_uri
+      redirect_to :controller => 'user', :action => 'login', :referer => request.fullpath
     end
   end