Commit 226e4e287669e2245d3a3fcd552f7460dcd495cc
Committed by
Antonio Terceiro
1 parent
7e5e9579
Exists in
master
and in
29 other branches
ActionItem905: avoid ssl in public articles
Showing
2 changed files
with
11 additions
and
0 deletions
Show diff stats
app/controllers/public/content_viewer_controller.rb
| ... | ... | @@ -44,6 +44,10 @@ class ContentViewerController < ApplicationController |
| 44 | 44 | return if redirect_to_ssl |
| 45 | 45 | end |
| 46 | 46 | |
| 47 | + if @page.public? | |
| 48 | + return unless avoid_ssl | |
| 49 | + end | |
| 50 | + | |
| 47 | 51 | if !@page.display_to?(user) |
| 48 | 52 | # FIXME find a nice "access denied" layout |
| 49 | 53 | render :action => 'access_denied', :status => 403, :layout => false | ... | ... |
test/functional/content_viewer_controller_test.rb
| ... | ... | @@ -460,6 +460,13 @@ class ContentViewerControllerTest < Test::Unit::TestCase |
| 460 | 460 | assert_redirected_to :protocol => 'https://', :profile => 'testinguser', :page => [ 'myarticle' ] |
| 461 | 461 | end |
| 462 | 462 | |
| 463 | + should 'avoid SSL for viewing public articles' do | |
| 464 | + @request.expects(:ssl?).returns(true).at_least_once | |
| 465 | + page = profile.articles.create!(:name => 'myarticle', :body => 'top secret', :public_article => true) | |
| 466 | + get :view_page, :profile => 'testinguser', :page => [ 'myarticle' ] | |
| 467 | + assert_redirected_to :protocol => 'http://', :profile => 'testinguser', :page => [ 'myarticle' ] | |
| 468 | + end | |
| 469 | + | |
| 463 | 470 | should 'not redirect to SSL if already on SSL' do |
| 464 | 471 | @request.expects(:ssl?).returns(true).at_least_once |
| 465 | 472 | page = profile.articles.create!(:name => 'myarticle', :body => 'top secret', :public_article => false) | ... | ... |