Commit e9c6a9665e330dc9088bea048168d95b87568a43
1 parent
09d0a1d6
Exists in
master
and in
29 other branches
ActionItem519: fixing URL's generated for remove comment
They broke when I added the domain routing stuff git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@2420 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
3 changed files
with
27 additions
and
3 deletions
Show diff stats
app/controllers/public/content_viewer_controller.rb
| @@ -76,7 +76,7 @@ class ContentViewerController < PublicController | @@ -76,7 +76,7 @@ class ContentViewerController < PublicController | ||
| 76 | @comment.destroy | 76 | @comment.destroy |
| 77 | flash[:notice] = _('Comment succesfully deleted') | 77 | flash[:notice] = _('Comment succesfully deleted') |
| 78 | end | 78 | end |
| 79 | - redirect_to :action => 'view_page' | 79 | + redirect_to :action => 'view_page', :profile => params[:profile], :page => @page.explode_path |
| 80 | end | 80 | end |
| 81 | 81 | ||
| 82 | end | 82 | end |
app/views/content_viewer/_comment.rhtml
| @@ -2,7 +2,7 @@ | @@ -2,7 +2,7 @@ | ||
| 2 | <div class="article-comment<%= ' comment-from-owner' if ( comment.author && (@page.profile.name == comment.author.name) ) %> comment-logged-<%= comment.author ? 'in' : 'out' %>"> | 2 | <div class="article-comment<%= ' comment-from-owner' if ( comment.author && (@page.profile.name == comment.author.name) ) %> comment-logged-<%= comment.author ? 'in' : 'out' %>"> |
| 3 | <% if logged_in? && (user == @page.profile || user == comment.author || user.has_permission?(:moderate_comments, @page.profile)) %> | 3 | <% if logged_in? && (user == @page.profile || user == comment.author || user.has_permission?(:moderate_comments, @page.profile)) %> |
| 4 | <% button_bar(:style => 'float: right; margin-top: 0;') do %> | 4 | <% button_bar(:style => 'float: right; margin-top: 0;') do %> |
| 5 | - <%= icon_button(:delete, _('Remove'), { :remove_comment => comment.id }, :method => :post, :confirm => _('Are you sure you want to remove this comment?')) %> | 5 | + <%= icon_button(:delete, _('Remove'), { :profile => params[:profile], :remove_comment => comment.id }, :method => :post, :confirm => _('Are you sure you want to remove this comment?')) %> |
| 6 | <% end %> | 6 | <% end %> |
| 7 | <% end %> | 7 | <% end %> |
| 8 | 8 |
test/functional/content_viewer_controller_test.rb
| @@ -114,6 +114,30 @@ class ContentViewerControllerTest < Test::Unit::TestCase | @@ -114,6 +114,30 @@ class ContentViewerControllerTest < Test::Unit::TestCase | ||
| 114 | assert_equal feed.data, @response.body | 114 | assert_equal feed.data, @response.body |
| 115 | end | 115 | end |
| 116 | 116 | ||
| 117 | + should 'display remove comment button' do | ||
| 118 | + profile = create_user('testuser').person | ||
| 119 | + article = profile.articles.build(:name => 'test') | ||
| 120 | + article.save! | ||
| 121 | + comment = article.comments.build(:author => profile, :title => 'a comment', :body => 'lalala') | ||
| 122 | + comment.save! | ||
| 123 | + | ||
| 124 | + login_as 'testuser' | ||
| 125 | + get :view_page, :profile => 'testuser', :page => [ 'test' ] | ||
| 126 | + assert_tag :tag => 'a', :attributes => { :href => '/testuser/test?remove_comment=' + comment.id.to_s } | ||
| 127 | + end | ||
| 128 | + | ||
| 129 | + should 'not add unneeded params for remove comment button' do | ||
| 130 | + profile = create_user('testuser').person | ||
| 131 | + article = profile.articles.build(:name => 'test') | ||
| 132 | + article.save! | ||
| 133 | + comment = article.comments.build(:author => profile, :title => 'a comment', :body => 'lalala') | ||
| 134 | + comment.save! | ||
| 135 | + | ||
| 136 | + login_as 'testuser' | ||
| 137 | + get :view_page, :profile => 'testuser', :page => [ 'test' ], :random_param => 'bli' # <<<<<<<<<<<<<<< | ||
| 138 | + assert_tag :tag => 'a', :attributes => { :href => '/testuser/test?remove_comment=' + comment.id.to_s } | ||
| 139 | + end | ||
| 140 | + | ||
| 117 | should 'be able to remove comment' do | 141 | should 'be able to remove comment' do |
| 118 | profile = create_user('testuser').person | 142 | profile = create_user('testuser').person |
| 119 | article = profile.articles.build(:name => 'test') | 143 | article = profile.articles.build(:name => 'test') |
| @@ -124,7 +148,7 @@ class ContentViewerControllerTest < Test::Unit::TestCase | @@ -124,7 +148,7 @@ class ContentViewerControllerTest < Test::Unit::TestCase | ||
| 124 | login_as 'testuser' | 148 | login_as 'testuser' |
| 125 | assert_difference Comment, :count, -1 do | 149 | assert_difference Comment, :count, -1 do |
| 126 | post :view_page, :profile => profile.identifier, :page => [ 'test' ], :remove_comment => comment.id | 150 | post :view_page, :profile => profile.identifier, :page => [ 'test' ], :remove_comment => comment.id |
| 127 | - assert_response :redirect | 151 | + assert_redirected_to :profile => 'testuser', :action => 'view_page', :page => [ 'test' ] |
| 128 | end | 152 | end |
| 129 | end | 153 | end |
| 130 | 154 |