Use some rails magic to avoid having to duplicate all the changeset
[rails.git] / app / views / changeset / list.rxml
1 xml.rss("version" => "2.0", 
2         "xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
3         "xmlns:georss" => "http://www.georss.org/georss") do
4   xml.channel do
5     xml.title t('changeset.list_rss.title')
6     xml.description t('changeset.list_rss.description')
7     xml.link url_for(:controller => "browse", :action => "changesets", :only_path => false)
8     xml.image do
9       xml.url "http://www.openstreetmap.org/images/mag_map-rss2.0.png"
10       xml.title "OpenStreetMap"
11       xml.width "100"
12       xml.height "100"
13       xml.link url_for(:controller => "browse", :action => "changesets", :only_path => false)
14     end
15
16
17     for changeset in @edits
18       xml.item do
19         xml.title t('browse.changeset.title') + " " + h(changeset.id)
20         xml.link url_for(:controller => 'browse', :action => "changeset", :id => changeset.id, :only_path => false)
21         xml.guid url_for(:controller => 'browse', :action => "changeset", :id => changeset.id, :only_path => false)
22         if changeset.user.data_public?
23           xml.author changeset.user.display_name
24         end
25         if changeset.tags['comment']
26           xml.description changeset.tags['comment']
27         end
28         xml.pubDate changeset.created_at.to_s(:rfc822)
29         if changeset.user.data_public?
30           xml.comments url_for(:controller => "message", :action => "new", :id => changeset.user.id, :only_path => false)
31         end
32
33         unless changeset.min_lat.nil?
34           minlon = changeset.min_lon/GeoRecord::SCALE.to_f
35           minlat = changeset.min_lat/GeoRecord::SCALE.to_f
36           maxlon = changeset.max_lon/GeoRecord::SCALE.to_f
37           maxlat = changeset.max_lat/GeoRecord::SCALE.to_f
38
39           # See http://georss.org/Encodings#Geometry
40           lower_corner = "#{minlat} #{minlon}"
41           upper_corner = "#{maxlat} #{maxlon}"
42
43           xml.georss :box, lower_corner + " " + upper_corner
44         end
45       end
46     end
47   end
48 end