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 24 'manage_environment_roles' => N_('Manage environment roles'),
25 25 'manage_environment_validators' => N_('Manage environment validators'),
26 26 'manage_environment_users' => N_('Manage environment users'),
  27 + 'manage_environment_templates' => N_('Manage environment templates'),
27 28 }
28 29  
29 30 module Roles
... ...
db/migrate/20120718145131_add_manage_environment_templates_to_admin_role.rb 0 → 100644
... ... @@ -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 58 ###### old stuff to be rearranged
59 59 def create_admin_user(env)
60 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 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 63 admin_user.login
64 64 end
... ...
test/fixtures/roles.yml
... ... @@ -34,6 +34,7 @@ four:
34 34 - moderate_comments
35 35 - perform_task
36 36 - manage_environment_users
  37 + - manage_environment_templates
37 38 profile_admin:
38 39 id: 5
39 40 environment_id: 1
... ... @@ -86,3 +87,4 @@ environment_administrator:
86 87 - manage_environment_users
87 88 - edit_profile
88 89 - destroy_profile
  90 + - manage_environment_templates
... ...