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:
Simon Poole 2016-08-19 08:59:40 +02:00
parent ad0e7b2c22
commit 0837205d02
3 changed files with 19 additions and 12 deletions

View file

@ -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"
else
t "user.account.gravatar.disabled"
end
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
return t "user.account.gravatar.disabled"
end
end
end