]> source.dussan.org Git - redmine.git/commitdiff
Fixed that roadmap anchor links can be ambigous (#11540).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Mon, 13 Aug 2012 14:41:53 +0000 (14:41 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Mon, 13 Aug 2012 14:41:53 +0000 (14:41 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10200 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/helpers/versions_helper.rb
app/views/versions/index.html.erb
test/functional/versions_controller_test.rb

index e6f8867342143e796f52db583539d247c6517089..91dec8e91156259ff0595deb2b42ec327b02fc05 100644 (file)
 
 module VersionsHelper
 
+  def version_anchor(version)
+    if @project == version.project
+      anchor version.name
+    else
+      anchor "#{version.project.try(:identifier)}-#{version.name}"
+    end
+  end
+
   STATUS_BY_CRITERIAS = %w(tracker status priority author assigned_to category)
 
   def render_issue_status_by(version, criteria)
index b79bdb0459c06a9ee392f607b08c83e7d23c8de6..a4b0e366965b6e4c77919d63c6ed913d52258103 100644 (file)
@@ -9,7 +9,7 @@
 <% else %>
 <div id="roadmap">
 <% @versions.each do |version| %>
-    <h3 class="version"><%= link_to_version version, :name => anchor(version.name) %></h3>
+    <h3 class="version"><%= link_to_version version, :name => version_anchor(version) %></h3>
     <%= render :partial => 'versions/overview', :locals => {:version => version} %>
     <%= render(:partial => "wiki/content", :locals => {:content => version.wiki_page.content}) if version.wiki_page %>
 
@@ -49,7 +49,7 @@
 
 <h3><%= l(:label_version_plural) %></h3>
 <% @versions.each do |version| %>
-<%= link_to format_version_name(version), "##{anchor(version.name)}" %><br />
+<%= link_to format_version_name(version), "##{version_anchor(version)}" %><br />
 <% end %>
 <% if @completed_versions.present? %>
 <p>
index 87fd966b637091211168fd5e44656a3ac2450184..c6906ca5bfefbe11d6167609adbbeb09993f34c8 100644 (file)
@@ -80,6 +80,20 @@ class VersionsControllerTest < ActionController::TestCase
     assert assigns(:versions).include?(@subproject_version), "Subproject version not found"
   end
 
+  def test_index_should_prepend_shared_versions
+    get :index, :project_id => 1
+    assert_response :success
+
+    assert_select '#sidebar' do
+      assert_select 'a[href=?]', '#2.0', :text => '2.0'
+      assert_select 'a[href=?]', '#subproject1-2.0', :text => 'eCookbook Subproject 1 - 2.0'
+    end
+    assert_select '#content' do
+      assert_select 'a[name=?]', '2.0', :text => '2.0'
+      assert_select 'a[name=?]', 'subproject1-2.0', :text => 'eCookbook Subproject 1 - 2.0'
+    end
+  end
+
   def test_show
     get :show, :id => 2
     assert_response :success