From: Ævar Arnfjörð Bjarmason Date: Wed, 29 Jul 2009 18:44:51 +0000 (+0000) Subject: Atom readers (Firefox/Liferea) don't like when we embed XHTML anchors X-Git-Tag: live~6804 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/b06b6c2ce9b69d6996cbc0c75f83eda2ea785201 Atom readers (Firefox/Liferea) don't like when we embed XHTML anchors in the description. So adjust the code that creates the changeset browser title/description to emit a XHTML and plaintext version with the HTML and Atom output can use, respectively. Also: * Split up @title into @title and @heading as elsewhere * Turn the username on the user / user+bbox browser into a link to the userpage * Say "Changesets" instead of "Recent changes". Unlike Wikipedia the changes on OSM aren't guaranteed to be recent, they're just going to be the latest --- diff --git a/app/controllers/changeset_controller.rb b/app/controllers/changeset_controller.rb index d7f3d39c8..f02718cc9 100644 --- a/app/controllers/changeset_controller.rb +++ b/app/controllers/changeset_controller.rb @@ -278,22 +278,38 @@ class ChangesetController < ApplicationController bbox = params[:minlon] + ',' + params[:minlat] + ',' + params[:maxlon] + ',' + params[:maxlat] end + user_link = bbox_link = nil + if bbox conditions = cond_merge conditions, conditions_bbox(bbox) bbox = BoundingBox.from_s(bbox) bbox_link = "#{bbox.to_s}" end - @title = t 'changeset.list.title' + if user + user_link = "#{user.display_name}" + end if user and bbox - @description = t 'changeset.list.description_user_bbox', :user => user.display_name, :bbox => bbox_link + @title = t 'changeset.list.title_user_bbox', :user => user.display_name, :bbox => bbox.to_s + @heading = t 'changeset.list.heading_user_bbox', :user => user.display_name, :bbox => bbox.to_s + @description = t 'changeset.list.description_user_bbox', :user => user_link, :bbox => bbox_link + @description_plain = t 'changeset.list.description_user_bbox', :user => user.display_name, :bbox => bbox.to_s elsif user - @description = t 'changeset.list.description_user', :user => user.display_name + @title = t 'changeset.list.title_user', :user => user.display_name + @heading = t 'changeset.list.heading_user', :user => user.display_name + @description = t 'changeset.list.description_user', :user => user_link + @description_plain = t 'changeset.list.description_user', :user => user.display_name elsif bbox + @title = t 'changeset.list.title_bbox', :bbox => bbox.to_s + @heading = t 'changeset.list.heading_bbox', :bbox => bbox.to_s @description = t 'changeset.list.description_bbox', :bbox => bbox_link + @description_plain = t 'changeset.list.description_bbox', :bbox => bbox.to_s else + @title = t 'changeset.list.title' + @heading = t 'changeset.list.heading' @description = t 'changeset.list.description' + @description_plain = @description end @edit_pages, @edits = paginate(:changesets, diff --git a/app/views/changeset/list.atom.builder b/app/views/changeset/list.atom.builder index c71c22aa1..648243fa8 100644 --- a/app/views/changeset/list.atom.builder +++ b/app/views/changeset/list.atom.builder @@ -5,7 +5,7 @@ atom_feed(:language => I18n.locale, :schema_date => 2009, feed.title @title feed.subtitle :type => 'xhtml' do |xhtml| - xhtml.p @description + xhtml.p @description_plain end feed.updated @edits.map {|e| [e.created_at, e.closed_at].max }.max diff --git a/app/views/changeset/list.html.erb b/app/views/changeset/list.html.erb index 0fcf5ddda..6da108026 100644 --- a/app/views/changeset/list.html.erb +++ b/app/views/changeset/list.html.erb @@ -1,4 +1,4 @@ -

<%= @title %>

+

<%= @heading %>

<%= @description %>

<%= render :partial => 'changeset_paging_nav' %> diff --git a/config/locales/en.yml b/config/locales/en.yml index 93fdb29e2..55e01ec34 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -255,10 +255,19 @@ en: area: "Area" list: title: "Changesets" - description: "Recent edits" - description_user: "Recent edits by {{user}}" - description_bbox: "Recent edits within {{bbox}}" - description_user_bbox: "Recent edits by {{user}} within {{bbox}}" + title_user: "Changesets by {{user}}" + title_bbox: "Changesets within {{bbox}}" + title_user_bbox: "Changesets by {{user}} within {{bbox}}" + + heading: "Changesets" + heading_user: "Changesets by {{user}}" + heading_bbox: "Changesets within {{bbox}}" + heading_user_bbox: "Changesets by {{user}} within {{bbox}}" + + description: "Recent changes" + description_user: "Changesets by {{user}}" + description_bbox: "Changesets within {{bbox}}" + description_user_bbox: "Changesets by {{user}} within {{bbox}}" diary_entry: new: title: New Diary Entry diff --git a/config/locales/is.yml b/config/locales/is.yml index a1c3a477e..86ae92ffa 100644 --- a/config/locales/is.yml +++ b/config/locales/is.yml @@ -253,10 +253,19 @@ is: area: "Svæði" list: title: "Breytingarsett" + title_user: "Breytingar eftir {{user}}" + title_bbox: "Breytingar innan {{bbox}}" + title_user_bbox: "Breytingar eftir {{user}} innan {{bbox}}" + + heading: "Breytingarsett" + heading_user: "Breytingar eftir {{user}}" + heading_bbox: "Breytingar innan {{bbox}}" + heading_user_bbox: "Breytingar eftir {{user}} innan {{bbox}}" + description: "Nýlegar breytingar" - description_user: "Nýlegar breytingar eftir {{user}}" - description_bbox: "Nýlegar breytingar innan {{bbox}}" - description_user_bbox: "Nýlegar breytingar eftir {{user}} innan {{bbox}}" + description_user: "Breytingar eftir {{user}}" + description_bbox: "Breytingar innan {{bbox}}" + description_user_bbox: "Breytingar eftir {{user}} innan {{bbox}}" diary_entry: new: title: "Ný bloggfærsla"