##// END OF EJS Templates
Merged r9700 from trunk....
Jean-Philippe Lang -
r9521:7cd7b1bd8b99
parent child
Show More
@@ -45,23 +45,27 module WatchersHelper
45 45 # Returns a comma separated list of users watching the given object
46 46 def watchers_list(object)
47 47 remove_allowed = User.current.allowed_to?("delete_#{object.class.name.underscore}_watchers".to_sym, object.project)
48 content = ''.html_safe
48 49 lis = object.watcher_users.collect do |user|
49 s = avatar(user, :size => "16").to_s + link_to_user(user, :class => 'user').to_s
50 s = ''.html_safe
51 s << avatar(user, :size => "16").to_s
52 s << link_to_user(user, :class => 'user')
50 53 if remove_allowed
51 54 url = {:controller => 'watchers',
52 55 :action => 'destroy',
53 56 :object_type => object.class.to_s.underscore,
54 57 :object_id => object.id,
55 58 :user_id => user}
56 s += ' ' + link_to_remote(image_tag('delete.png'),
59 s << ' '
60 s << link_to_remote(image_tag('delete.png'),
57 61 {:url => url},
58 62 :href => url_for(url),
59 63 :style => "vertical-align: middle",
60 64 :class => "delete")
61 65 end
62 content_tag :li, s.html_safe
66 content << content_tag('li', s)
63 67 end
64 (lis.empty? ? "" : "<ul>#{ lis.join("\n") }</ul>").html_safe
68 content.present? ? content_tag('ul', content) : content
65 69 end
66 70
67 71 def watchers_checkboxes(object, users, checked=nil)
@@ -1126,6 +1126,36 class IssuesControllerTest < ActionController::TestCase
1126 1126 assert_tag 'a', :attributes => {:href => "/projects/ecookbook/repository/revisions/3"}
1127 1127 end
1128 1128
1129 def test_show_should_display_watchers
1130 @request.session[:user_id] = 2
1131 Issue.find(1).add_watcher User.find(2)
1132
1133 get :show, :id => 1
1134 assert_select 'div#watchers ul' do
1135 assert_select 'li' do
1136 assert_select 'a[href=/users/2]'
1137 assert_select 'a img[alt=Delete]'
1138 end
1139 end
1140 end
1141
1142 def test_show_should_display_watchers_with_gravatars
1143 @request.session[:user_id] = 2
1144 Issue.find(1).add_watcher User.find(2)
1145
1146 with_settings :gravatar_enabled => '1' do
1147 get :show, :id => 1
1148 end
1149
1150 assert_select 'div#watchers ul' do
1151 assert_select 'li' do
1152 assert_select 'img.gravatar'
1153 assert_select 'a[href=/users/2]'
1154 assert_select 'a img[alt=Delete]'
1155 end
1156 end
1157 end
1158
1129 1159 def test_show_with_multi_custom_field
1130 1160 field = CustomField.find(1)
1131 1161 field.update_attribute :multiple, true
General Comments 0
You need to be logged in to leave comments. Login now