Commit 08f5a54342b3633f1addc23fd91f1f8c3e530e34
Committed by
Antonio Terceiro
1 parent
b924e05f
Exists in
master
and in
28 other branches
ActionItem929: fixed image editing back_url
Showing
2 changed files
with
33 additions
and
2 deletions
Show diff stats
app/controllers/my_profile/cms_controller.rb
| ... | ... | @@ -204,7 +204,7 @@ class CmsController < MyProfileController |
| 204 | 204 | if params[:back_to] == 'control_panel' |
| 205 | 205 | redirect_to :controller => 'profile_editor', :profile => @profile.identifier |
| 206 | 206 | elsif params[:back_to] == 'public_view' |
| 207 | - redirect_to @article.url | |
| 207 | + redirect_to @article.url.merge(:view => @article.image?) | |
| 208 | 208 | elsif @article.parent |
| 209 | 209 | redirect_to :action => 'view', :id => @article.parent |
| 210 | 210 | else |
| ... | ... | @@ -214,9 +214,10 @@ class CmsController < MyProfileController |
| 214 | 214 | |
| 215 | 215 | def record_coming_from_public_view |
| 216 | 216 | referer = request.referer |
| 217 | + referer.gsub!(/\?.*/, '') unless referer.nil? | |
| 217 | 218 | if (maybe_ssl(url_for(@article.url)).include?(referer)) || (@article == profile.home_page && maybe_ssl(url_for(profile.url)).include?(referer)) |
| 218 | 219 | @back_to = 'public_view' |
| 219 | - @back_url = @article.url | |
| 220 | + @back_url = @article.url.merge(:view => @article.image?) | |
| 220 | 221 | end |
| 221 | 222 | end |
| 222 | 223 | ... | ... |
test/functional/cms_controller_test.rb
| ... | ... | @@ -866,4 +866,34 @@ class CmsControllerTest < Test::Unit::TestCase |
| 866 | 866 | assert_template nil |
| 867 | 867 | assert_redirected_to folder.url |
| 868 | 868 | end |
| 869 | + | |
| 870 | + should 'record when coming from public view on edit files with view true' do | |
| 871 | + file = UploadedFile.create!(:profile => profile, :uploaded_data => fixture_file_upload('/files/rails.png', 'image/png')) | |
| 872 | + | |
| 873 | + @request.expects(:referer).returns("http://colivre.net/#{profile.identifier}/#{file.slug}?view=true").at_least_once | |
| 874 | + | |
| 875 | + get :edit, :profile => profile.identifier, :id => file.id | |
| 876 | + assert_tag :tag => 'input', :attributes => { :type => 'hidden', :name => 'back_to', :value => 'public_view' } | |
| 877 | + assert_tag :tag => 'a', :descendant => { :content => 'Cancel' }, :attributes => { :href => /^https?:\/\/colivre.net\/#{profile.identifier}\/#{file.slug}?.*view=true/ } | |
| 878 | + end | |
| 879 | + | |
| 880 | + should 'detect when comming from home page to edit files with view true' do | |
| 881 | + file = UploadedFile.create!(:profile => profile, :uploaded_data => fixture_file_upload('/files/rails.png', 'image/png')) | |
| 882 | + profile.expects(:home_page).returns(file).at_least_once | |
| 883 | + | |
| 884 | + @request.expects(:referer).returns("http://colivre.net/#{profile.identifier}?view=true").at_least_once | |
| 885 | + @controller.stubs(:profile).returns(profile) | |
| 886 | + get :edit, :profile => profile.identifier, :id => file.id | |
| 887 | + assert_tag :tag => 'input', :attributes => { :type => 'hidden', :name => 'back_to', :value => 'public_view' } | |
| 888 | + assert_tag :tag => 'a', :descendant => { :content => 'Cancel' }, :attributes => { :href => /^https?:\/\/colivre.net\/#{profile.identifier}\/#{profile.home_page.slug}?.*view=true$/ } | |
| 889 | + end | |
| 890 | + | |
| 891 | + should 'go back to public view when edit files coming from there with view true' do | |
| 892 | + file = UploadedFile.create!(:profile => profile, :uploaded_data => fixture_file_upload('/files/rails.png', 'image/png')) | |
| 893 | + @request.expects(:referer).returns("http://colivre.net/#{profile.identifier}/#{file.slug}?view=true").at_least_once | |
| 894 | + | |
| 895 | + post :edit, :profile => profile.identifier, :id => file.id, :back_to => 'public_view', :article => {:abstract => 'some description'} | |
| 896 | + assert_template nil | |
| 897 | + assert_redirected_to file.url.merge(:view => true) | |
| 898 | + end | |
| 869 | 899 | end | ... | ... |