Commit 3e7e1a28d62645e078d045cc259c7166d31ed4fd

Authored by Daniela Feitosa
1 parent 76d1fba0

Checking permission to display button to send_email

(ActionItem2388)
app/views/profile_members/_index_buttons.rhtml
@@ -4,7 +4,9 @@ @@ -4,7 +4,9 @@
4 <% if profile.community? and user.has_permission?(:invite_members, profile) %> 4 <% if profile.community? and user.has_permission?(:invite_members, profile) %>
5 <%= button :search, _('Invite your friends to join %s') % profile.short_name, :controller => 'invite', :action => 'select_address_book' %> 5 <%= button :search, _('Invite your friends to join %s') % profile.short_name, :controller => 'invite', :action => 'select_address_book' %>
6 <% end %> 6 <% end %>
7 - <%= button :send, _('Send e-mail to members'), :controller => 'profile', :action => 'send_mail' %> 7 + <% if profile.community? and user.has_permission?(:send_mail_to_members, profile) %>
  8 + <%= button :send, _('Send e-mail to members'), :controller => 'profile', :action => 'send_mail' %>
  9 + <% end %>
8 <% @plugins.dispatch(:manage_members_extra_buttons).each do |plugin_button| %> 10 <% @plugins.dispatch(:manage_members_extra_buttons).each do |plugin_button| %>
9 <%= button plugin_button[:icon], plugin_button[:title], plugin_button[:url] %> 11 <%= button plugin_button[:icon], plugin_button[:title], plugin_button[:url] %>
10 <% end %> 12 <% end %>
test/functional/profile_members_controller_test.rb
@@ -176,6 +176,25 @@ class ProfileMembersControllerTest &lt; ActionController::TestCase @@ -176,6 +176,25 @@ class ProfileMembersControllerTest &lt; ActionController::TestCase
176 assert_no_tag :tag => 'td', :descendant => { :tag => 'a', :attributes => {:class => /icon-remove/, :onclick => /#{admin.identifier}/} } 176 assert_no_tag :tag => 'td', :descendant => { :tag => 'a', :attributes => {:class => /icon-remove/, :onclick => /#{admin.identifier}/} }
177 end 177 end
178 178
  179 + should 'display send email to members that have the permission' do
  180 + community = Community.create!(:name => 'Test Com', :identifier => 'test_com')
  181 + person = create_user_with_permission('test_user', 'manage_memberships', community)
  182 + give_permission(person, 'send_mail_to_members', community)
  183 + login_as :test_user
  184 +
  185 + get :index, :profile => community.identifier
  186 + assert_tag :tag => 'a', :attributes => {:href => /send_mail/}
  187 + end
  188 +
  189 + should 'not display send email to members if doesn\'t have the permission' do
  190 + community = Community.create!(:name => 'Test Com', :identifier => 'test_com')
  191 + person = create_user_with_permission('test_user', 'manage_memberships', community)
  192 + login_as :test_user
  193 +
  194 + get :index, :profile => community.identifier
  195 + assert_no_tag :tag => 'a', :attributes => {:href => /send_mail/}
  196 + end
  197 +
179 should 'have a add_members page' do 198 should 'have a add_members page' do
180 ent = fast_create(Enterprise, :name => 'Test Ent', :identifier => 'test_ent') 199 ent = fast_create(Enterprise, :name => 'Test Ent', :identifier => 'test_ent')
181 u = create_user_with_permission('test_user', 'manage_memberships', ent) 200 u = create_user_with_permission('test_user', 'manage_memberships', ent)