Commit 181fc2687fd8233c08ed14d6ebf8f08bd1d25718

Authored by Joenio Costa
1 parent 3f489bc4

Check whitelist members only if environment is restricted

(ActionItem3191)
app/controllers/application_controller.rb
... ... @@ -8,7 +8,7 @@ class ApplicationController < ActionController::Base
8 8 before_filter :init_noosfero_plugins
9 9 before_filter :allow_cross_domain_access
10 10 before_filter :login_required, :if => :private_environment?
11   - before_filter :verify_members_whitelist, :if => :user
  11 + before_filter :verify_members_whitelist, :if => [:private_environment?, :user]
12 12  
13 13 def verify_members_whitelist
14 14 render_access_denied unless user.is_admin? || environment.in_whitelist?(user)
... ...
test/functional/application_controller_test.rb
... ... @@ -564,9 +564,10 @@ class ApplicationControllerTest < ActionController::TestCase
564 564 assert_redirected_to :controller => 'account', :action => 'login'
565 565 end
566 566  
567   - should 'do not allow member not included in whitelist to access an environment' do
  567 + should 'do not allow member not included in whitelist to access an restricted environment' do
568 568 user = create_user
569 569 e = Environment.default
  570 + e.enable(:restrict_to_members)
570 571 e.members_whitelist_enabled = true
571 572 e.save!
572 573 login_as(user.login)
... ... @@ -604,4 +605,15 @@ class ApplicationControllerTest < ActionController::TestCase
604 605 assert_response :success
605 606 end
606 607  
  608 + should 'not check whitelist members if the environment is not restrict to members' do
  609 + e = Environment.default
  610 + e.disable(:restrict_to_members)
  611 + e.members_whitelist_enabled = true
  612 + e.save!
  613 + @controller.expects(:verify_members_whitelist).never
  614 + login_as create_user.login
  615 + get :index
  616 + assert_response :success
  617 + end
  618 +
607 619 end
... ...