Commit b0bac8a689e2ee0e81e5f537c1714602b5576b51

Authored by Victor Costa
1 parent b9800000

Fix role kind resolution

test/fixtures/roles.yml
... ... @@ -55,6 +55,10 @@ profile_admin:
55 55 - view_private_content
56 56 - manage_products
57 57 - send_mail_to_members
  58 + - edit_appearance
  59 + - manage_friends
  60 + - validate_enterprise
  61 + - publish_content
58 62 profile_member:
59 63 id: 6
60 64 environment_id: 1
... ...
test/unit/environment_test.rb
... ... @@ -363,6 +363,14 @@ class EnvironmentTest < ActiveSupport::TestCase
363 363 assert_kind_of Role, Environment::Roles.admin(Environment.default.id)
364 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 374 should 'be able to add admins easily' do
367 375 env = Environment.default
368 376 user = create_user('testuser').person
... ...
vendor/plugins/access_control/lib/role.rb
... ... @@ -35,12 +35,7 @@ class Role < ActiveRecord::Base
35 35 end
36 36  
37 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 39 end
45 40  
46 41 def name
... ...