Commit 959d88c46b09095b39fafc3fef5061f471037f67

Authored by Moises Machado
Committed by Antonio Terceiro
1 parent 883ddd63

ActionItem1123: fixed listing of other envriroments roles

test/functional/profile_members_controller_test.rb
... ... @@ -97,4 +97,19 @@ class ProfileMembersControllerTest < Test::Unit::TestCase
97 97 assert_not_includes com.members, member
98 98 end
99 99  
  100 + should 'not list roles from other environments' do
  101 + env2 = Environment.create!(:name => 'new env')
  102 + role = Role.create!(:name => 'some role', :environment => env2, :permissions => ['manage_memberships'])
  103 +
  104 + com = Community.create!(:name => 'test community')
  105 + p = create_user_with_permission('test_user', 'manage_memberships', com)
  106 + assert_includes com.members.map(&:name), p.name
  107 +
  108 + login_as :test_user
  109 + get :change_role, :id => p.id, :profile => com.identifier
  110 +
  111 + assert_response :success
  112 + assert_not_includes assigns(:roles), role
  113 + end
  114 +
100 115 end
... ...
vendor/plugins/access_control/lib/acts_as_accessible.rb
... ... @@ -32,7 +32,7 @@ class ActiveRecord::Base
32 32 end
33 33  
34 34 def roles
35   - Role.find(:all).select do |r|
  35 + Role.find_all_by_environment_id(environment.id).select do |r|
36 36 r.permissions.any?{ |p| PERMISSIONS[self.class.base_class.name].include?(p) }
37 37 end
38 38 end
... ...