@@ -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></ |
|
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></ |
|
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