Commit b0bac8a689e2ee0e81e5f537c1714602b5576b51

Authored by Victor Costa
1 parent b9800000

Fix role kind resolution

test/fixtures/roles.yml
@@ -55,6 +55,10 @@ profile_admin: @@ -55,6 +55,10 @@ profile_admin:
55 - view_private_content 55 - view_private_content
56 - manage_products 56 - manage_products
57 - send_mail_to_members 57 - send_mail_to_members
  58 + - edit_appearance
  59 + - manage_friends
  60 + - validate_enterprise
  61 + - publish_content
58 profile_member: 62 profile_member:
59 id: 6 63 id: 6
60 environment_id: 1 64 environment_id: 1
test/unit/environment_test.rb
@@ -363,6 +363,14 @@ class EnvironmentTest < ActiveSupport::TestCase @@ -363,6 +363,14 @@ class EnvironmentTest < ActiveSupport::TestCase
363 assert_kind_of Role, Environment::Roles.admin(Environment.default.id) 363 assert_kind_of Role, Environment::Roles.admin(Environment.default.id)
364 end 364 end
365 365
  366 + should 'create environment and profile default roles' do
  367 + env = Environment.default
  368 + assert_equal 'Environment', env.roles.find_by_key('environment_administrator').kind
  369 + assert_equal 'Profile', env.roles.find_by_key('profile_admin').kind
  370 + assert_equal 'Profile', env.roles.find_by_key('profile_member').kind
  371 + assert_equal 'Profile', env.roles.find_by_key('profile_moderator').kind
  372 + end
  373 +
366 should 'be able to add admins easily' do 374 should 'be able to add admins easily' do
367 env = Environment.default 375 env = Environment.default
368 user = create_user('testuser').person 376 user = create_user('testuser').person
vendor/plugins/access_control/lib/role.rb
@@ -35,12 +35,7 @@ class Role < ActiveRecord::Base @@ -35,12 +35,7 @@ class Role < ActiveRecord::Base
35 end 35 end
36 36
37 def kind 37 def kind
38 - env_perms = perms['Environment'].keys  
39 - if permissions.any?{ |perm| env_perms.include?(perm) }  
40 - 'Environment'  
41 - else  
42 - 'Profile'  
43 - end 38 + key.present? && key.starts_with?('environment_') ? 'Environment' : 'Profile'
44 end 39 end
45 40
46 def name 41 def name