From 8e24c6458da011009685bf2bdb9b28e21e1f9249 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Mon, 7 May 2007 16:54:26 +0000 Subject: [PATCH] Added an option to see all versions in the roadmap view (including completed ones). On calendar and gantt, versions are now clickable and link to the corresponding entry in the roadmap. Since calendar and gantt are now cached, don't forget to empty your cache before restarting the application. git-svn-id: http://redmine.rubyforge.org/svn/trunk@516 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/controllers/projects_controller.rb | 5 +++-- app/helpers/projects_helper.rb | 9 +++++++++ app/models/version.rb | 4 ++++ app/views/projects/calendar.rhtml | 2 +- app/views/projects/changelog.rhtml | 7 ++----- app/views/projects/gantt.rhtml | 2 +- app/views/projects/roadmap.rhtml | 22 ++++++++++++---------- lang/bg.yml | 1 + lang/de.yml | 1 + lang/en.yml | 1 + lang/es.yml | 1 + lang/fr.yml | 1 + lang/it.yml | 1 + lang/ja.yml | 1 + lang/pt.yml | 1 + lang/zh.yml | 1 + public/images/arrow_bw.png | Bin 997 -> 998 bytes public/images/arrow_from.png | Bin 994 -> 995 bytes public/images/arrow_to.png | Bin 991 -> 997 bytes 19 files changed, 41 insertions(+), 19 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index ca6ea8d8e..971d0acd3 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -448,10 +448,11 @@ class ProjectsController < ApplicationController def roadmap @trackers = Tracker.find(:all, :conditions => ["is_in_roadmap=?", true], :order => 'position') - retrieve_selected_tracker_ids(@trackers) + retrieve_selected_tracker_ids(@trackers) + conditions = ("1" == params[:completed] ? nil : [ "#{Version.table_name}.effective_date > ?", Date.today]) @versions = @project.versions.find(:all, - :conditions => [ "#{Version.table_name}.effective_date>?", Date.today], + :conditions => conditions, :order => "#{Version.table_name}.effective_date ASC" ) end diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index c7e80b0a0..74805ba53 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -16,4 +16,13 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. module ProjectsHelper + def link_to_version(version, options = {}) + return '' unless version && version.is_a?(Version) + link_to version.name, {:controller => 'projects', + :action => 'roadmap', + :id => version.project_id, + :completed => (version.completed? ? 1 : nil), + :anchor => version.name + }, options + end end diff --git a/app/models/version.rb b/app/models/version.rb index ddae037a6..463ca3354 100644 --- a/app/models/version.rb +++ b/app/models/version.rb @@ -33,6 +33,10 @@ class Version < ActiveRecord::Base effective_date end + def completed? + effective_date && effective_date <= Date.today + end + private def check_integrity raise "Can't delete version" if self.fixed_issues.find(:first) diff --git a/app/views/projects/calendar.rhtml b/app/views/projects/calendar.rhtml index 2a53831fe..48fdaf64d 100644 --- a/app/views/projects/calendar.rhtml +++ b/app/views/projects/calendar.rhtml @@ -74,7 +74,7 @@ while day <= @date_to <% else %> - <%= image_tag('milestone.png') %> <%= "#{l(:label_version)}: #{i.name}" %> + <%= link_to_version i, :class => "icon icon-package" %> <% end %> <% end %> diff --git a/app/views/projects/changelog.rhtml b/app/views/projects/changelog.rhtml index 51724f149..f42f32c42 100644 --- a/app/views/projects/changelog.rhtml +++ b/app/views/projects/changelog.rhtml @@ -1,14 +1,12 @@

<%=l(:label_change_log)%>

-
-
<% form_tag do %> -

<%=l(:label_tracker_plural)%>

+

<%=l(:label_tracker_plural)%>
<% @trackers.each do |tracker| %> <%= check_box_tag "tracker_ids[]", tracker.id, (@selected_tracker_ids.include? tracker.id.to_s) %> <%= tracker.name %>
-<% end %> +<% end %>

<%= submit_tag l(:button_apply), :class => 'button-small' %>

