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.status = "active"
|
||||
user.email_valid = true
|
||||
gravatar_enable(user)
|
||||
if (gravatar_enable(user))
|
||||
flash[:notice] = gravatar_status_message(user)
|
||||
end
|
||||
user.save!
|
||||
referer = token.referer
|
||||
token.destroy
|
||||
|
@ -349,9 +351,9 @@ class UserController < ApplicationController
|
|||
@user.email = @user.new_email
|
||||
@user.new_email = nil
|
||||
@user.email_valid = true
|
||||
gravatar_enable(@user)
|
||||
changed = gravatar_enable(@user)
|
||||
if @user.save
|
||||
flash[:notice] = t "user.confirm_email.success"
|
||||
flash[:notice] = (t "user.confirm_email.success") + (changed ? " " + gravatar_status_message(@user) : "")
|
||||
else
|
||||
flash[:errors] = @user.errors
|
||||
end
|
||||
|
@ -806,18 +808,22 @@ class UserController < ApplicationController
|
|||
# check if this user has a gravatar and set the user pref is true
|
||||
def gravatar_enable(user)
|
||||
# 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)
|
||||
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))
|
||||
oldsetting = user.image_use_gravatar
|
||||
user.image_use_gravatar = response.success?
|
||||
if oldsetting != user.image_use_gravatar
|
||||
flash[:warning] = if user.image_use_gravatar
|
||||
t "user.account.gravatar.enabled"
|
||||
return oldsetting != user.image_use_gravatar
|
||||
end
|
||||
|
||||
##
|
||||
# display a message about th current status of the gravatar setting
|
||||
def gravatar_status_message(user)
|
||||
if user.image_use_gravatar
|
||||
return t "user.account.gravatar.enabled"
|
||||
else
|
||||
t "user.account.gravatar.disabled"
|
||||
end
|
||||
return t "user.account.gravatar.disabled"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1925,8 +1925,8 @@ en:
|
|||
gravatar: "Use Gravatar"
|
||||
link: "http://wiki.openstreetmap.org/wiki/Gravatar"
|
||||
link text: "what is this?"
|
||||
disabled: "Gravatar disabled!"
|
||||
enabled: "Gravatar enabled!"
|
||||
disabled: "No Gravatar for this email address."
|
||||
enabled: "Display of your Gravatar has been enabled."
|
||||
new image: "Add an image"
|
||||
keep image: "Keep the current image"
|
||||
delete image: "Remove the current image"
|
||||
|
|
|
@ -523,6 +523,7 @@ class UserControllerTest < ActionController::TestCase
|
|||
def test_confirm_email_success
|
||||
user = users(:second_public_user)
|
||||
confirm_string = user.tokens.create.token
|
||||
|
||||
post :confirm_email, :confirm_string => confirm_string
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :account, :display_name => user.display_name
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue