diff --git a/app/helpers/versions_helper.rb b/app/helpers/versions_helper.rb
index faaa64b93..78d808e09 100644
--- a/app/helpers/versions_helper.rb
+++ b/app/helpers/versions_helper.rb
@@ -73,4 +73,17 @@ module VersionsHelper
def status_by_options_for_select(value)
options_for_select(STATUS_BY_CRITERIAS.collect {|criteria| [l("field_#{criteria}".to_sym), criteria]}, value)
end
+
+ def render_issue_subject_with_avatar(issue, project=nil)
+ s = link_to_issue(issue, :project => (project != issue.project))
+ if Setting.gravatar_enabled? && issue.assigned_to
+ content_tag(:span, avatar(issue.assigned_to,
+ :size => "16",
+ :class => "gravatar icon-gravatar",
+ :title => l(:field_assigned_to) + ": " + issue.assigned_to.name).html_safe + s)
+ else
+ content_tag(:span, s, :class => 'icon icon-issue')
+ end
+ end
+
end
diff --git a/app/views/versions/index.html.erb b/app/views/versions/index.html.erb
index 429bc5b92..5ebc360dd 100644
--- a/app/views/versions/index.html.erb
+++ b/app/views/versions/index.html.erb
@@ -30,7 +30,7 @@
<% issues.each do |issue| -%>
<% end -%>
diff --git a/app/views/versions/show.html.erb b/app/views/versions/show.html.erb
index ad3ed2521..0f8b0bf3a 100644
--- a/app/views/versions/show.html.erb
+++ b/app/views/versions/show.html.erb
@@ -44,7 +44,7 @@
<%- @issues.each do |issue| -%>
<% end %>
diff --git a/test/functional/versions_controller_test.rb b/test/functional/versions_controller_test.rb
index b827a1fd3..c2ecbe299 100644
--- a/test/functional/versions_controller_test.rb
+++ b/test/functional/versions_controller_test.rb
@@ -98,6 +98,19 @@ class VersionsControllerTest < Redmine::ControllerTest
end
end
+ def test_index_with_avaters
+ version = Version.create!(:project_id => 1, :name => "version")
+ assigned_issue = Issue.generate!(:project_id => 1, :fixed_version_id => version.id, :assigned_to => User.find_by_login('jsmith'))
+ not_assigned_issue = Issue.generate!(:project_id => 1, :fixed_version_id => version.id, :assigned_to => nil)
+ with_settings :gravatar_enabled => '1' do
+ get :index, :params => {:project_id => 1}
+ assert_response :success
+ # Issue with assignee should contain user's avatar
+ assert_select 'td.subject span img[class=?][title=?], a[href=?]', 'gravatar icon-gravatar', 'Assignee: John Smith', issue_path(assigned_issue)
+ assert_select 'td.subject span[class=?] a[href=?]', 'icon icon-issue', issue_path(not_assigned_issue)
+ end
+ end
+
def test_show
get :show, :params => {:id => 2}
assert_response :success
diff --git a/test/helpers/version_helper_test.rb b/test/helpers/version_helper_test.rb
index bf72d22ef..f7563a23a 100644
--- a/test/helpers/version_helper_test.rb
+++ b/test/helpers/version_helper_test.rb
@@ -20,6 +20,7 @@
require File.expand_path('../../test_helper', __FILE__)
class VersionsHelperTest < Redmine::HelperTest
+ include ERB::Util
include Rails.application.routes.url_helpers
fixtures :projects, :versions
@@ -53,4 +54,22 @@ class VersionsHelperTest < Redmine::HelperTest
version.project = Project.find(5)
assert_match /^\/issues\?/, version_filtered_issues_path(version)
end
+
+ def test_link_to_issue_with_avater
+ with_settings :gravatar_enabled => '1' do
+ issue = Issue.generate!(:subject => "Assigned Issue", :assigned_to => User.find_by_login('jsmith'))
+ avater = avatar(issue.assigned_to,
+ :size => "16",
+ :class => "gravatar icon-gravatar",
+ :title => l(:field_assigned_to) + ": " + issue.assigned_to.name)
+ str = render_issue_subject_with_avatar(issue)
+ assert_include avater, str
+ assert_not_include 'class="icon icon-issue"', str
+
+ issue.update!(:assigned_to => nil)
+ str = render_issue_subject_with_avatar(issue)
+ assert_include 'class="icon icon-issue"', str
+ assert_not_include avater, str
+ end
+ end
end