X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/a187c759b7d96be951e1667080c6e24e2288f166..c99992f85f1749e444298989a499eea254c4dae6:/app/controllers/user_controller.rb diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb index f12cb1051..cc934fc32 100644 --- a/app/controllers/user_controller.rb +++ b/app/controllers/user_controller.rb @@ -2,8 +2,8 @@ class UserController < ApplicationController layout 'site' before_filter :authorize, :only => [:preferences, :api_details, :api_gpx_files] - before_filter :authorize_web, :only => [:edit, :account, :go_public, :view, :diary, :make_friend] - before_filter :require_user, :only => [:edit, :set_home, :account, :go_public, :make_friend] + before_filter :authorize_web, :only => [:account, :go_public, :view, :diary, :make_friend] + before_filter :require_user, :only => [:set_home, :account, :go_public, :make_friend] def save @user = User.new(params[:user]) @@ -18,18 +18,23 @@ class UserController < ApplicationController end end - def edit + def account if params[:user] and params[:user][:display_name] and params[:user][:description] home_lat = params[:user][:home_lat] home_lon = params[:user][:home_lon] @user.display_name = params[:user][:display_name] + if params[:user][:pass_crypt].length > 0 or params[:user][:pass_crypt_confirmation].length > 0 + @user.pass_crypt = params[:user][:pass_crypt] + @user.pass_crypt_confirmation = params[:user][:pass_crypt_confirmation] + end @user.description = params[:user][:description] @user.home_lat = home_lat.to_f @user.home_lon = home_lon.to_f if @user.save flash[:notice] = "User information updated successfully." - redirect_to :controller => 'user', :action => 'account' + else + flash.delete(:notice) end end end @@ -75,6 +80,7 @@ class UserController < ApplicationController pass = User.make_token(8) user.pass_crypt = pass user.pass_crypt_confirmation = pass + user.active = true user.save Notifier::deliver_reset_password(user, pass) flash[:notice] = "Your password has been changed and is on its way to your mailbox :-)" @@ -98,8 +104,8 @@ class UserController < ApplicationController u.timeout = 1.day.from_now u.save session[:token] = u.token - if params[:next_controller] and params[:next_action] - redirect_to :controller => params[:next_controller], :action => params[:next_action] + if params[:referer] + redirect_to params[:referer] else redirect_to :controller => 'site', :action => 'index' end @@ -120,8 +126,8 @@ class UserController < ApplicationController end end session[:token] = nil - if params[:next_controller] and params[:next_action] - redirect_to :controller => params[:next_controller], :action => params[:next_action] + if params[:referer] + redirect_to params[:referer] else redirect_to :controller => 'site', :action => 'index' end