X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/9a32033209545a69d60cbd551e6bd975cda64341..a0dc300840c236d6460c0641f8a9f47246815ad1:/app/views/changeset/list.atom.builder?ds=sidebyside diff --git a/app/views/changeset/list.atom.builder b/app/views/changeset/list.atom.builder index 650ef4375..33b284417 100644 --- a/app/views/changeset/list.atom.builder +++ b/app/views/changeset/list.atom.builder @@ -1,24 +1,20 @@ atom_feed(:language => I18n.locale, :schema_date => 2009, - :id => url_for(params.merge({ :only_path => false })), - :root_url => url_for(params.merge({ :only_path => false, :format => nil })), + :id => url_for(@params.merge(:only_path => false)), + :root_url => url_for(@params.merge(:action => :list, :format => nil, :only_path => false)), "xmlns:georss" => "http://www.georss.org/georss") do |feed| - feed.title @title + feed.title changeset_list_title(params, current_user) - feed.subtitle :type => 'xhtml' do |xhtml| - xhtml.p @description - end - - feed.updated @edits.map {|e| [e.created_at, e.closed_at].max }.max - feed.icon "http://#{SERVER_URL}/favicon.ico" - feed.logo "http://#{SERVER_URL}/images/mag_map-rss2.0.png" + feed.updated @edits.map { |e| [e.created_at, e.closed_at].max }.max + feed.icon image_url("favicon.ico") + feed.logo image_url("mag_map-rss2.0.png") - feed.rights :type => 'xhtml' do |xhtml| - xhtml.a :href => "http://creativecommons.org/licenses/by-sa/2.0/" do |a| - a.img :src => "http://#{SERVER_URL}/images/cc_button.png", :alt => "CC by-sa 2.0" + feed.rights :type => "xhtml" do |xhtml| + xhtml.a :href => "https://creativecommons.org/licenses/by-sa/2.0/" do |a| + a.img :src => image_url("cc_button.png"), :alt => "CC by-sa 2.0" end end - for changeset in @edits + @edits.each do |changeset| feed.entry(changeset, :updated => changeset.closed_at, :id => changeset_url(changeset.id, :only_path => false)) do |entry| entry.link :rel => "alternate", :href => changeset_read_url(changeset, :only_path => false), @@ -27,40 +23,46 @@ atom_feed(:language => I18n.locale, :schema_date => 2009, :href => changeset_download_url(changeset, :only_path => false), :type => "application/osmChange+xml" - entry.title t('browse.changeset.title') + " " + h(changeset.id) + if !changeset.tags.empty? && changeset.tags.key?("comment") + entry.title t("browse.changeset.feed.title_comment", :id => h(changeset.id), :comment => h(changeset.tags["comment"])), :type => "html" + else + entry.title t("browse.changeset.feed.title", :id => h(changeset.id)) + end if changeset.user.data_public? entry.author do |author| author.name changeset.user.display_name - author.uri url_for(:controller => 'user', :action => 'view', :display_name => changeset.user.display_name, :only_path => false) + author.uri user_url(changeset.user, :only_path => false) end end - feed.content :type => 'xhtml' do |xhtml| - xhtml.h2 t("browse.changeset.changeset", :id => changeset.id) + feed.content :type => "xhtml" do |xhtml| + xhtml.style "th { text-align: left } tr { vertical-align: top }" xhtml.table do |table| table.tr do |tr| - tr.th t("browse.changeset_details.created_at") + tr.th t("browse.created") tr.td l(changeset.created_at) end table.tr do |tr| - tr.th t("browse.changeset_details.closed_at") + tr.th t("browse.closed") tr.td l(changeset.closed_at) end if changeset.user.data_public? table.tr do |tr| - tr.th t("browse.changeset_details.belongs_to") - tr.td link_to(h(changeset.user.display_name), :controller => "user", :action => "view", :display_name => changeset.user.display_name, :only_path => false) + tr.th t("browse.changeset.belongs_to") + tr.td do |td| + td.a h(changeset.user.display_name), :href => user_url(changeset.user, :only_path => false) + end end end unless changeset.tags.empty? - table.tr :valign => "top" do |tr| + table.tr do |tr| tr.th t("browse.tag_details.tags") tr.td do |td| td.table :cellpadding => "0" do |table| changeset.tags.sort.each do |tag| table.tr do |tr| - tr.td "#{h(tag[0])} = #{sanitize(auto_link(tag[1]))}" + tr.td << "#{h(tag[0])} = #{linkify(h(tag[1]))}" end end end @@ -70,15 +72,12 @@ atom_feed(:language => I18n.locale, :schema_date => 2009, end end - unless changeset.min_lat.nil? - minlon = changeset.min_lon/GeoRecord::SCALE.to_f - minlat = changeset.min_lat/GeoRecord::SCALE.to_f - maxlon = changeset.max_lon/GeoRecord::SCALE.to_f - maxlat = changeset.max_lat/GeoRecord::SCALE.to_f + if changeset.has_valid_bbox? + bbox = changeset.bbox.to_unscaled # See http://georss.org/Encodings#Geometry - lower_corner = "#{minlat} #{minlon}" - upper_corner = "#{maxlat} #{maxlon}" + lower_corner = "#{bbox.min_lat} #{bbox.min_lon}" + upper_corner = "#{bbox.max_lat} #{bbox.max_lon}" feed.georss :box, lower_corner + " " + upper_corner end