From c9356f106c85abc85e99150bc67ffc6d8fddad48 Mon Sep 17 00:00:00 2001 From: MoisesMachado Date: Fri, 19 Oct 2007 21:57:27 +0000 Subject: [PATCH] ActionItem111: fixed a typo on the permissions protection --- app/controllers/environment_admin/admin_panel_controller.rb | 2 +- app/controllers/environment_admin/categories_controller.rb | 2 +- app/controllers/environment_admin/environment_role_manager_controller.rb | 2 +- app/controllers/environment_admin/features_controller.rb | 2 +- app/controllers/environment_admin/region_validators_controller.rb | 2 +- app/controllers/environment_admin/role_controller.rb | 2 ++ app/controllers/profile_admin/membership_editor_controller.rb | 2 +- app/controllers/profile_admin/profile_editor_controller.rb | 6 ++++-- app/controllers/profile_admin/profile_members_controller.rb | 2 +- app/models/person.rb | 8 -------- test/fixtures/role_assignments.yml | 7 +++++++ test/fixtures/roles.yml | 10 ++++++++++ 12 files changed, 30 insertions(+), 17 deletions(-) diff --git a/app/controllers/environment_admin/admin_panel_controller.rb b/app/controllers/environment_admin/admin_panel_controller.rb index 79e9458..f6b9cdb 100644 --- a/app/controllers/environment_admin/admin_panel_controller.rb +++ b/app/controllers/environment_admin/admin_panel_controller.rb @@ -1,4 +1,4 @@ class AdminPanelController < EnvironmentAdminController - protect [:index], 'view_environment_admin_panel' + protect [:index], 'view_environment_admin_panel', :environment end diff --git a/app/controllers/environment_admin/categories_controller.rb b/app/controllers/environment_admin/categories_controller.rb index b695923..2167670 100644 --- a/app/controllers/environment_admin/categories_controller.rb +++ b/app/controllers/environment_admin/categories_controller.rb @@ -1,6 +1,6 @@ class CategoriesController < EnvironmentAdminController - protect [:index, :new, :edit, :remove], 'manage_environment_categories', environment + protect [:index, :new, :edit, :remove], 'manage_environment_categories', :environment helper :categories diff --git a/app/controllers/environment_admin/environment_role_manager_controller.rb b/app/controllers/environment_admin/environment_role_manager_controller.rb index 1de5016..a84d065 100644 --- a/app/controllers/environment_admin/environment_role_manager_controller.rb +++ b/app/controllers/environment_admin/environment_role_manager_controller.rb @@ -1,5 +1,5 @@ class EnvironmentRoleManagerController < ApplicationController - protect [:index, :change_roles, :update_roles, :change_role, :add_role, :remove_role, :unassociate, :make_admin], 'manage_environment_roles', environment + protect [:index, :change_roles, :update_roles, :change_role, :add_role, :remove_role, :unassociate, :make_admin], 'manage_environment_roles', :environment def index @admins = Person.find(:all, :conditions => ['role_assignments.resource_type = ?', 'Environment'], :include => :role_assignments ) diff --git a/app/controllers/environment_admin/features_controller.rb b/app/controllers/environment_admin/features_controller.rb index f85fdf2..254082a 100644 --- a/app/controllers/environment_admin/features_controller.rb +++ b/app/controllers/environment_admin/features_controller.rb @@ -1,5 +1,5 @@ class FeaturesController < EnvironmentAdminController - protect [:index, :update], 'edit_environment_features', environment + protect [:index, :update], 'edit_environment_features', :environment acts_as_environment_admin_controller diff --git a/app/controllers/environment_admin/region_validators_controller.rb b/app/controllers/environment_admin/region_validators_controller.rb index 6c97d2d..95320c0 100644 --- a/app/controllers/environment_admin/region_validators_controller.rb +++ b/app/controllers/environment_admin/region_validators_controller.rb @@ -2,7 +2,7 @@ class RegionValidatorsController < ApplicationController before_filter :load_region_and_search, :except => 'index' - protect [:index, :region, :search, :add, :remove], 'manage_environment_validators', environment + protect [:index, :region, :search, :add, :remove], 'manage_environment_validators', :environment def index @regions = Region.top_level_for(environment) end diff --git a/app/controllers/environment_admin/role_controller.rb b/app/controllers/environment_admin/role_controller.rb index ce17804..c6b8211 100644 --- a/app/controllers/environment_admin/role_controller.rb +++ b/app/controllers/environment_admin/role_controller.rb @@ -1,4 +1,6 @@ class RoleController < EnvironmentAdminController + protect [:index, :show, :new, :create, :edit, :update, :destroy], 'manage_environment_roles', :enviroment + def index @roles = Role.find(:all) end diff --git a/app/controllers/profile_admin/membership_editor_controller.rb b/app/controllers/profile_admin/membership_editor_controller.rb index f4b09ce..005836e 100644 --- a/app/controllers/profile_admin/membership_editor_controller.rb +++ b/app/controllers/profile_admin/membership_editor_controller.rb @@ -4,7 +4,7 @@ class MembershipEditorController < ProfileAdminController needs_profile - protect [:index, :new_enterprise, :create_enterprise ], 'edit_profile', profile + protect [:index, :new_enterprise, :create_enterprise ], 'edit_profile', :profile def index @memberships = current_user.person.memberships diff --git a/app/controllers/profile_admin/profile_editor_controller.rb b/app/controllers/profile_admin/profile_editor_controller.rb index 256f2b1..f05af8c 100644 --- a/app/controllers/profile_admin/profile_editor_controller.rb +++ b/app/controllers/profile_admin/profile_editor_controller.rb @@ -3,8 +3,10 @@ class ProfileEditorController < ProfileAdminController design_editor :holder => 'profile', :autosave => true, :block_types => :block_types - protect [:edit], 'edit_profile', profile - + protect [:edit], 'edit_profile', :profile + + needs_profile + def block_types { 'ListBlock' => _("List Block"), diff --git a/app/controllers/profile_admin/profile_members_controller.rb b/app/controllers/profile_admin/profile_members_controller.rb index ef87cd4..287d26f 100644 --- a/app/controllers/profile_admin/profile_members_controller.rb +++ b/app/controllers/profile_admin/profile_members_controller.rb @@ -1,6 +1,6 @@ class ProfileMembersController < ProfileAdminController - protect [:index, :change_roles, :update_roles, :change_role, :add_role, :remove_role, :unassociate], 'manage_memberships', profile + protect [:index, :change_roles, :update_roles, :change_role, :add_role, :remove_role, :unassociate], 'manage_memberships', :profile def index @members = profile.people.uniq diff --git a/app/models/person.rb b/app/models/person.rb index f412b97..822e6a8 100644 --- a/app/models/person.rb +++ b/app/models/person.rb @@ -15,14 +15,6 @@ class Person < Profile # role_assignments.any? {|ra| ra.has_permission?(perm, res)} # end -# def define_roles(roles, resource) -# associations = RoleAssignment.find(:all, :conditions => {:resource_id => resource.id, :resource_type => resource.class.base_class.name, :person_id => self.id }) -# roles_add = roles - associations.map(&:role) -# roles_remove = associations.map(&:role) - roles -# associations.each { |a| a.destroy if roles_remove.include?(a.role) } -# roles_add.each {|r| RoleAssignment.create(:person_id => self.id, :resource_id => resource.id, :resource_type => resource.class.base_class.name, :role_id => r.id) } -# end - def self.conditions_for_profiles(conditions, person) new_conditions = sanitize_sql(['role_assignments.accessor_id = ?', person]) new_conditions << ' AND ' + sanitize_sql(conditions) unless conditions.blank? diff --git a/test/fixtures/role_assignments.yml b/test/fixtures/role_assignments.yml index de54bed..6fd194e 100644 --- a/test/fixtures/role_assignments.yml +++ b/test/fixtures/role_assignments.yml @@ -20,3 +20,10 @@ three: role_id: 1 resource_id: 6 resource_type: 'Profile' +four: + id: 4 + accessor_id: 4 + accessor_type: 'Person' + role_id: 4 + resource_id: 1 + resource_type: 'Environment' diff --git a/test/fixtures/roles.yml b/test/fixtures/roles.yml index 8422c30..ffee52b 100644 --- a/test/fixtures/roles.yml +++ b/test/fixtures/roles.yml @@ -17,3 +17,13 @@ three: name: 'moderator' permissions: - manage_memberships +four: + id: 4 + name: 'admin' + permissions: + - view_environment_admin_panel + - edit_environment_features + - edit_environment_design + - manage_environment_categories + - manage_environment_roles + - manage_environment_validators -- libgit2 0.21.2