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
This commit is contained in:
Jean-Philippe Lang 2007-05-07 16:54:26 +00:00
parent b748455d96
commit 8e24c6458d
19 changed files with 41 additions and 19 deletions

View File

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

View File

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

View File

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

View File

@ -74,7 +74,7 @@ while day <= @date_to
</span>
</div>
<% else %>
<%= image_tag('milestone.png') %> <small><%= "#{l(:label_version)}: #{i.name}" %></small>
<small><%= link_to_version i, :class => "icon icon-package" %></small>
<% end %>
<% end %>
</td>

View File

@ -1,14 +1,12 @@
<h2><%=l(:label_change_log)%></h2>
<div>
<div class="rightbox" style="width:140px;">
<% form_tag do %>
<p><strong><%=l(:label_tracker_plural)%></strong></p>
<p><strong><%=l(:label_tracker_plural)%></strong><br />
<% @trackers.each do |tracker| %>
<%= check_box_tag "tracker_ids[]", tracker.id, (@selected_tracker_ids.include? tracker.id.to_s) %>
<%= tracker.name %><br />
<% end %>
<% end %></p>
<p><center><%= submit_tag l(:button_apply), :class => 'button-small' %></center></p>
<% end %>
</div>
@ -27,4 +25,3 @@
end %>
<li><%= link_to_issue issue %>: <%=h issue.subject %></li>
<% end %>
</div>

View File

@ -90,7 +90,7 @@ top = headers_height + 8
<%= link_to_issue i %><%= " (#{i.project.name})" unless @project && @project == i.project %>:
<%=h i.subject %>
<% else %>
<strong><%= "#{l(:label_version)}: #{i.name}" %></strong>
<%= link_to_version i, :class => "icon icon-package" %>
<% end %>
</small></div>
<% top = top + 20

View File

@ -1,14 +1,13 @@
<h2><%=l(:label_roadmap)%></h2>
<div>
<div class="rightbox" style="width:140px;">
<div class="rightbox">
<% form_tag do %>
<p><strong><%=l(:label_tracker_plural)%></strong></p>
<p><strong><%=l(:label_tracker_plural)%></strong><br />
<% @trackers.each do |tracker| %>
<%= check_box_tag "tracker_ids[]", tracker.id, (@selected_tracker_ids.include? tracker.id.to_s) %>
<%= tracker.name %><br />
<% end %>
<% end %></p>
<p class="small"><label for="completed"><%= check_box_tag "completed", 1, params[:completed] %> <%= l(:label_show_completed_versions) %></label></p>
<p><center><%= submit_tag l(:button_apply), :class => 'button-small' %></center></p>
<% end %>
</div>
@ -16,13 +15,17 @@
<% if @versions.empty? %><p><i><%= l(:label_no_data) %></i></p><% end %>
<% @versions.each do |version| %>
<h3 class="icon22 icon22-package"><%= version.name %></h3>
<a name="<%= version.name %>"><h3 class="icon22 icon22-package"><%= version.name %></h3></a>
<% if version.completed? %>
<p><%= format_date(version.effective_date) %></p>
<% else %>
<p><strong><%=l(:label_roadmap_due_in)%> <%= distance_of_time_in_words Time.now, version.effective_date %> (<%= format_date(version.effective_date) %>)</strong></p>
<% end %>
<p><%=h version.description %></p>
<p><strong><%=l(:label_roadmap_due_in)%> <%= distance_of_time_in_words Time.now, version.effective_date %> (<%= format_date(version.effective_date) %>)</strong></p>
<% 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 %>
</ul>
<% end %>
</div>

View File

@ -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: Изпращане

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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: 変更

View File

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

View File

@ -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: 提交

Binary file not shown.

Before

Width:  |  Height:  |  Size: 997 B

After

Width:  |  Height:  |  Size: 998 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 994 B

After

Width:  |  Height:  |  Size: 995 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 991 B

After

Width:  |  Height:  |  Size: 997 B