Commit 3fc192fcf0021154b544386b3ffad9ecd69b45fb

Authored by Rodrigo Souto
Committed by Daniela Feitosa
1 parent fdf61a5a

[multiple-templates] Adding manage_environment_templates permission

(ActionItem2378)
app/models/environment.rb
@@ -24,6 +24,7 @@ class Environment < ActiveRecord::Base @@ -24,6 +24,7 @@ class Environment < ActiveRecord::Base
24 'manage_environment_roles' => N_('Manage environment roles'), 24 'manage_environment_roles' => N_('Manage environment roles'),
25 'manage_environment_validators' => N_('Manage environment validators'), 25 'manage_environment_validators' => N_('Manage environment validators'),
26 'manage_environment_users' => N_('Manage environment users'), 26 'manage_environment_users' => N_('Manage environment users'),
  27 + 'manage_environment_templates' => N_('Manage environment templates'),
27 } 28 }
28 29
29 module Roles 30 module Roles
db/migrate/20120718145131_add_manage_environment_templates_to_admin_role.rb 0 → 100644
@@ -0,0 +1,17 @@ @@ -0,0 +1,17 @@
  1 +class AddManageEnvironmentTemplatesToAdminRole < ActiveRecord::Migration
  2 + def self.up
  3 + Environment.all.map(&:id).each do |id|
  4 + role = Environment::Roles.admin(id)
  5 + role.permissions << 'manage_environment_templates'
  6 + role.save!
  7 + end
  8 + end
  9 +
  10 + def self.down
  11 + Environment.all.map(&:id).each do |id|
  12 + role = Environment::Roles.admin(id)
  13 + role.permissions -= ['manage_environment_templates']
  14 + role.save!
  15 + end
  16 + end
  17 +end
test/factories.rb
@@ -58,7 +58,7 @@ module Noosfero::Factory @@ -58,7 +58,7 @@ module Noosfero::Factory
58 ###### old stuff to be rearranged 58 ###### old stuff to be rearranged
59 def create_admin_user(env) 59 def create_admin_user(env)
60 admin_user = User.find_by_login('adminuser') || create_user('adminuser', :email => 'adminuser@noosfero.org', :password => 'adminuser', :password_confirmation => 'adminuser', :environment => env) 60 admin_user = User.find_by_login('adminuser') || create_user('adminuser', :email => 'adminuser@noosfero.org', :password => 'adminuser', :password_confirmation => 'adminuser', :environment => env)
61 - admin_role = Role.find_by_name('admin_role') || Role.create!(:name => 'admin_role', :permissions => ['view_environment_admin_panel','edit_environment_features', 'edit_environment_design', 'manage_environment_categories', 'manage_environment_roles', 'manage_environment_validators', 'manage_environment_users']) 61 + admin_role = Role.find_by_name('admin_role') || Role.create!(:name => 'admin_role', :permissions => ['view_environment_admin_panel','edit_environment_features', 'edit_environment_design', 'manage_environment_categories', 'manage_environment_roles', 'manage_environment_validators', 'manage_environment_users', 'manage_environment_templates'])
62 RoleAssignment.create!(:accessor => admin_user.person, :role => admin_role, :resource => env) unless admin_user.person.role_assignments.map{|ra|[ra.role, ra.accessor, ra.resource]}.include?([admin_role, admin_user, env]) 62 RoleAssignment.create!(:accessor => admin_user.person, :role => admin_role, :resource => env) unless admin_user.person.role_assignments.map{|ra|[ra.role, ra.accessor, ra.resource]}.include?([admin_role, admin_user, env])
63 admin_user.login 63 admin_user.login
64 end 64 end
test/fixtures/roles.yml
@@ -34,6 +34,7 @@ four: @@ -34,6 +34,7 @@ four:
34 - moderate_comments 34 - moderate_comments
35 - perform_task 35 - perform_task
36 - manage_environment_users 36 - manage_environment_users
  37 + - manage_environment_templates
37 profile_admin: 38 profile_admin:
38 id: 5 39 id: 5
39 environment_id: 1 40 environment_id: 1
@@ -86,3 +87,4 @@ environment_administrator: @@ -86,3 +87,4 @@ environment_administrator:
86 - manage_environment_users 87 - manage_environment_users
87 - edit_profile 88 - edit_profile
88 - destroy_profile 89 - destroy_profile
  90 + - manage_environment_templates