X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/69c24009975fa03abf84397335043def82b33901..ac0f415915321d9c2721074085003b74fc0e1f60:/app/controllers/user_controller.rb
diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb
index eb1471b00..c3ab012e3 100644
--- a/app/controllers/user_controller.rb
+++ b/app/controllers/user_controller.rb
@@ -3,6 +3,7 @@ class UserController < ApplicationController
before_filter :authorize, :only => [:api_details, :api_gpx_files]
before_filter :authorize_web, :except => [:api_details, :api_gpx_files]
+ before_filter :set_locale, :except => [:api_details, :api_gpx_files]
before_filter :require_user, :only => [:set_home, :account, :go_public, :make_friend, :remove_friend, :upload_image, :delete_image]
before_filter :check_database_readable, :except => [:api_details, :api_gpx_files]
before_filter :check_database_writable, :only => [:login, :new, :set_home, :account, :go_public, :make_friend, :remove_friend, :upload_image, :delete_image]
@@ -11,7 +12,7 @@ class UserController < ApplicationController
filter_parameter_logging :password, :pass_crypt, :pass_crypt_confirmation
def save
- @title = 'create account'
+ @title = t 'user.new.title'
if Acl.find_by_address(request.remote_ip, :conditions => {:k => "no_account_creation"})
render :action => 'new'
@@ -22,9 +23,10 @@ class UserController < ApplicationController
@user.data_public = true
@user.description = "" if @user.description.nil?
@user.creation_ip = request.remote_ip
+ @user.languages = request.user_preferred_languages
if @user.save
- flash[:notice] = "User was successfully created. Check your email for a confirmation note, and you\'ll be mapping in no time :-)
Please note that you won't be able to login until you've received and confirmed your email address.
If you use an antispam system which sends confirmation requests then please make sure you whitelist webmaster@openstreetmap.org as we are unable to reply to any confirmation requests."
+ flash[:notice] = t 'user.new.flash create success message'
Notifier.deliver_signup_confirm(@user, @user.tokens.create)
redirect_to :action => 'login'
else
@@ -34,7 +36,8 @@ class UserController < ApplicationController
end
def account
- @title = 'edit account'
+ @title = t 'user.account.title'
+
if params[:user] and params[:user][:display_name] and params[:user][:description]
if params[:user][:email] != @user.email
@user.new_email = params[:user][:email]
@@ -48,15 +51,18 @@ class UserController < ApplicationController
end
@user.description = params[:user][:description]
+ @user.languages = params[:user][:languages].split(",")
@user.home_lat = params[:user][:home_lat]
@user.home_lon = params[:user][:home_lon]
if @user.save
+ set_locale
+
if params[:user][:email] == @user.new_email
- @notice = "User information updated successfully. Check your email for a note to confirm your new email address."
+ flash[:notice] = t 'user.account.flash update success confirm needed'
Notifier.deliver_email_confirm(@user, @user.tokens.create)
else
- @notice = "User information updated successfully."
+ flash[:notice] = t 'user.account.flash update success'
end
end
end
@@ -67,7 +73,7 @@ class UserController < ApplicationController
@user.home_lat = params[:user][:home_lat].to_f
@user.home_lon = params[:user][:home_lon].to_f
if @user.save
- flash[:notice] = "Home location saved successfully."
+ flash[:notice] = t 'user.set_home.flash success'
redirect_to :controller => 'user', :action => 'account'
end
end
@@ -76,27 +82,29 @@ class UserController < ApplicationController
def go_public
@user.data_public = true
@user.save
- flash[:notice] = 'All your edits are now public.'
+ flash[:notice] = t 'user.go_public.flash success'
redirect_to :controller => 'user', :action => 'account', :display_name => @user.display_name
end
def lost_password
- @title = 'lost password'
+ @title = t 'user.lost_password.title'
+
if params[:user] and params[:user][:email]
user = User.find_by_email(params[:user][:email], :conditions => {:visible => true})
if user
token = user.tokens.create
Notifier.deliver_lost_password(user, token)
- @notice = "Sorry you lost it :-( but an email is on its way so you can reset it soon."
+ flash[:notice] = t 'user.lost_password.notice email on way'
else
- @notice = "Couldn't find that email address, sorry."
+ flash[:notice] = t 'user.lost_password.notice email cannot find'
end
end
end
def reset_password
- @title = 'reset password'
+ @title = t 'user.reset_password.title'
+
if params['token']
token = UserToken.find_by_token(params[:token])
if token
@@ -109,9 +117,9 @@ class UserController < ApplicationController
user.save!
token.destroy
Notifier.deliver_reset_password(user, pass)
- flash[:notice] = "Your password has been changed and is on its way to your mailbox :-)"
+ flash[:notice] = t 'user.reset_password.flash changed check mail'
else
- flash[:notice] = "Didn't find that token, check the URL maybe?"
+ flash[:notice] = t 'user.reset_password.flash token bad'
end
end
@@ -119,7 +127,8 @@ class UserController < ApplicationController
end
def new
- @title = 'create account'
+ @title = t 'user.new.title'
+
# The user is logged in already, so don't show them the signup page, instead
# send them to the home page
redirect_to :controller => 'site', :action => 'index' if session[:user]
@@ -135,7 +144,9 @@ class UserController < ApplicationController
end
return
end
- @title = 'login'
+
+ @title = t 'user.login.title'
+
if params[:user]
email_or_display_name = params[:user][:email]
pass = params[:user][:password]
@@ -149,9 +160,9 @@ class UserController < ApplicationController
end
return
elsif User.authenticate(:username => email_or_display_name, :password => pass, :inactive => true)
- @notice = "Sorry, your account is not active yet.
Please click on the link in the account confirmation email to activate your account."
+ @notice = t 'user.login.account not active'
else
- @notice = "Sorry, couldn't log in with those details."
+ @notice = t 'user.login.auth failure'
end
end
end
@@ -181,11 +192,11 @@ class UserController < ApplicationController
@user.email_valid = true
@user.save!
token.destroy
- flash[:notice] = 'Confirmed your account, thanks for signing up!'
+ flash[:notice] = t 'user.confirm.success'
session[:user] = @user.id
redirect_to :action => 'account', :display_name => @user.display_name
else
- @notice = 'Something went wrong confirming that user.'
+ @notice = t 'user.confirm.failure'
end
end
end
@@ -201,11 +212,11 @@ class UserController < ApplicationController
@user.email_valid = true
@user.save!
token.destroy
- flash[:notice] = 'Confirmed your email address, thanks for signing up!'
+ flash[:notice] = t 'user.confirm_email.success'
session[:user] = @user.id
redirect_to :action => 'account', :display_name => @user.display_name
else
- @notice = 'Something went wrong confirming that email address.'
+ @notice = t 'user.confirm_email.failure'
end
end
end
@@ -240,6 +251,7 @@ class UserController < ApplicationController
if @this_user
@title = @this_user.display_name
else
+ @title = t 'user.no_such_user.title'
@not_found_user = params[:display_name]
render :action => 'no_such_user', :status => :not_found
end
@@ -254,13 +266,13 @@ class UserController < ApplicationController
friend.friend_user_id = new_friend.id
unless @user.is_friends_with?(new_friend)
if friend.save
- flash[:notice] = "#{name} is now your friend."
+ flash[:notice] = t 'user.make_friend.success', :name => name
Notifier.deliver_friend_notification(friend)
else
- friend.add_error("Sorry, failed to add #{name} as a friend.")
+ friend.add_error(t('user.make_friend.failed', :name => name))
end
else
- flash[:notice] = "You are already friends with #{name}."
+ flash[:notice] = t 'user.make_friend.already_a_friend', :name => name
end
redirect_to :controller => 'user', :action => 'view'
@@ -273,9 +285,9 @@ class UserController < ApplicationController
friend = User.find_by_display_name(name, :conditions => {:visible => true})
if @user.is_friends_with?(friend)
Friend.delete_all "user_id = #{@user.id} AND friend_user_id = #{friend.id}"
- flash[:notice] = "#{friend.display_name} was removed from your friends."
+ flash[:notice] = t 'user.remove_friend.success', :name => friend.display_name
else
- flash[:notice] = "#{friend.display_name} is not one of your friends."
+ flash[:notice] = t 'user.remove_friend.not_a_friend', :name => friend.display_name
end
redirect_to :controller => 'user', :action => 'view'