Atom readers (Firefox/Liferea) don't like when we embed XHTML anchors
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Wed, 29 Jul 2009 18:44:51 +0000 (18:44 +0000)
committerÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Wed, 29 Jul 2009 18:44:51 +0000 (18:44 +0000)
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

app/controllers/changeset_controller.rb
app/views/changeset/list.atom.builder
app/views/changeset/list.html.erb
config/locales/en.yml
config/locales/is.yml

index d7f3d39c833aba270e7b13c18db3edc9d9c1452f..f02718cc957e9a409b309aba0627ae85d878ff4b 100644 (file)
@@ -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 = "<a href='#{url_for(:controller => "site", :action => "index", :minlon => bbox.min_lon, :minlat => bbox.min_lat, :maxlon => bbox.max_lon, :maxlat => bbox.max_lat, :box => "yes")}'>#{bbox.to_s}</a>"
     end
 
-    @title =  t 'changeset.list.title'
+    if user
+      user_link = "<a href='#{url_for(:controller => "user", :action => "view", :display_name => user.display_name)}'>#{user.display_name}</a>"
+    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,
index c71c22aa1e55580c09e5bf443ebc3b78a1245ac6..648243fa8e695792e4fc129bedece36a70d11882 100644 (file)
@@ -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
index 0fcf5ddda4af872576ceb4f38f73fd88eecf750e..6da108026608669999779a05618ea5e7a7a26b92 100644 (file)
@@ -1,4 +1,4 @@
-<h1><%= @title %></h1>
+<h1><%= @heading %></h1>
 <p><%= @description %></p>
 
 <%= render :partial => 'changeset_paging_nav' %>
index 93fdb29e27658156b5a41a41a8ef6acc8193c310..55e01ec34ec1439c90cf1f82170a643c853f8c46 100644 (file)
@@ -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
index a1c3a477e336ad0e26d3f57bf4d0ad35b626066b..86ae92ffa77b88c230e685c6bb2a7c53850ab289 100644 (file)
@@ -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"