From 0da7313fcbe71dda99b5a41dd6a7bbf9f2a2d804 Mon Sep 17 00:00:00 2001 From: Rodrigo Souto Date: Mon, 27 Aug 2012 19:37:56 +0000 Subject: [PATCH] [tolerance-time] Filtering access to edit_comment action after expiration --- plugins/tolerance_time/lib/tolerance_time_plugin.rb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+), 0 deletions(-) diff --git a/plugins/tolerance_time/lib/tolerance_time_plugin.rb b/plugins/tolerance_time/lib/tolerance_time_plugin.rb index a6c3dac..3bc8504 100644 --- a/plugins/tolerance_time/lib/tolerance_time_plugin.rb +++ b/plugins/tolerance_time/lib/tolerance_time_plugin.rb @@ -41,6 +41,22 @@ class ToleranceTimePlugin < Noosfero::Plugin :block => block } end + def content_viewer_controller_filters + return if !context.environment.plugin_enabled?(ToleranceTimePlugin) + block = lambda do + content = Comment.find(params[:id]) + if ToleranceTimePlugin.expired?(content) + session[:notice] = _('This content can\'t be edited anymore because it expired the tolerance time') + redirect_to content.article.url + end + end + + { :type => 'before_filter', + :method_name => 'expired_content', + :options => {:only => 'edit_comment'}, + :block => block } + end + def content_expire_edit(content) if ToleranceTimePlugin.expired?(content) _('The tolerance time for editing this content is over.') -- libgit2 0.21.2