Commit 9e4102e25b79d7142a9f822f6c4cc07a9e2ba0b6

Authored by Antonio Terceiro
1 parent c611bd07

Remove useless hotspot

That idea could be useful for streaming comment data, but it is not
useful to notify plugins that a comment was saved before checking e.g.
that it is not SPAM. So this notification must be done by the
CommentHandler class, *after* it decided that the comment received is
valid (e.g. an antispam plugin decided it is not spam).

ActionItem2306
app/controllers/public/content_viewer_controller.rb
... ... @@ -123,7 +123,6 @@ class ContentViewerController < ApplicationController
123 123 plugins_filter_comment(@comment)
124 124 return if @comment.rejected?
125 125 if (pass_without_comment_captcha? || verify_recaptcha(:model => @comment, :message => _('Please type the words correctly'))) && @comment.save
126   - plugins_comment_saved(@comment)
127 126 @page.touch
128 127 @comment = nil # clear the comment form
129 128 redirect_to :action => 'view_page', :profile => params[:profile], :page => @page.explode_path, :view => params[:view]
... ... @@ -138,12 +137,6 @@ class ContentViewerController < ApplicationController
138 137 end
139 138 end
140 139  
141   - def plugins_comment_saved(comment)
142   - @plugins.each do |plugin|
143   - plugin.comment_saved(comment)
144   - end
145   - end
146   -
147 140 def pass_without_comment_captcha?
148 141 logged_in? && !environment.enabled?('captcha_for_logged_users')
149 142 end
... ...
lib/noosfero/plugin.rb
... ... @@ -232,12 +232,6 @@ class Noosfero::Plugin
232 232 def filter_comment(comment)
233 233 end
234 234  
235   - # This method will be called just after a comment has been saved to the
236   - # database, so that a plugin can perform some action on it.
237   - #
238   - def comment_saved(comment)
239   - end
240   -
241 235 # -> Adds fields to the signup form
242 236 # returns = lambda block that creates html code
243 237 def signup_extra_contents
... ...
test/functional/content_viewer_controller_test.rb
... ... @@ -1395,25 +1395,6 @@ class ContentViewerControllerTest < ActionController::TestCase
1395 1395 end
1396 1396 end
1397 1397  
1398   - should 'notify plugins after a comment is saved' do
1399   - class TestNotifyCommentPlugin < Noosfero::Plugin
1400   - def comment_saved(c)
1401   - @__saved = c.id
1402   - @__title = c.title
1403   - end
1404   - attr_reader :__title
1405   - attr_reader :__saved
1406   - end
1407   - plugin = TestNotifyCommentPlugin.new
1408   - Noosfero::Plugin::Manager.any_instance.stubs(:enabled_plugins).returns([plugin])
1409   - page = profile.articles.create!(:name => 'myarticle', :body => 'the body of the text')
1410   - post :view_page, :profile => profile.identifier, :page => [ 'myarticle' ], :comment => { :title => 'the title of the comment', :body => 'body', :name => "Spammer", :email => 'damn@spammer.com' }, :confirm => 'true'
1411   -
1412   - assert_equal 'the title of the comment', plugin.__title
1413   - assert plugin.__saved
1414   -
1415   - end
1416   -
1417 1398 should 'remove email from article followers when unfollow' do
1418 1399 profile = create_user('testuser').person
1419 1400 follower_email = 'john@doe.br'
... ...