##// END OF EJS Templates
Added an option to see all versions in the roadmap view (including completed ones)....
Jean-Philippe Lang -
r513:8e24c6458da0
parent child
Show More
@@ -448,10 +448,11 class ProjectsController < ApplicationController
448
448
449 def roadmap
449 def roadmap
450 @trackers = Tracker.find(:all, :conditions => ["is_in_roadmap=?", true], :order => 'position')
450 @trackers = Tracker.find(:all, :conditions => ["is_in_roadmap=?", true], :order => 'position')
451 retrieve_selected_tracker_ids(@trackers)
451 retrieve_selected_tracker_ids(@trackers)
452 conditions = ("1" == params[:completed] ? nil : [ "#{Version.table_name}.effective_date > ?", Date.today])
452
453
453 @versions = @project.versions.find(:all,
454 @versions = @project.versions.find(:all,
454 :conditions => [ "#{Version.table_name}.effective_date>?", Date.today],
455 :conditions => conditions,
455 :order => "#{Version.table_name}.effective_date ASC"
456 :order => "#{Version.table_name}.effective_date ASC"
456 )
457 )
457 end
458 end
@@ -16,4 +16,13
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
18 module ProjectsHelper
18 module ProjectsHelper
19 def link_to_version(version, options = {})
20 return '' unless version && version.is_a?(Version)
21 link_to version.name, {:controller => 'projects',
22 :action => 'roadmap',
23 :id => version.project_id,
24 :completed => (version.completed? ? 1 : nil),
25 :anchor => version.name
26 }, options
27 end
19 end
28 end
@@ -33,6 +33,10 class Version < ActiveRecord::Base
33 effective_date
33 effective_date
34 end
34 end
35
35
36 def completed?
37 effective_date && effective_date <= Date.today
38 end
39
36 private
40 private
37 def check_integrity
41 def check_integrity
38 raise "Can't delete version" if self.fixed_issues.find(:first)
42 raise "Can't delete version" if self.fixed_issues.find(:first)
@@ -74,7 +74,7 while day <= @date_to
74 </span>
74 </span>
75 </div>
75 </div>
76 <% else %>
76 <% else %>
77 <%= image_tag('milestone.png') %> <small><%= "#{l(:label_version)}: #{i.name}" %></small>
77 <small><%= link_to_version i, :class => "icon icon-package" %></small>
78 <% end %>
78 <% end %>
79 <% end %>
79 <% end %>
80 </td>
80 </td>
@@ -1,14 +1,12
1 <h2><%=l(:label_change_log)%></h2>
1 <h2><%=l(:label_change_log)%></h2>
2
2
3 <div>
4
5 <div class="rightbox" style="width:140px;">
3 <div class="rightbox" style="width:140px;">
6 <% form_tag do %>
4 <% form_tag do %>
7 <p><strong><%=l(:label_tracker_plural)%></strong></p>
5 <p><strong><%=l(:label_tracker_plural)%></strong><br />
8 <% @trackers.each do |tracker| %>
6 <% @trackers.each do |tracker| %>
9 <%= check_box_tag "tracker_ids[]", tracker.id, (@selected_tracker_ids.include? tracker.id.to_s) %>
7 <%= check_box_tag "tracker_ids[]", tracker.id, (@selected_tracker_ids.include? tracker.id.to_s) %>
10 <%= tracker.name %><br />
8 <%= tracker.name %><br />
11 <% end %>
9 <% end %></p>
12 <p><center><%= submit_tag l(:button_apply), :class => 'button-small' %></center></p>
10 <p><center><%= submit_tag l(:button_apply), :class => 'button-small' %></center></p>
13 <% end %>
11 <% end %>
14 </div>
12 </div>
@@ -27,4 +25,3
27 end %>
25 end %>
28 <li><%= link_to_issue issue %>: <%=h issue.subject %></li>
26 <li><%= link_to_issue issue %>: <%=h issue.subject %></li>
29 <% end %>
27 <% end %>
30 </div> No newline at end of file
@@ -90,7 +90,7 top = headers_height + 8
90 <%= link_to_issue i %><%= " (#{i.project.name})" unless @project && @project == i.project %>:
90 <%= link_to_issue i %><%= " (#{i.project.name})" unless @project && @project == i.project %>:
91 <%=h i.subject %>
91 <%=h i.subject %>
92 <% else %>
92 <% else %>
93 <strong><%= "#{l(:label_version)}: #{i.name}" %></strong>
93 <%= link_to_version i, :class => "icon icon-package" %>
94 <% end %>
94 <% end %>
95 </small></div>
95 </small></div>
96 <% top = top + 20
96 <% top = top + 20
@@ -1,14 +1,13
1 <h2><%=l(:label_roadmap)%></h2>
1 <h2><%=l(:label_roadmap)%></h2>
2
2
3 <div>
3 <div class="rightbox">
4
5 <div class="rightbox" style="width:140px;">
6 <% form_tag do %>
4 <% form_tag do %>
7 <p><strong><%=l(:label_tracker_plural)%></strong></p>
5 <p><strong><%=l(:label_tracker_plural)%></strong><br />
8 <% @trackers.each do |tracker| %>
6 <% @trackers.each do |tracker| %>
9 <%= check_box_tag "tracker_ids[]", tracker.id, (@selected_tracker_ids.include? tracker.id.to_s) %>
7 <%= check_box_tag "tracker_ids[]", tracker.id, (@selected_tracker_ids.include? tracker.id.to_s) %>
10 <%= tracker.name %><br />
8 <%= tracker.name %><br />
11 <% end %>
9 <% end %></p>
10 <p class="small"><label for="completed"><%= check_box_tag "completed", 1, params[:completed] %> <%= l(:label_show_completed_versions) %></label></p>
12 <p><center><%= submit_tag l(:button_apply), :class => 'button-small' %></center></p>
11 <p><center><%= submit_tag l(:button_apply), :class => 'button-small' %></center></p>
13 <% end %>
12 <% end %>
14 </div>
13 </div>
@@ -16,13 +15,17
16 <% if @versions.empty? %><p><i><%= l(:label_no_data) %></i></p><% end %>
15 <% if @versions.empty? %><p><i><%= l(:label_no_data) %></i></p><% end %>
17
16
18 <% @versions.each do |version| %>
17 <% @versions.each do |version| %>
19 <h3 class="icon22 icon22-package"><%= version.name %></h3>
18 <a name="<%= version.name %>"><h3 class="icon22 icon22-package"><%= version.name %></h3></a>
19 <% if version.completed? %>
20 <p><%= format_date(version.effective_date) %></p>
21 <% else %>
22 <p><strong><%=l(:label_roadmap_due_in)%> <%= distance_of_time_in_words Time.now, version.effective_date %> (<%= format_date(version.effective_date) %>)</strong></p>
23 <% end %>
20 <p><%=h version.description %></p>
24 <p><%=h version.description %></p>
21 <p><strong><%=l(:label_roadmap_due_in)%> <%= distance_of_time_in_words Time.now, version.effective_date %> (<%= format_date(version.effective_date) %>)</strong></p>
22 <% issues = version.fixed_issues.find(:all,
25 <% issues = version.fixed_issues.find(:all,
23 :include => :status,
26 :include => [:status, :tracker],
24 :conditions => ["tracker_id in (#{@selected_tracker_ids.join(',')})"],
27 :conditions => ["tracker_id in (#{@selected_tracker_ids.join(',')})"],
25 :order => "position")
28 :order => "#{Tracker.table_name}.position")
26
29
27 total = issues.size
30 total = issues.size
28 complete = issues.inject(0) {|c,i| i.status.is_closed? ? c + 1 : c }
31 complete = issues.inject(0) {|c,i| i.status.is_closed? ? c + 1 : c }
@@ -56,4 +59,3
56 <% end %>
59 <% end %>
57 </ul>
60 </ul>
58 <% end %>
61 <% end %>
59 </div>
@@ -383,6 +383,7 label_start_to_start: start to start
383 label_start_to_end: start to end
383 label_start_to_end: start to end
384 label_stay_logged_in: Stay logged in
384 label_stay_logged_in: Stay logged in
385 label_disabled: disabled
385 label_disabled: disabled
386 label_show_completed_versions: Show completed versions
386
387
387 button_login: Вход
388 button_login: Вход
388 button_submit: Изпращане
389 button_submit: Изпращане
@@ -383,6 +383,7 label_start_to_start: start to start
383 label_start_to_end: start to end
383 label_start_to_end: start to end
384 label_stay_logged_in: Stay logged in
384 label_stay_logged_in: Stay logged in
385 label_disabled: disabled
385 label_disabled: disabled
386 label_show_completed_versions: Show completed versions
386
387
387 button_login: Einloggen
388 button_login: Einloggen
388 button_submit: OK
389 button_submit: OK
@@ -383,6 +383,7 label_start_to_start: start to start
383 label_start_to_end: start to end
383 label_start_to_end: start to end
384 label_stay_logged_in: Stay logged in
384 label_stay_logged_in: Stay logged in
385 label_disabled: disabled
385 label_disabled: disabled
386 label_show_completed_versions: Show completed versions
386
387
387 button_login: Login
388 button_login: Login
388 button_submit: Submit
389 button_submit: Submit
@@ -383,6 +383,7 label_start_to_start: start to start
383 label_start_to_end: start to end
383 label_start_to_end: start to end
384 label_stay_logged_in: Stay logged in
384 label_stay_logged_in: Stay logged in
385 label_disabled: disabled
385 label_disabled: disabled
386 label_show_completed_versions: Show completed versions
386
387
387 button_login: Conexión
388 button_login: Conexión
388 button_submit: Someter
389 button_submit: Someter
@@ -383,6 +383,7 label_start_to_start: début à début
383 label_start_to_end: début à fin
383 label_start_to_end: début à fin
384 label_stay_logged_in: Rester connecté
384 label_stay_logged_in: Rester connecté
385 label_disabled: désactivé
385 label_disabled: désactivé
386 label_show_completed_versions: Voire les versions passées
386
387
387 button_login: Connexion
388 button_login: Connexion
388 button_submit: Soumettre
389 button_submit: Soumettre
@@ -383,6 +383,7 label_start_to_start: start to start
383 label_start_to_end: start to end
383 label_start_to_end: start to end
384 label_stay_logged_in: Stay logged in
384 label_stay_logged_in: Stay logged in
385 label_disabled: disabled
385 label_disabled: disabled
386 label_show_completed_versions: Show completed versions
386
387
387 button_login: Login
388 button_login: Login
388 button_submit: Invia
389 button_submit: Invia
@@ -384,6 +384,7 label_start_to_start: start to start
384 label_start_to_end: start to end
384 label_start_to_end: start to end
385 label_stay_logged_in: Stay logged in
385 label_stay_logged_in: Stay logged in
386 label_disabled: disabled
386 label_disabled: disabled
387 label_show_completed_versions: Show completed versions
387
388
388 button_login: ログイン
389 button_login: ログイン
389 button_submit: 変更
390 button_submit: 変更
@@ -383,6 +383,7 label_start_to_start: start to start
383 label_start_to_end: start to end
383 label_start_to_end: start to end
384 label_stay_logged_in: Stay logged in
384 label_stay_logged_in: Stay logged in
385 label_disabled: disabled
385 label_disabled: disabled
386 label_show_completed_versions: Show completed versions
386
387
387 button_login: Login
388 button_login: Login
388 button_submit: Enviar
389 button_submit: Enviar
@@ -386,6 +386,7 label_start_to_start: start to start
386 label_start_to_end: start to end
386 label_start_to_end: start to end
387 label_stay_logged_in: Stay logged in
387 label_stay_logged_in: Stay logged in
388 label_disabled: disabled
388 label_disabled: disabled
389 label_show_completed_versions: Show completed versions
389
390
390 button_login: 登录
391 button_login: 登录
391 button_submit: 提交
392 button_submit: 提交
1 NO CONTENT: modified file, binary diff hidden
NO CONTENT: modified file, binary diff hidden
1 NO CONTENT: modified file, binary diff hidden
NO CONTENT: modified file, binary diff hidden
1 NO CONTENT: modified file, binary diff hidden
NO CONTENT: modified file, binary diff hidden
General Comments 0
You need to be logged in to leave comments. Login now