<% end %>
@@ -27,4 +25,3 @@ end %>
  • <%= link_to_issue issue %>: <%=h issue.subject %>
  • <% end %> -
    \ No newline at end of file diff --git a/app/views/projects/gantt.rhtml b/app/views/projects/gantt.rhtml index 317fd993d..ccc9a019a 100644 --- a/app/views/projects/gantt.rhtml +++ b/app/views/projects/gantt.rhtml @@ -90,7 +90,7 @@ top = headers_height + 8 <%= link_to_issue i %><%= " (#{i.project.name})" unless @project && @project == i.project %>: <%=h i.subject %> <% else %> - <%= "#{l(:label_version)}: #{i.name}" %> + <%= link_to_version i, :class => "icon icon-package" %> <% end %> <% top = top + 20 diff --git a/app/views/projects/roadmap.rhtml b/app/views/projects/roadmap.rhtml index e1449dcfa..ab591a830 100644 --- a/app/views/projects/roadmap.rhtml +++ b/app/views/projects/roadmap.rhtml @@ -1,14 +1,13 @@

    <%=l(:label_roadmap)%>

    -
    - -
    +
    <% form_tag do %> -

    <%=l(:label_tracker_plural)%>

    +

    <%=l(:label_tracker_plural)%>
    <% @trackers.each do |tracker| %> <%= check_box_tag "tracker_ids[]", tracker.id, (@selected_tracker_ids.include? tracker.id.to_s) %> <%= tracker.name %>
    -<% end %> +<% end %>

    +

    <%= submit_tag l(:button_apply), :class => 'button-small' %>

    <% end %>
    @@ -16,13 +15,17 @@ <% if @versions.empty? %>

    <%= l(:label_no_data) %>

    <% end %> <% @versions.each do |version| %> -

    <%= version.name %>

    +

    <%= version.name %>

    + <% if version.completed? %> +

    <%= format_date(version.effective_date) %>

    + <% else %> +

    <%=l(:label_roadmap_due_in)%> <%= distance_of_time_in_words Time.now, version.effective_date %> (<%= format_date(version.effective_date) %>)

    + <% end %>

    <%=h version.description %>

    -

    <%=l(:label_roadmap_due_in)%> <%= distance_of_time_in_words Time.now, version.effective_date %> (<%= format_date(version.effective_date) %>)

    <% issues = version.fixed_issues.find(:all, - :include => :status, + :include => [:status, :tracker], :conditions => ["tracker_id in (#{@selected_tracker_ids.join(',')})"], - :order => "position") + :order => "#{Tracker.table_name}.position") total = issues.size complete = issues.inject(0) {|c,i| i.status.is_closed? ? c + 1 : c } @@ -56,4 +59,3 @@ <% end %> <% end %> -
    diff --git a/lang/bg.yml b/lang/bg.yml index 1e348cb75..3db6cc891 100644 --- a/lang/bg.yml +++ b/lang/bg.yml @@ -383,6 +383,7 @@ label_start_to_start: start to start label_start_to_end: start to end label_stay_logged_in: Stay logged in label_disabled: disabled +label_show_completed_versions: Show completed versions button_login: Вход button_submit: Изпращане diff --git a/lang/de.yml b/lang/de.yml index 1fc529bad..bb43bf393 100644 --- a/lang/de.yml +++ b/lang/de.yml @@ -383,6 +383,7 @@ label_start_to_start: start to start label_start_to_end: start to end label_stay_logged_in: Stay logged in label_disabled: disabled +label_show_completed_versions: Show completed versions button_login: Einloggen button_submit: OK diff --git a/lang/en.yml b/lang/en.yml index 1800b5d33..ef56872e5 100644 --- a/lang/en.yml +++ b/lang/en.yml @@ -383,6 +383,7 @@ label_start_to_start: start to start label_start_to_end: start to end label_stay_logged_in: Stay logged in label_disabled: disabled +label_show_completed_versions: Show completed versions button_login: Login button_submit: Submit diff --git a/lang/es.yml b/lang/es.yml index 3a66e0bcf..dce15514f 100644 --- a/lang/es.yml +++ b/lang/es.yml @@ -383,6 +383,7 @@ label_start_to_start: start to start label_start_to_end: start to end label_stay_logged_in: Stay logged in label_disabled: disabled +label_show_completed_versions: Show completed versions button_login: Conexión button_submit: Someter diff --git a/lang/fr.yml b/lang/fr.yml index bd1973b4d..e332f1c6d 100644 --- a/lang/fr.yml +++ b/lang/fr.yml @@ -383,6 +383,7 @@ label_start_to_start: début à début label_start_to_end: début à fin label_stay_logged_in: Rester connecté label_disabled: désactivé +label_show_completed_versions: Voire les versions passées button_login: Connexion button_submit: Soumettre diff --git a/lang/it.yml b/lang/it.yml index c1e964548..4d100a2e8 100644 --- a/lang/it.yml +++ b/lang/it.yml @@ -383,6 +383,7 @@ label_start_to_start: start to start label_start_to_end: start to end label_stay_logged_in: Stay logged in label_disabled: disabled +label_show_completed_versions: Show completed versions button_login: Login button_submit: Invia diff --git a/lang/ja.yml b/lang/ja.yml index 955799494..ac5e48ee1 100644 --- a/lang/ja.yml +++ b/lang/ja.yml @@ -384,6 +384,7 @@ label_start_to_start: start to start label_start_to_end: start to end label_stay_logged_in: Stay logged in label_disabled: disabled +label_show_completed_versions: Show completed versions button_login: ログイン button_submit: 変更 diff --git a/lang/pt.yml b/lang/pt.yml index 3c6debfbe..33da15fe0 100644 --- a/lang/pt.yml +++ b/lang/pt.yml @@ -383,6 +383,7 @@ label_start_to_start: start to start label_start_to_end: start to end label_stay_logged_in: Stay logged in label_disabled: disabled +label_show_completed_versions: Show completed versions button_login: Login button_submit: Enviar diff --git a/lang/zh.yml b/lang/zh.yml index f9f2a75a7..894aa1f46 100644 --- a/lang/zh.yml +++ b/lang/zh.yml @@ -386,6 +386,7 @@ label_start_to_start: start to start label_start_to_end: start to end label_stay_logged_in: Stay logged in label_disabled: disabled +label_show_completed_versions: Show completed versions button_login: 登录 button_submit: 提交 diff --git a/public/images/arrow_bw.png b/public/images/arrow_bw.png index 52dfc96f02a57a6fa62164322a79f426da2bd98a..2af9e2cd4bf59db8d46bf266dab6f11a1c64fa22 100644 GIT binary patch delta 77 zcmaFL{)~M>GS_uhHX&(gp{dHBH|9Dqn=5&`IEGZ*N={&5Vq-JlOl!Q!BOumsmLZk# grpBTZS&3>43~Ve6>R*hvColkkr>mdKI;Vst0I+!%W&i*H delta 76 zcmaFH{*-+}GS@Y3c2PM=kK$GPHs(4pn<;v_IEGZ*N=`^fNnuHJV`DRz%-DI7K~drW fL##-s?hO_OHZ}(J5QQV}7=Xaj)z4*}Q$iB}w8;FMk&R7&G1aJH22Vi4krW3( d*C1|lMh4bJ3@Y4aws8zV;OXk;vd$@?2>@*W6(j%v delta 73 zcmaFN{)l}-GS@Y3c2POibeU_G8*`nQjpaOD978H@B_|}XFbbSxNHtP0l$1Eg!8XD5 c;#DR?2Dal2I^3m!tPDWl>FVdQ&MBb@06{YqBLDyZ diff --git a/public/images/arrow_to.png b/public/images/arrow_to.png index 4f969716f4f344dfdd7e8f042b1dd03101bb49f6..f021e98c941ef145fe9095e30dda3ac645b3a6fd 100644 GIT binary patch delta 76 zcmcc5{*-+}GS_uhHX$jI*@pbe8*`nQ%@jRd978H@B`2h$q$DJ;FtQ17A4_RqvS2>q fBIFvzZO+KRTF;7Eu5I