Link to first and last versions from element pages

This commit is contained in:
Anton Khorev 2024-01-17 20:32:56 +03:00
parent 7c55a5cb3b
commit 18899f2867
2 changed files with 45 additions and 6 deletions

View file

@ -4,10 +4,19 @@
<%= render :partial => @type, :object => @feature %>
<div class='secondary-actions'>
<% if @feature.visible? %>
<% if @feature.visible? %>
<div class='secondary-actions'>
<%= link_to(t("browse.download_xml"), :controller => "api/#{@type.pluralize}", :action => :show) %>
</div>
<% end %>
<div class='secondary-actions'>
<% if @feature.version > 1 %>
<%= link_to "<< #{t('browse.version')} #1", :controller => "old_#{@type.pluralize}", :action => :show, :version => 1 %>
&middot;
<% end %>
<%= link_to(t("browse.view_history"), :action => "#{@type}_history") %>
<%= link_to t("browse.view_history"), :action => "#{@type}_history" %>
<% if @feature.version > 1 %>
&middot;
<%= link_to "#{t('browse.version')} ##{@feature.version} >>", :controller => "old_#{@type.pluralize}", :action => :show, :version => @feature.version %>
<% end %>
</div>

View file

@ -44,7 +44,17 @@ class BrowseControllerTest < ActionDispatch::IntegrationTest
assert_select "h4", /^Version/ do
assert_select "a[href='#{old_relation_path relation, 1}']", :text => "1", :count => 1
end
assert_select "a[href='#{api_relation_path relation}']", :count => 1
assert_select ".secondary-actions a[href='#{api_relation_path relation}']", :count => 1
assert_select ".secondary-actions a[href='#{relation_history_path relation}']", :count => 1
assert_select ".secondary-actions a[href='#{old_relation_path relation, 1}']", :count => 0
end
def test_multiple_version_relation_links
relation = create(:relation, :with_history, :version => 2)
browse_check :relation_path, relation.id, "browse/feature"
assert_select ".secondary-actions a[href='#{relation_history_path relation}']", :count => 1
assert_select ".secondary-actions a[href='#{old_relation_path relation, 1}']", :count => 1
assert_select ".secondary-actions a[href='#{old_relation_path relation, 2}']", :count => 1
end
def test_read_relation_history
@ -61,7 +71,17 @@ class BrowseControllerTest < ActionDispatch::IntegrationTest
assert_select "h4", /^Version/ do
assert_select "a[href='#{old_way_path way, 1}']", :text => "1", :count => 1
end
assert_select "a[href='#{api_way_path way}']", :count => 1
assert_select ".secondary-actions a[href='#{api_way_path way}']", :count => 1
assert_select ".secondary-actions a[href='#{way_history_path way}']", :count => 1
assert_select ".secondary-actions a[href='#{old_way_path way, 1}']", :count => 0
end
def test_multiple_version_way_links
way = create(:way, :with_history, :version => 2)
browse_check :way_path, way.id, "browse/feature"
assert_select ".secondary-actions a[href='#{way_history_path way}']", :count => 1
assert_select ".secondary-actions a[href='#{old_way_path way, 1}']", :count => 1
assert_select ".secondary-actions a[href='#{old_way_path way, 2}']", :count => 1
end
def test_read_way_history
@ -78,7 +98,17 @@ class BrowseControllerTest < ActionDispatch::IntegrationTest
assert_select "h4", /^Version/ do
assert_select "a[href='#{old_node_path node, 1}']", :text => "1", :count => 1
end
assert_select "a[href='#{api_node_path node}']", :count => 1
assert_select ".secondary-actions a[href='#{api_node_path node}']", :count => 1
assert_select ".secondary-actions a[href='#{node_history_path node}']", :count => 1
assert_select ".secondary-actions a[href='#{old_node_path node, 1}']", :count => 0
end
def test_multiple_version_node_links
node = create(:node, :with_history, :version => 2)
browse_check :node_path, node.id, "browse/feature"
assert_select ".secondary-actions a[href='#{node_history_path node}']", :count => 1
assert_select ".secondary-actions a[href='#{old_node_path node, 1}']", :count => 1
assert_select ".secondary-actions a[href='#{old_node_path node, 2}']", :count => 1
end
def test_read_deleted_node