Make browse controller index show recently closed changesets, rather than recently changed nodes.

This commit is contained in:
Thomas Wood 2008-12-23 15:47:06 +00:00
parent 60834f33f9
commit 62b6d15967
3 changed files with 29 additions and 18 deletions

View file

@ -8,7 +8,7 @@ class BrowseController < ApplicationController
end end
def index def index
@nodes = Node.find(:all, :order => "timestamp DESC", :limit=> 20) @changesets = Changeset.find(:all, :order => "closed_at DESC", :limit=> 20)
end end
def relation def relation

View file

@ -1,12 +1,16 @@
<h2><%= @nodes.length %> Recently Changed Nodes</h2> <h2><%= @changesets.length %> Recently Closed Changesets</h2>
<ul id="recently_changed"> <ul id="recently_changed">
<% @nodes.each do |node| <% @changesets.each do |changeset|
name = node.tags_as_hash['name'].to_s if changeset.user.data_public?
if name.length == 0: user = changeset.user.display_name
name = "(No name)" else
user = "(anonymous)"
end 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 %> <% end %>
</ul> </ul>

View file

@ -18,20 +18,27 @@ class BrowseControllerTest < ActionController::TestCase
end end
# This should display the last 20 nodes that were edited. # This should display the last 20 changesets closed.
def test_index def test_index
@nodes = Node.find(:all, :order => "timestamp DESC", :limit => 20) @changesets = Changeset.find(:all, :order => "closed_at DESC", :limit=> 20)
assert @nodes.size <= 20 assert @changesets.size <= 20
get :index get :index
assert_response :success assert_response :success
assert_template "index" assert_template "index"
# Now check that all 20 (or however many were returned) nodes are in the html # Now check that all 20 (or however many were returned) changesets are in the html
assert_select "h2", :text => "#{@nodes.size} Recently Changed Nodes", :count => 1 assert_select "h2", :text => "#{@changesets.size} Recently Closed Changesets", :count => 1
assert_select "ul[id='recently_changed'] li a", :count => @nodes.size assert_select "ul[id='recently_changed'] li a", :count => @changesets.size
@nodes.each do |node| @changesets.each do |changeset|
name = node.tags_as_hash['name'].to_s if changeset.user.data_public?
name = "(No name)" if name.length == 0 user = changeset.user.display_name
assert_select "ul[id='recently_changed'] li a[href=/browse/node/#{node.id}]", :text => "#{name} - #{node.id} (#{node.version})" 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
end end