Merge pull request #1239 from tsigo/disable_gravatar
Allow disabling Gravatars in gitlab.yml settings
This commit is contained in:
commit
1ef1a4ae6e
4 changed files with 43 additions and 11 deletions
|
@ -2,10 +2,13 @@ require 'digest/md5'
|
|||
module ApplicationHelper
|
||||
|
||||
def gravatar_icon(user_email = '', size = 40)
|
||||
return unless user_email
|
||||
gravatar_host = request.ssl? ? "https://secure.gravatar.com" : "http://www.gravatar.com"
|
||||
user_email.strip!
|
||||
"#{gravatar_host}/avatar/#{Digest::MD5.hexdigest(user_email.downcase)}?s=#{size}&d=identicon"
|
||||
if Gitlab.config.disable_gravatar? || user_email.blank?
|
||||
'no_avatar.png'
|
||||
else
|
||||
gravatar_prefix = request.ssl? ? "https://secure" : "http://www"
|
||||
user_email.strip!
|
||||
"#{gravatar_prefix}.gravatar.com/avatar/#{Digest::MD5.hexdigest(user_email.downcase)}?s=#{size}&d=identicon"
|
||||
end
|
||||
end
|
||||
|
||||
def request_protocol
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# # # # # # # # # # # # # # # # # #
|
||||
# # # # # # # # # # # # # # # # # #
|
||||
# Gitlab application config file #
|
||||
# # # # # # # # # # # # # # # # # #
|
||||
|
||||
|
@ -19,14 +19,14 @@ email:
|
|||
|
||||
# Application specific settings
|
||||
# Like default project limit for user etc
|
||||
app:
|
||||
default_projects_limit: 10
|
||||
app:
|
||||
default_projects_limit: 10
|
||||
# backup_path: "/vol/backups" # default: Rails.root + backups/
|
||||
# backup_keep_time: 604800 # default: 0 (forever) (in seconds)
|
||||
# disable_gravatar: true # default: false - Disable user avatars from Gravatar.com
|
||||
|
||||
|
||||
#
|
||||
# 2. Advanced settings:
|
||||
#
|
||||
# 2. Advanced settings:
|
||||
# ==========================
|
||||
|
||||
# Git Hosting configuration
|
||||
|
@ -39,7 +39,6 @@ git_host:
|
|||
receive_pack: true
|
||||
# port: 22
|
||||
|
||||
|
||||
# Git settings
|
||||
# Use default values unless you understand it
|
||||
git:
|
||||
|
|
|
@ -111,5 +111,9 @@ class Settings < Settingslogic
|
|||
def backup_keep_time
|
||||
app['backup_keep_time'] || 0
|
||||
end
|
||||
|
||||
def disable_gravatar?
|
||||
app['disable_gravatar'] || false
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
26
spec/helpers/application_helper_spec.rb
Normal file
26
spec/helpers/application_helper_spec.rb
Normal file
|
@ -0,0 +1,26 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe ApplicationHelper do
|
||||
describe "gravatar_icon" do
|
||||
let(:user_email) { 'user@email.com' }
|
||||
|
||||
it "should return a generic avatar path when Gravatar is disabled" do
|
||||
Gitlab.config.stub(:disable_gravatar?).and_return(true)
|
||||
gravatar_icon(user_email).should == 'no_avatar.png'
|
||||
end
|
||||
|
||||
it "should return a generic avatar path when email is blank" do
|
||||
gravatar_icon('').should == 'no_avatar.png'
|
||||
end
|
||||
|
||||
it "should use SSL when appropriate" do
|
||||
stub!(:request).and_return(double(:ssl? => true))
|
||||
gravatar_icon(user_email).should match('https://secure.gravatar.com')
|
||||
end
|
||||
|
||||
it "should accept a custom size" do
|
||||
stub!(:request).and_return(double(:ssl? => false))
|
||||
gravatar_icon(user_email, 64).should match(/\?s=64/)
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue