]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/user_sweeper.rb
Fix exception with GPX and RSS notes#index when no notes are found
[rails.git] / app / models / user_sweeper.rb
index 84373be74384ecf1ad80dc9135890cb5d04aabaa..8ce48e5b34d6032e5332bba954fe75695f528259 100644 (file)
@@ -14,22 +14,26 @@ private
   def expire_cache_for(old_record, new_record)
     if old_record and
         (new_record.nil? or
-         old_record.visible != new_record.visible or
-         old_record.display_name != new_record.display_name)
+         old_record.visible? != new_record.visible? or
+         old_record.display_name != new_record.display_name or
+         old_record.image.fingerprint != new_record.image.fingerprint)
       old_record.diary_entries.each do |entry|
-        expire_action(:controller => 'diary_entry', :action => 'view', :id => entry.id)
+        expire_action(:controller => 'diary_entry', :action => 'view', :display_name => old_record.display_name, :id => entry.id)
         expire_action(:controller => 'diary_entry', :action => 'list', :language => entry.language_code, :display_name => nil)
-        expire_action(:controller => 'diary_entry', :action => 'rss', :language => entry.language_code, :display_name => nil)
+        expire_action(:controller => 'diary_entry', :action => 'rss', :format => :rss, :language => entry.language_code, :display_name => nil)
+      end
+
+      old_record.diary_comments.each do |comment|
+        expire_action(:controller => 'diary_entry', :action => 'view', :display_name => comment.diary_entry.user.display_name, :id => comment.diary_entry.id)
       end
 
       expire_action(:controller => 'diary_entry', :action => 'list', :language => nil, :display_name => nil)
       expire_action(:controller => 'diary_entry', :action => 'list', :language => nil, :display_name => old_record.display_name)
 
-      expire_action(:controller => 'diary_entry', :action => 'rss', :language => nil, :display_name => nil)
-      expire_action(:controller => 'diary_entry', :action => 'rss', :language => nil, :display_name => old_record.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 => nil, :display_name => old_record.display_name)
 
       old_record.traces.each do |trace|
-        expire_action(:controller => 'trace', :action => 'view', :id => trace.id)
         expire_action(:controller => 'trace', :action => 'view', :display_name => old_record.display_name, :id => trace.id)
 
         trace.tags.each do |tag|