]> source.dussan.org Git - redmine.git/commitdiff
Provide a direct access to completed versions form the roadmap.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Tue, 24 Jan 2012 18:45:40 +0000 (18:45 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Tue, 24 Jan 2012 18:45:40 +0000 (18:45 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8699 e93f8b46-1217-0410-a6f0-8f06a7374b81

49 files changed:
app/controllers/versions_controller.rb
app/views/versions/index.html.erb
config/locales/ar.yml
config/locales/bg.yml
config/locales/bs.yml
config/locales/ca.yml
config/locales/cs.yml
config/locales/da.yml
config/locales/de.yml
config/locales/el.yml
config/locales/en-GB.yml
config/locales/en.yml
config/locales/es.yml
config/locales/eu.yml
config/locales/fa.yml
config/locales/fi.yml
config/locales/fr.yml
config/locales/gl.yml
config/locales/he.yml
config/locales/hr.yml
config/locales/hu.yml
config/locales/id.yml
config/locales/it.yml
config/locales/ja.yml
config/locales/ko.yml
config/locales/lt.yml
config/locales/lv.yml
config/locales/mk.yml
config/locales/mn.yml
config/locales/nl.yml
config/locales/no.yml
config/locales/pl.yml
config/locales/pt-BR.yml
config/locales/pt.yml
config/locales/ro.yml
config/locales/ru.yml
config/locales/sk.yml
config/locales/sl.yml
config/locales/sr-YU.yml
config/locales/sr.yml
config/locales/sv.yml
config/locales/th.yml
config/locales/tr.yml
config/locales/uk.yml
config/locales/vi.yml
config/locales/zh-TW.yml
config/locales/zh.yml
public/stylesheets/application.css
test/functional/versions_controller_test.rb

index 3aac979431c7e9e04d439cb86a9972d10359e88d..54cd9d7c2c16190fadd4d8ccbf783d984c231f0e 100644 (file)
@@ -39,7 +39,10 @@ class VersionsController < ApplicationController
         @versions = @project.shared_versions || []
         @versions += @project.rolled_up_versions.visible if @with_subprojects
         @versions = @versions.uniq.sort
-        @versions.reject! {|version| version.closed? || version.completed? } unless params[:completed]
+        unless params[:completed]
+          @completed_versions = @versions.select {|version| version.closed? || version.completed? }
+          @versions -= @completed_versions
+        end
 
         @issues_by_version = {}
         unless @selected_tracker_ids.empty?
index 6fdf8ae75f653fdabce5520ab224b7f75511a37b..09328deb6d4fedd5baad433519405362c8626a12 100644 (file)
 <% @versions.each do |version| %>
 <%= link_to format_version_name(version), :anchor => anchor(version.name) %><br />
 <% end %>
+<% if @completed_versions.present? %>
+<p>
+       <%= link_to_function l(:label_completed_versions), 
+                            'Element.toggleClassName("toggle-completed-versions", "collapsed"); Element.toggle("completed-versions")',
+                            :id => 'toggle-completed-versions', :class => 'collapsible collapsed' %><br />
+       <span id="completed-versions" style="display:none;">
+         <%= @completed_versions.map {|version| link_to format_version_name(version), version_path(version)}.join("<br />\n".html_safe) %>
+       </span>
+</p>
+<% end %>
 <% end %>
 
 <% html_title(l(:label_roadmap)) %>
index da1279c748ab8cf172d848a17d275302f6ccc0ca..96f6aa67847e47da5aa73d34981a222571edae41 100644 (file)
@@ -1015,3 +1015,4 @@ ar:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 90574c722d6a632b32a92964b47d82b64294bc95..b146130f3d56217a545d4147da5027e38616ab24 100644 (file)
@@ -1013,3 +1013,4 @@ bg:
   description_date_to: Въведете крайна дата
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 75b86d02f5852876beaa06617d30bd02b8024510..6a0ae6d41b12343de099de58a248f19074e4fb0b 100644 (file)
@@ -1029,3 +1029,4 @@ bs:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 0d02ac50b91120e4037c377cb193f1f8ed2e06a4..0899a85470d1adbf7e3f7b53703773da3ae2572a 100644 (file)
@@ -1017,3 +1017,4 @@ ca:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index e1705901973b1cc42869fc7afa5b9164d02b204e..b41d832fd29493497f94a9f6c8e15278a5877354 100644 (file)
@@ -1018,3 +1018,4 @@ cs:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 31a57fe234a821098032d1fbba099be4a257951b..603f681eb5dec21436f75a7fd90a27c2a71dc1d2 100644 (file)
@@ -1032,3 +1032,4 @@ da:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 5363da247fc330e40061d6b70bd4a4c2a4250bd9..5d6f15e281c4fabfa49c7c71de33917cd4229bb5 100644 (file)
@@ -1035,3 +1035,4 @@ de:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 9be89e36afcb3eadebd9e6cb8d4050b52e55b6a6..42f0b00d17b3c604ce465a4df924e9e553f057de 100644 (file)
@@ -1015,3 +1015,4 @@ el:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 4edf7d35a4706ed48774e43c791681f611493913..66a6e0bedd82e114363ea04c6b799c81982e6f60 100644 (file)
@@ -1017,3 +1017,4 @@ en-GB:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position} of %{count}"
+  label_completed_versions: Completed versions
index e3420d817482566f9545a5a2a8d7d1520929afaa..6ac30adec9e388abb47f064f81f5177d76955418 100644 (file)
@@ -838,6 +838,7 @@ en:
   label_export_options: "%{export_format} export options"
   label_copy_attachments: Copy attachments
   label_item_position: %{position} of %{count}
+  label_completed_versions: Completed versions
 
   button_login: Login
   button_submit: Submit
index 7065bcde7236fdcf2a856c1a5e2d77aabedcfa4b..02d774376f06891d0bc6977ab4448329e723661c 100644 (file)
@@ -1052,3 +1052,4 @@ es:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 66d5c358a06e163d0ff67815226a368b0236e592..46a892d44de87204599290a439dde437a9fb6947 100644 (file)
@@ -1018,3 +1018,4 @@ eu:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index e864afc8072884c09ddb83fdb05182eb470339f9..e94a6a4746412ebebda15c0fcc913bfa9114ea2f 100644 (file)
@@ -1017,3 +1017,4 @@ fa:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index f8e478e57a09bccb9c64fdd6ad24d56919f7764f..7bc63e2a8d76989feb74af9b04635d58e281a8eb 100644 (file)
@@ -1036,3 +1036,4 @@ fi:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 72fab71d37310ccdad8eff2e115d0d2e6ca54b31..562a488a72037541f0ff1e832f9fc238a81d8f0a 100644 (file)
@@ -814,6 +814,7 @@ fr:
   label_export_options: Options d'exportation %{export_format}
   label_copy_attachments: Copier les fichiers
   label_item_position: %{position} sur %{count}
+  label_completed_versions: Versions passées
 
   button_login: Connexion
   button_submit: Soumettre
index b39af925d508de3307ab8ca941e8de959b4c2988..e57b295a57a7d32f99c7554704ce735c82397557 100644 (file)
@@ -1026,3 +1026,4 @@ gl:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 437778838ddf0298efc8f34c0d05514f154e607a..5d107ceaf233585b788c8da7a2a8966c28784f7b 100644 (file)
@@ -1020,3 +1020,4 @@ he:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 53afca595868f40c919f2ed5efac6e165d8d7ba4..daf43c578dcc8ca0433c5dcb860bde78a71c5822 100644 (file)
@@ -1021,3 +1021,4 @@ hr:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 1cec05e951c5a967d3c0f194b87546315a6eaab4..5dfc363c838143d42f1da6f2ec3b40609af2f573 100644 (file)
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index ea11cc0513c2081ca02688ff235d6cc3954ab207..c82f84cf1d861563ab59506e36696ba30bc3e152 100644 (file)
@@ -1021,3 +1021,4 @@ id:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 9a6ab3655fe24f80ccc5f1cbf997ff09c72624bf..05a63486ea776b5b89465d1a6eafa5a396d06be3 100644 (file)
@@ -1016,3 +1016,4 @@ it:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 8e3e56fe099ff693ffbca8adeaef61a2caa83a6f..1b4cdcabb174025e427aa7c1a8c2328ca113987f 100644 (file)
@@ -1045,3 +1045,4 @@ ja:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 065261820c54dfc227b1523becf627f9e3cdb84d..152eaec49752658f2ccf888bb0e89c2efd8b47c0 100644 (file)
@@ -1067,3 +1067,4 @@ ko:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 3bd8fe469beb387811c08a5d0a1251cab44a6a5f..801de5f87a7f77a6eaef2b696b89ace2ecb21f0e 100644 (file)
@@ -1075,3 +1075,4 @@ lt:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 7eeb04b854b7e30817dd6a6a36b89f40714e0e38..bd0b7890a2584a395d177e87beece5c6720920a5 100644 (file)
@@ -1009,3 +1009,4 @@ lv:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index edd02be92f69cd050c6b4bb2b0abe2e973fcead4..ecb7f5c8e210f14e92270c0fbb275163e73d5f66 100644 (file)
@@ -1015,3 +1015,4 @@ mk:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 90a70eeddf8cb6e0be0cf55a1184658292790baa..f75b87b3fa28c94b6176360d0aeb64e56e62aada 100644 (file)
@@ -1015,3 +1015,4 @@ mn:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 4593961cce0ccbca29a69da01168dec5c104303a..163165be832996da2456119a97a8a2fc575af970 100644 (file)
@@ -997,3 +997,4 @@ nl:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index bc0d2264269e1c91c41c9a893a4480f7623b2748..5abc1165aba2654998f0b43cffbe812b598ae299 100644 (file)
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 909ab16c4a689d28aa83a0747090643aefc93f5c..b8c96d93bf9029286eea018b67451a3fcfc470b5 100644 (file)
@@ -1032,3 +1032,4 @@ pl:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 552d68fdf70d016045f27e05e5bce1f42d8d5187..1bd4d64a42065cd210aa80c58ecff43041b4235a 100644 (file)
@@ -1038,3 +1038,4 @@ pt-BR:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 9311bab1f94e03e18127f9f4d1cd1899dad583f9..0739f1fa2b7790c647169e5f9611a658cca2e57e 100644 (file)
@@ -1020,3 +1020,4 @@ pt:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 65d3217dd696184b8d3b3d086888a16c66bc8ea7..9cb30bc1bc0682b7fed95e2d1cc2cd5da5396739 100644 (file)
@@ -1007,3 +1007,4 @@ ro:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 6c39ca2245ad79774abfd8a7b65313c602021cef..2f4b31148f5959d2292fd87ebd02940daa1dc4c7 100644 (file)
@@ -1128,3 +1128,4 @@ ru:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index a54fc06613d8cacf130799fb80c5588fb943d66f..8043616748e556071fbd16dc4e34fb587897c7da 100644 (file)
@@ -1010,3 +1010,4 @@ sk:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 9c0d5d03d494c272844803bd85dc533f751e1538..415215be4eb50d8ec71c5688213949d736fc1f28 100644 (file)
@@ -1015,3 +1015,4 @@ sl:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 346ad05a6bd67fc5e88082d30de27b3b1699324a..bf6234e10e4594ec6dfbda580d7a8198e5d066cd 100644 (file)
@@ -1015,3 +1015,4 @@ sr-YU:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 77f761efc46ebfa4833d450d3ebbebec763fe99f..4ee7206718002eb07713c09c74943146caa6001b 100644 (file)
@@ -1016,3 +1016,4 @@ sr:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 25825355195f7c76bf7b7eafb1138a994530d3d1..43769d4c61812ed77b76cc594c6f02bcaea0f643 100644 (file)
@@ -1056,3 +1056,4 @@ sv:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 2a21dcf0738cd0fd4765dada7a771db3219a7806..aa03ca468384f60d195eb35e0362634f07542ac8 100644 (file)
@@ -1012,3 +1012,4 @@ th:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index e457d76ce886c0159c1f47a66408ad5e6b543661..6875f8f344c60d6b8229685d5f142c627e980f8e 100644 (file)
@@ -1034,3 +1034,4 @@ tr:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index ece6d603d4f9e940aed1c6745ee74096d59f147c..6bb9b7586210736327ef3c1388b00272a339a1d8 100644 (file)
@@ -1012,3 +1012,4 @@ uk:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 8efaec5ca037f0450d666fabf41646d20fe57a5e..e81360e979e7e386746ebd39af65842a4a20c48f 100644 (file)
@@ -1066,3 +1066,4 @@ vi:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index 79bd5941e50ae76537c77a3ec10302b12fdd2061..5c25dee9edada8eee6363b9ac4ce6da0d0c970f7 100644 (file)
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index d52511fe90660d3d6d03f755aa119228572ddaf0..c752edc71db25a291b0829a1c769dc2c0748a7ba 100644 (file)
@@ -1017,3 +1017,4 @@ zh:
   field_repository_is_default: Main repository
   label_copy_attachments: Copy attachments
   label_item_position: "%{position}/%{count}"
+  label_completed_versions: Completed versions
index b3eb3dc519fe319a1288083684732607e2a34e09..dbf35952714848d5f5141ed705968acee3b821da 100644 (file)
@@ -114,6 +114,10 @@ a.issue.closed, a.issue.closed:link, a.issue.closed:visited { color: #999; text-
 #admin-menu a {line-height:1.7em;}
 #admin-menu a.selected {padding-left: 20px !important; background-position: 2px 40%;}
 
+a.collapsible {padding-left: 12px; background: url(../images/arrow_expanded.png) no-repeat -3px 40%;}
+a.collapsible.collapsed {background: url(../images/arrow_collapsed.png) no-repeat -5px 40%;}
+
+a#toggle-completed-versions {color:#999;}
 /***** Tables *****/
 table.list { border: 1px solid #e4e4e4;  border-collapse: collapse; width: 100%; margin-bottom: 4px; }
 table.list th {  background-color:#EEEEEE; padding: 4px; white-space:nowrap; }
index df1d9a8af3d0668849f0e85ed9459a46d4c40ef3..414e2fc72e0a2436802fbebb0241f6bd89a47f55 100644 (file)
@@ -42,6 +42,9 @@ class VersionsControllerTest < ActionController::TestCase
     assert !assigns(:versions).include?(Version.find(1))
     # Context menu on issues
     assert_select "script", :text => Regexp.new(Regexp.escape("new ContextMenu('/issues/context_menu')"))
+    # Links to completed versions in the sidebar
+    assert_tag 'a', :attributes => {:href => '/versions/1'},
+                    :ancestor => {:tag => 'div', :attributes => {:id => 'sidebar'}}
   end
 
   def test_index_with_completed_versions