]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/diary_sweeper.rb
Add convenience methods to make ACL use simpler
[rails.git] / app / models / diary_sweeper.rb
index c003cc0f5c342d252accfe5ac6720e05ac032c96..e7fd030573070df91c56a166b3843acf46628cee 100644 (file)
@@ -17,8 +17,8 @@ private
 
   def expire_cache_for(record)
     case
-    when record.is_a?(DiaryEntry): entry = record
-    when record.is_a?(DiaryComment): entry = record.diary_entry
+    when record.is_a?(DiaryEntry) then entry = record
+    when record.is_a?(DiaryComment) then entry = record.diary_entry
     end
 
     expire_action(:controller => 'diary_entry', :action => 'view', :display_name => entry.user.display_name, :id => entry.id)
@@ -27,8 +27,12 @@ private
     expire_action(:controller => 'diary_entry', :action => 'list', :language => entry.language_code, :display_name => nil)
     expire_action(:controller => 'diary_entry', :action => 'list', :language => nil, :display_name => entry.user.display_name)
 
-    expire_action(:controller => 'diary_entry', :action => 'rss', :language => nil, :display_name => nil)
-    expire_action(:controller => 'diary_entry', :action => 'rss', :language => entry.language_code, :display_name => nil)
-    expire_action(:controller => 'diary_entry', :action => 'rss', :language => nil, :display_name => entry.user.display_name)
+    expire_action(:controller => 'diary_entry', :action => 'rss', :format => :rss, :language => nil, :display_name => nil)
+    expire_action(:controller => 'diary_entry', :action => 'rss', :format => :rss, :language => entry.language_code, :display_name => nil)
+    expire_action(:controller => 'diary_entry', :action => 'rss', :format => :rss, :language => nil, :display_name => entry.user.display_name)
+
+    if record.is_a?(DiaryEntry)
+      expire_fragment(:controller => 'diary_entry', :action => 'view', :display_name => entry.user.display_name, :id => entry.id, :part => "location")
+    end
   end
 end