Commit 97f389ba1297ef930f59f97b7ab16980e7eaeb82
1 parent
acd66894
Exists in
master
and in
28 other branches
needs_profile: not redirect if request.host is equal to profile hostname
(ActionItem2887)
Showing
2 changed files
with
12 additions
and
1 deletions
Show diff stats
lib/needs_profile.rb
... | ... | @@ -24,7 +24,7 @@ module NeedsProfile |
24 | 24 | @profile ||= environment.profiles.find_by_identifier(params[:profile]) |
25 | 25 | if @profile |
26 | 26 | profile_hostname = @profile.hostname |
27 | - if profile_hostname && request.host == @environment.default_hostname | |
27 | + if profile_hostname && profile_hostname != request.host | |
28 | 28 | params.delete(:profile) |
29 | 29 | redirect_to(Noosfero.url_options.merge(params).merge(:host => profile_hostname)) |
30 | 30 | end | ... | ... |
test/functional/profile_editor_controller_test.rb
... | ... | @@ -624,6 +624,7 @@ class ProfileEditorControllerTest < ActionController::TestCase |
624 | 624 | |
625 | 625 | profile.domains << Domain.new(:name => 'myowndomain.net') |
626 | 626 | profile.environment.domains << Domain.new(:name => 'myenv.net') |
627 | + ActionController::TestRequest.any_instance.stubs(:host).returns(profile.hostname) | |
627 | 628 | |
628 | 629 | get :edit, :profile => profile.identifier |
629 | 630 | assert_tag :tag => 'select', :attributes => { :name => 'profile_data[preferred_domain_id]' }, :descendant => { :tag => "option", :content => 'myowndomain.net' } |
... | ... | @@ -639,6 +640,7 @@ class ProfileEditorControllerTest < ActionController::TestCase |
639 | 640 | |
640 | 641 | profile.domains << Domain.new(:name => 'myowndomain.net') |
641 | 642 | profile.environment.domains << Domain.new(:name => 'myenv.net') |
643 | + ActionController::TestRequest.any_instance.stubs(:host).returns(profile.hostname) | |
642 | 644 | |
643 | 645 | get :edit, :profile => profile.identifier |
644 | 646 | assert_tag :tag => "select", :attributes => { :name => 'profile_data[preferred_domain_id]'}, :descendant => { :tag => 'option', :content => '<Select domain>', :attributes => { :value => '' } } |
... | ... | @@ -978,4 +980,13 @@ class ProfileEditorControllerTest < ActionController::TestCase |
978 | 980 | assert_equal({}, person.reload.fields_privacy) |
979 | 981 | end |
980 | 982 | |
983 | + should 'not redirect if the profile_hostname is the same as environment hostname' do | |
984 | + Person.any_instance.stubs(:hostname).returns('hostname.org') | |
985 | + Environment.any_instance.stubs(:default_hostname).returns('hostname.org') | |
986 | + ActionController::TestRequest.any_instance.stubs(:host).returns('hostname.org') | |
987 | + get :index, :profile => profile.identifier | |
988 | + assert_response :success | |
989 | + end | |
990 | + | |
991 | + | |
981 | 992 | end | ... | ... |