From f42d8db47e1b4070b84825293b5c030689578649 Mon Sep 17 00:00:00 2001 From: Aurelio A. Heckert Date: Mon, 31 Oct 2011 17:28:38 -0200 Subject: [PATCH] Allow theme config for Gravatar default image --- app/helpers/application_helper.rb | 5 +++-- test/unit/application_helper_test.rb | 9 +++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 62685ec..cc4950e 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -587,17 +587,18 @@ module ApplicationHelper def gravatar_url_for(email, options = {}) # Ta dando erro de roteamento + default = theme_option['gravatar'] || NOOSFERO_CONF['gravatar'] || nil url_for( { :gravatar_id => Digest::MD5.hexdigest(email), :host => 'www.gravatar.com', :protocol => 'http://', :only_path => false, :controller => 'avatar.php', - :d => NOOSFERO_CONF['gravatar'] ? NOOSFERO_CONF['gravatar'] : nil + :d => default }.merge(options) ) end def str_gravatar_url_for(email, options = {}) - default = NOOSFERO_CONF['gravatar'] ? NOOSFERO_CONF['gravatar'] : nil + default = theme_option['gravatar'] || NOOSFERO_CONF['gravatar'] || nil url = 'http://www.gravatar.com/avatar.php?gravatar_id=' + Digest::MD5.hexdigest(email) { diff --git a/test/unit/application_helper_test.rb b/test/unit/application_helper_test.rb index b463a69..c986a9d 100644 --- a/test/unit/application_helper_test.rb +++ b/test/unit/application_helper_test.rb @@ -468,6 +468,7 @@ class ApplicationHelperTest < Test::Unit::TestCase end should 'generate a gravatar url' do + stubs(:theme_option).returns({}) with_constants :NOOSFERO_CONF => {'gravatar' => 'crazyvatar'} do url = str_gravatar_url_for( 'rms@gnu.org', :size => 50 ) assert_match(/^http:\/\/www\.gravatar\.com\/avatar\.php\?/, url) @@ -475,6 +476,14 @@ class ApplicationHelperTest < Test::Unit::TestCase assert_match(/(\?|&)d=crazyvatar(&|$)/, url) assert_match(/(\?|&)size=50(&|$)/, url) end + stubs(:theme_option).returns('gravatar' => 'nicevatar') + with_constants :NOOSFERO_CONF => {'gravatar' => 'crazyvatar'} do + url = str_gravatar_url_for( 'rms@gnu.org', :size => 50 ) + assert_match(/^http:\/\/www\.gravatar\.com\/avatar\.php\?/, url) + assert_match(/(\?|&)gravatar_id=ed5214d4b49154ba0dc397a28ee90eb7(&|$)/, url) + assert_match(/(\?|&)d=nicevatar(&|$)/, url) + assert_match(/(\?|&)size=50(&|$)/, url) + end end should 'use theme passed via param when in development mode' do -- libgit2 0.21.2