Commit 959d88c46b09095b39fafc3fef5061f471037f67
Committed by
Antonio Terceiro
1 parent
883ddd63
Exists in
master
and in
28 other branches
ActionItem1123: fixed listing of other envriroments roles
Showing
2 changed files
with
16 additions
and
1 deletions
Show diff stats
test/functional/profile_members_controller_test.rb
@@ -97,4 +97,19 @@ class ProfileMembersControllerTest < Test::Unit::TestCase | @@ -97,4 +97,19 @@ class ProfileMembersControllerTest < Test::Unit::TestCase | ||
97 | assert_not_includes com.members, member | 97 | assert_not_includes com.members, member |
98 | end | 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 | end | 115 | end |
vendor/plugins/access_control/lib/acts_as_accessible.rb
@@ -32,7 +32,7 @@ class ActiveRecord::Base | @@ -32,7 +32,7 @@ class ActiveRecord::Base | ||
32 | end | 32 | end |
33 | 33 | ||
34 | def roles | 34 | def roles |
35 | - Role.find(:all).select do |r| | 35 | + Role.find_all_by_environment_id(environment.id).select do |r| |
36 | r.permissions.any?{ |p| PERMISSIONS[self.class.base_class.name].include?(p) } | 36 | r.permissions.any?{ |p| PERMISSIONS[self.class.base_class.name].include?(p) } |
37 | end | 37 | end |
38 | end | 38 | end |