From cbf24413b8bea746a7ccb9d2642c93428b3a5613 Mon Sep 17 00:00:00 2001 From: André Bernardes Date: Thu, 26 Feb 2015 13:14:09 -0300 Subject: [PATCH] Refactoring profile to fix tests --- app/controllers/my_profile/profile_roles_controller.rb | 14 ++++++++++---- app/models/profile.rb | 10 ++-------- test/functional/content_viewer_controller_test.rb | 4 ++-- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/app/controllers/my_profile/profile_roles_controller.rb b/app/controllers/my_profile/profile_roles_controller.rb index 9b07242..b0863a9 100644 --- a/app/controllers/my_profile/profile_roles_controller.rb +++ b/app/controllers/my_profile/profile_roles_controller.rb @@ -1,9 +1,9 @@ class ProfileRolesController < MyProfileController protect 'manage_custom_roles', :profile - + def index - @roles = Profile::Roles.organization_custom_roles(environment.id, profile.id) + @roles = profile.custom_roles end def new @@ -38,7 +38,7 @@ class ProfileRolesController < MyProfileController def destroy @role = environment.roles.find(params[:id]) @members = profile.members_by_role(@role) - @roles_list = Profile::Roles.organization_all_roles(environment.id, profile.id) + @roles_list = all_roles(environment, profile) @roles_list.delete(@role) end @@ -67,7 +67,7 @@ class ProfileRolesController < MyProfileController def assign @role = environment.roles.find(params[:id]) - @roles_list = Profile::Roles.organization_all_roles(environment.id, profile.id) + @roles_list = all_roles(environment, profile) @roles_list.delete(@role) end @@ -94,11 +94,17 @@ class ProfileRolesController < MyProfileController person.define_roles(all_roles, profile) end end + + def all_roles(environment, profile) + Profile::Roles.organization_member_roles(environment.id) + profile.custom_roles + end + def replace_roles(members, roles, profile) members.each do |person| person.define_roles(roles, profile) end end + def replace_role(members, role, new_role, profile) members.each do |person| person.remove_role(role, profile) diff --git a/app/models/profile.rb b/app/models/profile.rb index 62a67b8..91d1a22 100644 --- a/app/models/profile.rb +++ b/app/models/profile.rb @@ -45,14 +45,8 @@ class Profile < ActiveRecord::Base def self.organization_member_roles(env_id) all_roles(env_id).select{ |r| r.key.match(/^profile_/) unless r.key.blank? } end - def self.organization_custom_roles(env_id, profile_id) - all_roles(env_id, profile_id).select{ |r| r.key.match(/^profile_/) unless r.key.blank? } - end - def self.organization_all_roles(env_id, profile_id) - self.organization_member_roles(env_id) + self.organization_custom_roles(env_id, profile_id) - end - def self.all_roles(env_id, profile_id=nil) - Role.all :conditions => { :profile_id => profile_id, :environment_id => env_id } + def self.all_roles(env_id) + Role.all :conditions => { :environment_id => env_id } end def self.method_missing(m, *args, &block) role = find_role(m, args[0]) diff --git a/test/functional/content_viewer_controller_test.rb b/test/functional/content_viewer_controller_test.rb index 5d6210f..8921c80 100644 --- a/test/functional/content_viewer_controller_test.rb +++ b/test/functional/content_viewer_controller_test.rb @@ -175,7 +175,7 @@ class ContentViewerControllerTest < ActionController::TestCase admin = fast_create(Person) community.add_member(admin) - folder = fast_create(Folder, :profile_id => community.id, :published => false) + folder = fast_create(Folder, :profile_id => community.id, :published => false, :show_to_followers => false) community.add_member(profile) login_as(profile.identifier) @@ -278,7 +278,7 @@ class ContentViewerControllerTest < ActionController::TestCase should 'not give access to private articles if logged in and only member' do person = create_user('test_user').person profile = Profile.create!(:name => 'test profile', :identifier => 'test_profile') - intranet = Folder.create!(:name => 'my_intranet', :profile => profile, :published => false) + intranet = Folder.create!(:name => 'my_intranet', :profile => profile, :published => false, :show_to_followers => false) profile.affiliate(person, Profile::Roles.member(profile.environment.id)) login_as('test_user') -- libgit2 0.21.2