From 26f8889c250391f4adc61178129e9396b05dae98 Mon Sep 17 00:00:00 2001 From: Victor Costa Date: Fri, 29 Aug 2014 11:32:10 -0300 Subject: [PATCH] proposals_discussion: fix cache issues --- lib/proposals_discussion_plugin/discussion.rb | 5 +++++ lib/proposals_discussion_plugin/proposal.rb | 5 +++++ lib/proposals_discussion_plugin/topic.rb | 5 +++++ views/content_viewer/proposal.html.erb | 2 +- 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/lib/proposals_discussion_plugin/discussion.rb b/lib/proposals_discussion_plugin/discussion.rb index 61b3280..3cdf592 100644 --- a/lib/proposals_discussion_plugin/discussion.rb +++ b/lib/proposals_discussion_plugin/discussion.rb @@ -21,4 +21,9 @@ class ProposalsDiscussionPlugin::Discussion < Folder end end + def cache_key_with_person(params = {}, user = nil, language = 'en') + cache_key_without_person + (user ? "-#{user.identifier}" : '') + end + alias_method_chain :cache_key, :person + end diff --git a/lib/proposals_discussion_plugin/proposal.rb b/lib/proposals_discussion_plugin/proposal.rb index 9544ed4..625ce4a 100644 --- a/lib/proposals_discussion_plugin/proposal.rb +++ b/lib/proposals_discussion_plugin/proposal.rb @@ -33,4 +33,9 @@ class ProposalsDiscussionPlugin::Proposal < TinyMceArticle (score/holder.max_score.to_f).round(2) end + def cache_key_with_person(params = {}, user = nil, language = 'en') + cache_key_without_person + (user && created_by == user ? "-#{user.identifier}" : '') + end + alias_method_chain :cache_key, :person + end diff --git a/lib/proposals_discussion_plugin/topic.rb b/lib/proposals_discussion_plugin/topic.rb index df287a4..9b9219c 100644 --- a/lib/proposals_discussion_plugin/topic.rb +++ b/lib/proposals_discussion_plugin/topic.rb @@ -51,4 +51,9 @@ class ProposalsDiscussionPlugin::Topic < Folder proposals.joins(:comments).group('date(comments.created_at)').count('comments.id') end + def cache_key_with_person(params = {}, user = nil, language = 'en') + cache_key_without_person + (user ? "-#{user.identifier}" : '') + end + alias_method_chain :cache_key, :person + end diff --git a/views/content_viewer/proposal.html.erb b/views/content_viewer/proposal.html.erb index 9f173aa..442bfc2 100644 --- a/views/content_viewer/proposal.html.erb +++ b/views/content_viewer/proposal.html.erb @@ -22,7 +22,7 @@
<%= @page.body %>
-<% if @page.allow_edit?(user) && !@page.published %> +<% if @page.created_by == user && !@page.published %>
<%= link_to url_for({:controller => 'proposals_discussion_plugin_myprofile', :action => 'publish_proposal', :proposal_id => @page.id}), :class => 'button with-text icon-suggest' do %> <%= _("Publish") %> -- libgit2 0.21.2