]> git.openstreetmap.org Git - rails.git/blobdiff - app/views/notes/feed.rss.builder
Merge remote-tracking branch 'upstream/pull/1837'
[rails.git] / app / views / notes / feed.rss.builder
index ba0e3fbfecdfa5ca6149358e3f4dbe8f961124f6..4a4fb3e1a75c05bb6b1ec9340163f6cdf5a6694a 100644 (file)
@@ -1,44 +1,29 @@
 xml.instruct!
 
-xml.rss("version" => "2.0", 
+xml.rss("version" => "2.0",
+        "xmlns:dc" => "http://purl.org/dc/elements/1.1/",
         "xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
         "xmlns:georss" => "http://www.georss.org/georss") do
   xml.channel do
-    xml.title t('note.rss.title')
-    xml.description t('note.rss.description_area', :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon )
+    xml.title t("notes.rss.title")
+    xml.description t("notes.rss.description_area", :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon)
     xml.link url_for(:controller => "site", :action => "index", :only_path => false)
 
     @comments.each do |comment|
-      location_string = Rails.cache.fetch("location_description_#{comment.note.lat}_#{comment.note.lon}_#{locale}") do
-        describe_location comment.note.lat, comment.note.lon, 14, locale
-      end
+      location = describe_location(comment.note.lat, comment.note.lon, 14, locale)
+
       xml.item do
-        if comment.event == "closed"
-          xml.title t('note.rss.closed', :place => location_string)    
-        elsif comment.event == "commented"
-          xml.title t('note.rss.comment', :place => location_string)
-        elsif comment.event == "opened"
-          xml.title t('note.rss.new', :place => location_string)
-        else
-          xml.title "unknown event"
-        end
-        
-        xml.link url_for(:controller => "browse", :action => "note", :id => comment.note.id, :only_path => false)
-        xml.guid url_for(:controller => "browse", :action => "note", :id => comment.note.id, :only_path => false)
+        xml.title t("notes.rss.#{comment.event}", :place => location)
 
-        description_text = ""
+        xml.link url_for(:controller => "browse", :action => "note", :id => comment.note.id, :anchor => "c#{comment.id}", :only_path => false)
+        xml.guid url_for(:controller => "browse", :action => "note", :id => comment.note.id, :anchor => "c#{comment.id}", :only_path => false)
 
-        if comment.event == "commented" and not comment.nil?
-          description_text += "<b>Comment:</b><br>"
-          description_text += comment.body.to_html
-          description_text += "<br>"
+        xml.description do
+          xml.cdata! render(:partial => "entry", :object => comment, :formats => [:html])
         end
 
-        description_text += "<b>Full note:</b><br>"
-        description_text += comment.note.flatten_comment("<br>", comment.created_at)
+        xml.dc :creator, comment.author.display_name if comment.author
 
-        xml.description description_text 
-        xml.author comment.author_name
         xml.pubDate comment.created_at.to_s(:rfc822)
         xml.geo :lat, comment.note.lat
         xml.geo :long, comment.note.lon