Commit 7403a5972965fa0a791d7c821b25abb21774c3f9
1 parent
36b7747a
Exists in
master
and in
29 other branches
ActionItem154: using stardard roles instead of ones created with sample data.
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@1378 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
6 changed files
with
32 additions
and
6 deletions
Show diff stats
app/models/environment.rb
... | ... | @@ -12,6 +12,12 @@ class Environment < ActiveRecord::Base |
12 | 12 | 'manage_environment_validators' => N_('Manage environment validators'), |
13 | 13 | } |
14 | 14 | |
15 | + module Roles | |
16 | + def self.admin | |
17 | + Role.find_by_key('environment_administrator') | |
18 | + end | |
19 | + end | |
20 | + | |
15 | 21 | # returns the available features for a Environment, in the form of a |
16 | 22 | # hash, with pairs in the form <tt>'feature_name' => 'Feature name'</tt>. |
17 | 23 | def self.available_features | ... | ... |
app/models/profile.rb
db/migrate/013_access_control_migration.rb
... | ... | @@ -18,6 +18,10 @@ class AccessControlMigration < ActiveRecord::Migration |
18 | 18 | |
19 | 19 | # create system-defined roles |
20 | 20 | Role.with_scope(:create => { :system => true }) do |
21 | + | |
22 | + # Environment administrator! | |
23 | + Role.create!(:key => 'environment_administrator', :name => N_('Environment Administrator'), :permissions => ['view_environment_admin_panel','edit_environment_features', 'edit_environment_design', 'manage_environment_categories', 'manage_environment_roles', 'manage_environment_validators']) | |
24 | + | |
21 | 25 | Role.create!(:key => 'profile_admin', :name => N_('Profile Administrator'), :permissions => [ |
22 | 26 | 'edit_profile', |
23 | 27 | 'destroy_profile', |
... | ... | @@ -27,10 +31,14 @@ class AccessControlMigration < ActiveRecord::Migration |
27 | 31 | 'manage_products', |
28 | 32 | ]) |
29 | 33 | |
30 | - # members for environments, communities etc | |
34 | + # members for enterprises, communities etc | |
31 | 35 | Role.create!(:key => "profile_member", :name => N_('Member'), :permissions => [ |
32 | - 'post_content' | |
36 | + 'edit_profile', 'post_content', 'manage_products' | |
33 | 37 | ]) |
38 | + | |
39 | + # moderators for enterprises, communities etc | |
40 | + Role.create!(:key => 'profile_moderator', :name => N_('Moderator'), :permissions => [ 'manage_memberships', 'edit_profile_design', 'manage_products' ]) | |
41 | + | |
34 | 42 | end |
35 | 43 | end |
36 | 44 | ... | ... |
script/anhetegua
... | ... | @@ -86,7 +86,7 @@ owner_role = Profile::Roles.admin |
86 | 86 | |
87 | 87 | # root user of the system, admin_role for him, the assignment of the role for him and the ownership of the system homepage |
88 | 88 | root = User.create!(:login => 'root', :email => 'root@noosfero.org', :password => 'root', :password_confirmation => 'root').person |
89 | -admin_role = Role.create!(:name => 'admin', :permissions => ['view_environment_admin_panel','edit_environment_features', 'edit_environment_design', 'manage_environment_categories', 'manage_environment_roles', 'manage_environment_validators']) | |
89 | +admin_role = Environment::Roles.admin | |
90 | 90 | |
91 | 91 | RoleAssignment.create!(:accessor => root, :role => admin_role, :resource => Environment.default) |
92 | 92 | |
... | ... | @@ -97,9 +97,8 @@ empa = Enterprise.create!(:name => 'Empreendimento A', :identifier => 'empreendi |
97 | 97 | empa.affiliate(ze, owner_role) |
98 | 98 | colivre.affiliate(ze, owner_role) |
99 | 99 | |
100 | -member_role = Role.create!(:name => 'membro', :permissions => ['edit_profile', 'post_content', 'manage_products'] ) | |
101 | -moderator_role = Role.create!(:name => 'moderador', :permissions => ['manage_memberships', 'edit_profile_design', 'manage_products'] ) | |
102 | - | |
100 | +member_role = Profile::Roles.member | |
101 | +moderator_role = Profile::Roles.moderator | |
103 | 102 | |
104 | 103 | # product categories |
105 | 104 | produtos = ProductCategory.create!(:name => 'Produtos', :environment => Environment.default, :display_color => 4) | ... | ... |
test/unit/environment_test.rb
... | ... | @@ -258,4 +258,9 @@ class EnvironmentTest < Test::Unit::TestCase |
258 | 258 | assert_equal 'my fine environment', env.description |
259 | 259 | end |
260 | 260 | |
261 | + should 'have admin role' do | |
262 | + Role.expects(:find_by_key).with('environment_administrator').returns(Role.new) | |
263 | + assert_kind_of Role, Environment::Roles.admin | |
264 | + end | |
265 | + | |
261 | 266 | end | ... | ... |
test/unit/profile_test.rb
... | ... | @@ -309,6 +309,11 @@ class ProfileTest < Test::Unit::TestCase |
309 | 309 | assert_kind_of Role, Profile::Roles.member |
310 | 310 | end |
311 | 311 | |
312 | + should 'have moderator role' do | |
313 | + Role.expects(:find_by_key).with('profile_moderator').returns(Role.new) | |
314 | + assert_kind_of Role, Profile::Roles.moderator | |
315 | + end | |
316 | + | |
312 | 317 | should 'not have members by default' do |
313 | 318 | assert_equal false, Profile.new.has_members? |
314 | 319 | end | ... | ... |