Error #352 » advanced_roadmap_redmine_1.0.3.diff
advanced_roadmap.new/app/views/projects/roadmap.rhtml 1970-01-01 00:00:00.000000000 +0000 | ||
---|---|---|
1 |
<h2><%=l(:label_roadmap)%></h2> |
|
2 | ||
3 |
<% if @versions.empty? %> |
|
4 |
<p class="nodata"><%= l(:label_no_data) %></p> |
|
5 |
<% else %> |
|
6 | ||
7 |
<div id="roadmap"> |
|
8 | ||
9 |
<% if @versions.size >= 1 %> |
|
10 |
<%= tag "a", :name => l(:label_total) %> |
|
11 |
<h3 class="icon22 icon22-package"><%= l(:label_total) %></h3> |
|
12 |
<% |
|
13 |
estimated_hours = 0.0 |
|
14 |
spent_hours = 0.0 |
|
15 |
rest_hours = 0.0 |
|
16 |
completed_pourcent = 0.0 |
|
17 |
closed_pourcent = 0.0 |
|
18 |
@versions.each do |version| |
|
19 |
estimated_hours += version.estimated_hours |
|
20 |
spent_hours += version.spent_hours |
|
21 |
rest_hours += version.rest_hours |
|
22 |
completed_pourcent += version.spent_hours |
|
23 |
closed_pourcent += version.closed_spent_hours |
|
24 |
end |
|
25 |
total = spent_hours + rest_hours |
|
26 |
if total > 0.0 |
|
27 |
completed_pourcent = (completed_pourcent * 100.0) / total |
|
28 |
closed_pourcent = (closed_pourcent * 100.0) / total |
|
29 |
end |
|
30 |
%> |
|
31 |
<%= progress_bar([closed_pourcent, completed_pourcent], :width => '40em', :legend => ('%0.0f%' % completed_pourcent)) %> |
|
32 |
<fieldset><legend><%= l(:label_time_tracking) %></legend> |
|
33 |
<table> |
|
34 |
<tr> |
|
35 |
<td width="130px" align="right"><%= l(:field_estimated_hours) %></td> |
|
36 |
<td width="340px" class="total-hours"><%= l_hours(estimated_hours) %></td> |
|
37 |
</tr> |
|
38 |
<% if User.current.allowed_to?(:view_time_entries, @project) %> |
|
39 |
<tr> |
|
40 |
<td width="130px" align="right"><%= l(:label_spent_time) %></td> |
|
41 |
<td width="340px" class="total-hours"><%= l_hours(spent_hours) %></td> |
|
42 |
</tr> |
|
43 |
<tr> |
|
44 |
<td width="130px" align="right"><%= l(:field_done_ratio) %></td> |
|
45 |
<td width="340px" class="total-hours"><big><%= "%.0f" % completed_pourcent %></big>%</td> |
|
46 |
</tr> |
|
47 |
<tr> |
|
48 |
<td width="130px" align="right"><%= l(:label_roadmap_due_in, "") %></td> |
|
49 |
<td width="340px" class="total-hours"><%= "#{l_hours(rest_hours)} / #{l_days(rest_hours / 8.0)} / #{l_weeks(rest_hours / 40.0)}" %></td> |
|
50 |
</tr> |
|
51 |
<% end %> |
|
52 |
</table> |
|
53 |
</fieldset> |
|
54 |
<% end %> |
|
55 | ||
56 |
<% @versions.each do |version| %> |
|
57 |
<% issues = version.fixed_issues.find(:all, |
|
58 |
:include => [:status, :tracker], |
|
59 |
:conditions => ["tracker_id in (#{@selected_tracker_ids.join(',')})"], |
|
60 |
:order => "#{Tracker.table_name}.position, #{Issue.table_name}.id") unless @selected_tracker_ids.empty? %> |
|
61 |
<%= tag 'a', :name => version.name %> |
|
62 |
<h3 class="icon22 icon22-package"><%= link_to h(version.name), :controller => 'versions', :action => 'show', :id => version %></h3> |
|
63 |
<%= render :partial => 'versions/overview', :locals => {:version => version} %> |
|
64 |
<%= render :partial => 'versions/milestones', :locals => {:version => version} %> |
|
65 |
<%= render(:partial => "wiki/content", :locals => {:content => version.wiki_page.content}) if version.wiki_page %> |
|
66 |
<%= render :partial => 'versions/issues', :locals => {:version => version, :issues => issues} %> |
|
67 |
<% end %> |
|
68 | ||
69 |
</div> |
|
70 |
<% end %> |
|
71 | ||
72 |
<% content_for :sidebar do %> |
|
73 |
<% form_tag({}, :method => :get) do %> |
|
74 |
<h3><%= l(:label_roadmap) %></h3> |
|
75 |
<% @trackers.each do |tracker| %> |
|
76 |
<label><%= check_box_tag "tracker_ids[]", tracker.id, (@selected_tracker_ids.include? tracker.id.to_s), :id => nil %> |
|
77 |
<%= tracker.name %></label><br /> |
|
78 |
<% end %> |
|
79 |
<br /> |
|
80 |
<label for="completed"><%= check_box_tag "completed", 1, params[:completed] %> <%= l(:label_show_completed_versions) %></label> |
|
81 |
<p><%= submit_tag l(:button_apply), :class => 'button-small', :name => nil %></p> |
|
82 |
<% end %> |
|
83 | ||
84 |
<h3><%= l(:label_milestone_plural) %></h3> |
|
85 |
<% @project.milestones.sort.each do |milestone| %> |
|
86 |
<%= link_to milestone.name, :controller => :milestones, :action => :show, :id => milestone.id %><br /> |
|
87 |
<% end %> |
|
88 | ||
89 |
<h3><%= l(:label_version_plural) %></h3> |
|
90 |
<%= link_to l(:label_total), "##{l(:label_total)}" %><br /> |
|
91 |
<% @versions.each do |version| %> |
|
92 |
<%= link_to version.name, "##{version.name}" %><br /> |
|
93 |
<% end %> |
|
94 |
<% end %> |
|
95 | ||
96 |
<% html_title(l(:label_roadmap)) %> |
advanced_roadmap.new/app/views/versions/index.rhtml 2010-11-05 10:45:47.000000000 +0000 | ||
---|---|---|
1 |
<h2><%=l(:label_roadmap)%></h2> |
|
2 | ||
3 |
<% if @versions.empty? %> |
|
4 |
<p class="nodata"><%= l(:label_no_data) %></p> |
|
5 |
<% else %> |
|
6 | ||
7 |
<div id="roadmap"> |
|
8 | ||
9 |
<% if @versions.size >= 1 %> |
|
10 |
<%= tag "a", :name => l(:label_total) %> |
|
11 |
<h3 class="icon22 icon22-package"><%= l(:label_total) %></h3> |
|
12 |
<% |
|
13 |
estimated_hours = 0.0 |
|
14 |
spent_hours = 0.0 |
|
15 |
rest_hours = 0.0 |
|
16 |
completed_pourcent = 0.0 |
|
17 |
closed_pourcent = 0.0 |
|
18 |
@versions.each do |version| |
|
19 |
estimated_hours += version.estimated_hours |
|
20 |
spent_hours += version.spent_hours |
|
21 |
rest_hours += version.rest_hours |
|
22 |
completed_pourcent += version.spent_hours |
|
23 |
closed_pourcent += version.closed_spent_hours |
|
24 |
end |
|
25 |
total = spent_hours + rest_hours |
|
26 |
if total > 0.0 |
|
27 |
completed_pourcent = (completed_pourcent * 100.0) / total |
|
28 |
closed_pourcent = (closed_pourcent * 100.0) / total |
|
29 |
end |
|
30 |
%> |
|
31 |
<%= progress_bar([closed_pourcent, completed_pourcent], :width => '40em', :legend => ('%0.0f%' % completed_pourcent)) %> |
|
32 |
<fieldset><legend><%= l(:label_time_tracking) %></legend> |
|
33 |
<table> |
|
34 |
<tr> |
|
35 |
<td width="130px" align="right"><%= l(:field_estimated_hours) %></td> |
|
36 |
<td width="340px" class="total-hours"><%= l_hours(estimated_hours) %></td> |
|
37 |
</tr> |
|
38 |
<% if User.current.allowed_to?(:view_time_entries, @project) %> |
|
39 |
<tr> |
|
40 |
<td width="130px" align="right"><%= l(:label_spent_time) %></td> |
|
41 |
<td width="340px" class="total-hours"><%= l_hours(spent_hours) %></td> |
|
42 |
</tr> |
|
43 |
<tr> |
|
44 |
<td width="130px" align="right"><%= l(:field_done_ratio) %></td> |
|
45 |
<td width="340px" class="total-hours"><big><%= "%.0f" % completed_pourcent %></big>%</td> |
|
46 |
</tr> |
|
47 |
<tr> |
|
48 |
<td width="130px" align="right"><%= l(:label_roadmap_due_in, "") %></td> |
|
49 |
<td width="340px" class="total-hours"><%= "#{l_hours(rest_hours)} / #{l_days(rest_hours / 8.0)} / #{l_weeks(rest_hours / 40.0)}" %></td> |
|
50 |
</tr> |
|
51 |
<% end %> |
|
52 |
</table> |
|
53 |
</fieldset> |
|
54 |
<% end %> |
|
55 | ||
56 |
<% @versions.each do |version| %> |
|
57 |
<% issues = version.fixed_issues.find(:all, |
|
58 |
:include => [:status, :tracker], |
|
59 |
:conditions => ["tracker_id in (#{@selected_tracker_ids.join(',')})"], |
|
60 |
:order => "#{Tracker.table_name}.position, #{Issue.table_name}.id") unless @selected_tracker_ids.empty? %> |
|
61 |
<%= tag 'a', :name => version.name %> |
|
62 |
<h3 class="icon22 icon22-package"><%= link_to h(version.name), :controller => 'versions', :action => 'show', :id => version %></h3> |
|
63 |
<%= render :partial => 'versions/overview', :locals => {:version => version} %> |
|
64 |
<%= render :partial => 'versions/milestones', :locals => {:version => version} %> |
|
65 |
<%= render(:partial => "wiki/content", :locals => {:content => version.wiki_page.content}) if version.wiki_page %> |
|
66 |
<%= render :partial => 'versions/issues', :locals => {:version => version, :issues => issues} %> |
|
67 |
<% end %> |
|
68 | ||
69 |
</div> |
|
70 |
<% end %> |
|
71 | ||
72 |
<% content_for :sidebar do %> |
|
73 |
<% form_tag({}, :method => :get) do %> |
|
74 |
<h3><%= l(:label_roadmap) %></h3> |
|
75 |
<% @trackers.each do |tracker| %> |
|
76 |
<label><%= check_box_tag "tracker_ids[]", tracker.id, (@selected_tracker_ids.include? tracker.id.to_s), :id => nil %> |
|
77 |
<%= tracker.name %></label><br /> |
|
78 |
<% end %> |
|
79 |
<br /> |
|
80 |
<label for="completed"><%= check_box_tag "completed", 1, params[:completed] %> <%= l(:label_show_completed_versions) %></label> |
|
81 |
<p><%= submit_tag l(:button_apply), :class => 'button-small', :name => nil %></p> |
|
82 |
<% end %> |
|
83 | ||
84 |
<h3><%= l(:label_milestone_plural) %></h3> |
|
85 |
<% @project.milestones.sort.each do |milestone| %> |
|
86 |
<%= link_to milestone.name, :controller => :milestones, :action => :show, :id => milestone.id %><br /> |
|
87 |
<% end %> |
|
88 | ||
89 |
<h3><%= l(:label_version_plural) %></h3> |
|
90 |
<%= link_to l(:label_total), "##{l(:label_total)}" %><br /> |
|
91 |
<% @versions.each do |version| %> |
|
92 |
<%= link_to version.name, "##{version.name}" %><br /> |
|
93 |
<% end %> |
|
94 |
<% end %> |
|
95 | ||
96 |
<% html_title(l(:label_roadmap)) %> |
advanced_roadmap.new/init.rb 2010-11-05 10:45:47.000000000 +0000 | ||
---|---|---|
17 | 17 | |
18 | 18 |
Issue.send(:include, IssuePatch) |
19 | 19 |
Project.send(:include, ProjectPatch) |
20 |
ProjectsController.send(:include, ProjectsControllerPatch)
|
|
20 |
VersionsController.send(:include, VersionsControllerPatch)
|
|
21 | 21 |
ProjectsHelper.send(:include, ProjectsHelperPatch) |
22 | 22 |
Redmine::I18n.send(:include, RedmineI18nPatch) |
23 | 23 |
Version.send(:include, VersionPatch) |
advanced_roadmap.new/lib/projects_controller_patch.rb 1970-01-01 00:00:00.000000000 +0000 | ||
---|---|---|
1 |
require_dependency "projects_controller" |
|
2 |
|
|
3 |
module ProjectsControllerPatch |
|
4 |
def self.included(base) |
|
5 |
base.class_eval do |
|
6 |
def roadmap_with_advanced_info |
|
7 |
roadmap_without_advanced_info |
|
8 |
end |
|
9 |
alias_method_chain :roadmap, :advanced_info |
|
10 |
end |
|
11 |
end |
|
12 |
end |
advanced_roadmap.new/lib/versions_controller_patch.rb 2010-11-05 10:45:47.000000000 +0000 | ||
---|---|---|
1 |
require_dependency "versions_controller" |
|
2 |
|
|
3 |
module VersionsControllerPatch |
|
4 |
def self.included(base) |
|
5 |
base.class_eval do |
|
6 |
def index_with_advanced_info |
|
7 |
index_without_advanced_info |
|
8 |
end |
|
9 |
alias_method_chain :index, :advanced_info |
|
10 |
end |
|
11 |
end |
|
12 |
end |