Merge message when Gravatar status has changed with email confirmation
Merge message when Gravatar status has changed with email confirmation and make messages more verbose and friendly.
This commit is contained in:
parent
ad0e7b2c22
commit
0837205d02
3 changed files with 19 additions and 12 deletions
|
@ -297,7 +297,9 @@ class UserController < ApplicationController
|
||||||
user = token.user
|
user = token.user
|
||||||
user.status = "active"
|
user.status = "active"
|
||||||
user.email_valid = true
|
user.email_valid = true
|
||||||
gravatar_enable(user)
|
if (gravatar_enable(user))
|
||||||
|
flash[:notice] = gravatar_status_message(user)
|
||||||
|
end
|
||||||
user.save!
|
user.save!
|
||||||
referer = token.referer
|
referer = token.referer
|
||||||
token.destroy
|
token.destroy
|
||||||
|
@ -349,9 +351,9 @@ class UserController < ApplicationController
|
||||||
@user.email = @user.new_email
|
@user.email = @user.new_email
|
||||||
@user.new_email = nil
|
@user.new_email = nil
|
||||||
@user.email_valid = true
|
@user.email_valid = true
|
||||||
gravatar_enable(@user)
|
changed = gravatar_enable(@user)
|
||||||
if @user.save
|
if @user.save
|
||||||
flash[:notice] = t "user.confirm_email.success"
|
flash[:notice] = (t "user.confirm_email.success") + (changed ? " " + gravatar_status_message(@user) : "")
|
||||||
else
|
else
|
||||||
flash[:errors] = @user.errors
|
flash[:errors] = @user.errors
|
||||||
end
|
end
|
||||||
|
@ -806,18 +808,22 @@ class UserController < ApplicationController
|
||||||
# check if this user has a gravatar and set the user pref is true
|
# check if this user has a gravatar and set the user pref is true
|
||||||
def gravatar_enable(user)
|
def gravatar_enable(user)
|
||||||
# code from example https://en.gravatar.com/site/implement/images/ruby/
|
# code from example https://en.gravatar.com/site/implement/images/ruby/
|
||||||
return if user.image.present?
|
return false if user.image.present?
|
||||||
hash = Digest::MD5.hexdigest(user.email.downcase)
|
hash = Digest::MD5.hexdigest(user.email.downcase)
|
||||||
url = "https://www.gravatar.com/avatar/#{hash}?d=404" # without d=404 we will always get an image back
|
url = "https://www.gravatar.com/avatar/#{hash}?d=404" # without d=404 we will always get an image back
|
||||||
response = OSM.http_client.get(URI.parse(url))
|
response = OSM.http_client.get(URI.parse(url))
|
||||||
oldsetting = user.image_use_gravatar
|
oldsetting = user.image_use_gravatar
|
||||||
user.image_use_gravatar = response.success?
|
user.image_use_gravatar = response.success?
|
||||||
if oldsetting != user.image_use_gravatar
|
return oldsetting != user.image_use_gravatar
|
||||||
flash[:warning] = if user.image_use_gravatar
|
end
|
||||||
t "user.account.gravatar.enabled"
|
|
||||||
else
|
##
|
||||||
t "user.account.gravatar.disabled"
|
# display a message about th current status of the gravatar setting
|
||||||
end
|
def gravatar_status_message(user)
|
||||||
|
if user.image_use_gravatar
|
||||||
|
return t "user.account.gravatar.enabled"
|
||||||
|
else
|
||||||
|
return t "user.account.gravatar.disabled"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1925,8 +1925,8 @@ en:
|
||||||
gravatar: "Use Gravatar"
|
gravatar: "Use Gravatar"
|
||||||
link: "http://wiki.openstreetmap.org/wiki/Gravatar"
|
link: "http://wiki.openstreetmap.org/wiki/Gravatar"
|
||||||
link text: "what is this?"
|
link text: "what is this?"
|
||||||
disabled: "Gravatar disabled!"
|
disabled: "No Gravatar for this email address."
|
||||||
enabled: "Gravatar enabled!"
|
enabled: "Display of your Gravatar has been enabled."
|
||||||
new image: "Add an image"
|
new image: "Add an image"
|
||||||
keep image: "Keep the current image"
|
keep image: "Keep the current image"
|
||||||
delete image: "Remove the current image"
|
delete image: "Remove the current image"
|
||||||
|
|
|
@ -523,6 +523,7 @@ class UserControllerTest < ActionController::TestCase
|
||||||
def test_confirm_email_success
|
def test_confirm_email_success
|
||||||
user = users(:second_public_user)
|
user = users(:second_public_user)
|
||||||
confirm_string = user.tokens.create.token
|
confirm_string = user.tokens.create.token
|
||||||
|
|
||||||
post :confirm_email, :confirm_string => confirm_string
|
post :confirm_email, :confirm_string => confirm_string
|
||||||
assert_response :redirect
|
assert_response :redirect
|
||||||
assert_redirected_to :action => :account, :display_name => user.display_name
|
assert_redirected_to :action => :account, :display_name => user.display_name
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue