]> git.openstreetmap.org Git - rails.git/commitdiff
Make browse controller index show recently closed changesets, rather than recently...
authorThomas Wood <grand.edgemaster@gmail.com>
Tue, 23 Dec 2008 15:47:06 +0000 (15:47 +0000)
committerThomas Wood <grand.edgemaster@gmail.com>
Tue, 23 Dec 2008 15:47:06 +0000 (15:47 +0000)
app/controllers/browse_controller.rb
app/views/browse/index.rhtml
test/functional/browse_controller_test.rb

index 60f580963cda9719326173b4479c7b70734a46c2..2e4af03d878e79aae231212c2b1508916627e822 100644 (file)
@@ -8,7 +8,7 @@ class BrowseController < ApplicationController
   end
   
   def index
-    @nodes = Node.find(:all, :order => "timestamp DESC", :limit=> 20)  
+    @changesets = Changeset.find(:all, :order => "closed_at DESC", :limit=> 20)
   end
   
   def relation 
index e9d830a1063d511fc43e0a81a2adcb172e70c128..fa7e13ac079916c3b268105d7805b2bb48a73792 100644 (file)
@@ -1,12 +1,16 @@
-<h2><%= @nodes.length %> Recently Changed Nodes</h2> 
+<h2><%= @changesets.length %> Recently Closed Changesets</h2> 
 <ul id="recently_changed">
-<% @nodes.each do |node| 
-   name = node.tags_as_hash['name'].to_s 
-   if name.length == 0:
-     name = "(No name)"
+<% @changesets.each do |changeset|
+   if changeset.user.data_public?
+     user = changeset.user.display_name
+   else
+     user = "(anonymous)"
    end
-   name = "#{name} - #{node.id} (#{node.version})"
+   
+   cmt = changeset.tags_as_hash['comment'].to_s
+   cmt = "(no comment)" if cmt.length == 0
+   text = "#{changeset.id} by #{user} - #{cmt}"
 %>
-   <li><%= link_to h(name), :action => "node", :id => node.id %></li>
+   <li><%= link_to h(text), :action => "changeset", :id => changeset.id %></li>
 <% end %>
 </ul>
index 65e851011abff7a759dd64d1b2be787896158e3d..a36fa3703e85fbee3709e4904dd4d14a7f4aecc5 100644 (file)
@@ -18,20 +18,27 @@ class BrowseControllerTest < ActionController::TestCase
   
   end
   
-  # This should display the last 20 nodes that were edited.
+  # This should display the last 20 changesets closed.
   def test_index
-    @nodes = Node.find(:all, :order => "timestamp DESC", :limit => 20)
-    assert @nodes.size <= 20
+    @changesets = Changeset.find(:all, :order => "closed_at DESC", :limit=> 20)
+    assert @changesets.size <= 20
     get :index
     assert_response :success
     assert_template "index"
-    # Now check that all 20 (or however many were returned) nodes are in the html
-    assert_select "h2", :text => "#{@nodes.size} Recently Changed Nodes", :count => 1
-    assert_select "ul[id='recently_changed'] li a", :count => @nodes.size
-    @nodes.each do |node|
-      name = node.tags_as_hash['name'].to_s
-      name = "(No name)" if name.length == 0
-      assert_select "ul[id='recently_changed'] li a[href=/browse/node/#{node.id}]", :text => "#{name} - #{node.id} (#{node.version})"
+    # Now check that all 20 (or however many were returned) changesets are in the html
+    assert_select "h2", :text => "#{@changesets.size} Recently Closed Changesets", :count => 1
+    assert_select "ul[id='recently_changed'] li a", :count => @changesets.size
+    @changesets.each do |changeset|
+      if changeset.user.data_public?
+        user = changeset.user.display_name
+      else
+        user = "(anonymous)"
+      end
+    
+      cmt = changeset.tags_as_hash['comment'].to_s
+      cmt = "(no comment)" if cmt.length == 0
+      text = "#{changeset.id} by #{user} - #{cmt}"
+      assert_select "ul[id='recently_changed'] li a[href=/browse/changeset/#{changeset.id}]", :text => text
     end
   end