backlog 0.8.0 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +14 -0
- data/app/controllers/backlogs_controller.rb +4 -10
- data/app/controllers/tasks_controller.rb +15 -6
- data/app/views/backlogs/_tasks.rhtml +3 -1
- data/app/views/backlogs/edit.rhtml +0 -5
- data/app/views/backlogs/list.rhtml +1 -1
- data/app/views/backlogs/show.rhtml +3 -88
- data/app/views/periods/_title.rhtml +1 -1
- data/app/views/tasks/_backlog_header.rhtml +3 -2
- data/app/views/tasks/_form.rhtml +5 -0
- data/app/views/tasks/_period_header.rhtml +1 -1
- data/app/views/tasks/new.rhtml +1 -1
- data/cruise_config.rb +1 -1
- data/doc/classes/BacklogsController.src/M000043.html +4 -6
- data/doc/classes/BacklogsController.src/M000044.html +1 -1
- data/doc/classes/BacklogsController.src/M000045.html +1 -1
- data/doc/classes/BacklogsController.src/M000046.html +1 -5
- data/doc/classes/BacklogsController.src/M000047.html +1 -1
- data/doc/classes/BacklogsController.src/M000048.html +1 -1
- data/doc/classes/BacklogsController.src/M000049.html +1 -1
- data/doc/classes/BacklogsController.src/M000050.html +1 -1
- data/doc/classes/BacklogsController.src/M000051.html +1 -1
- data/doc/classes/BacklogsController.src/M000054.html +4 -6
- data/doc/classes/BacklogsController.src/M000055.html +1 -1
- data/doc/classes/BacklogsController.src/M000056.html +1 -1
- data/doc/classes/BacklogsController.src/M000057.html +1 -5
- data/doc/classes/BacklogsController.src/M000058.html +1 -1
- data/doc/classes/BacklogsController.src/M000059.html +1 -1
- data/doc/classes/BacklogsController.src/M000060.html +1 -1
- data/doc/classes/BacklogsController.src/M000061.html +1 -1
- data/doc/classes/BacklogsController.src/M000062.html +1 -1
- data/doc/classes/TasksController.src/M000105.html +6 -0
- data/doc/classes/TasksController.src/M000106.html +1 -1
- data/doc/classes/TasksController.src/M000107.html +10 -7
- data/doc/classes/TasksController.src/M000108.html +1 -1
- data/doc/classes/TasksController.src/M000109.html +1 -1
- data/doc/classes/TasksController.src/M000110.html +1 -1
- data/doc/classes/TasksController.src/M000111.html +1 -1
- data/doc/classes/TasksController.src/M000112.html +1 -1
- data/doc/classes/TasksController.src/M000113.html +1 -1
- data/doc/classes/TasksController.src/M000114.html +1 -1
- data/doc/classes/TasksController.src/M000115.html +1 -1
- data/doc/classes/TasksController.src/M000116.html +1 -1
- data/doc/classes/TasksController.src/M000117.html +1 -1
- data/doc/classes/TasksController.src/M000118.html +1 -1
- data/doc/classes/TasksController.src/M000119.html +1 -1
- data/doc/classes/TasksController.src/M000120.html +1 -1
- data/doc/classes/TasksController.src/M000121.html +1 -1
- data/doc/classes/TasksController.src/M000122.html +1 -1
- data/doc/classes/TasksController.src/M000125.html +6 -0
- data/doc/classes/TasksController.src/M000126.html +1 -1
- data/doc/classes/TasksController.src/M000127.html +10 -7
- data/doc/classes/TasksController.src/M000128.html +1 -1
- data/doc/classes/TasksController.src/M000129.html +1 -1
- data/doc/classes/TasksController.src/M000130.html +1 -1
- data/doc/classes/TasksController.src/M000131.html +1 -1
- data/doc/classes/TasksController.src/M000132.html +1 -1
- data/doc/classes/TasksController.src/M000133.html +1 -1
- data/doc/classes/TasksController.src/M000134.html +1 -1
- data/doc/classes/TasksController.src/M000135.html +1 -1
- data/doc/classes/TasksController.src/M000136.html +1 -1
- data/doc/classes/TasksController.src/M000137.html +1 -1
- data/doc/classes/TasksController.src/M000138.html +1 -1
- data/doc/classes/TasksController.src/M000139.html +1 -1
- data/doc/classes/TasksController.src/M000140.html +1 -1
- data/doc/classes/TasksController.src/M000141.html +1 -1
- data/doc/classes/TasksController.src/M000142.html +1 -1
- data/doc/created.rid +1 -1
- data/doc/dot/f_0.png +0 -0
- data/doc/dot/f_1.png +0 -0
- data/doc/dot/f_2.png +0 -0
- data/doc/dot/f_24.png +0 -0
- data/doc/dot/f_25.png +0 -0
- data/doc/dot/f_26.png +0 -0
- data/doc/dot/f_27.png +0 -0
- data/doc/dot/f_28.png +0 -0
- data/doc/dot/f_29.png +0 -0
- data/doc/dot/f_3.png +0 -0
- data/doc/dot/f_30.png +0 -0
- data/doc/dot/f_31.png +0 -0
- data/doc/dot/f_32.png +0 -0
- data/doc/dot/f_33.png +0 -0
- data/doc/dot/f_34.png +0 -0
- data/doc/dot/f_4.png +0 -0
- data/doc/dot/f_46.png +0 -0
- data/doc/dot/f_47.png +0 -0
- data/doc/dot/f_48.png +0 -0
- data/doc/dot/f_49.png +0 -0
- data/doc/dot/f_5.png +0 -0
- data/doc/dot/f_50.png +0 -0
- data/doc/dot/f_51.png +0 -0
- data/doc/dot/f_52.png +0 -0
- data/doc/dot/f_53.png +0 -0
- data/doc/dot/f_54.png +0 -0
- data/doc/dot/f_55.png +0 -0
- data/doc/dot/f_56.png +0 -0
- data/doc/dot/f_6.png +0 -0
- data/doc/dot/f_68.png +0 -0
- data/doc/dot/f_69.png +0 -0
- data/doc/dot/f_7.png +0 -0
- data/doc/dot/f_70.png +0 -0
- data/doc/dot/f_71.png +0 -0
- data/doc/dot/f_72.png +0 -0
- data/doc/dot/f_73.png +0 -0
- data/doc/dot/f_74.png +0 -0
- data/doc/dot/f_75.png +0 -0
- data/doc/dot/f_76.png +0 -0
- data/doc/dot/f_77.png +0 -0
- data/doc/dot/f_78.png +0 -0
- data/doc/dot/f_79.png +0 -0
- data/doc/dot/m_50_0.png +0 -0
- data/doc/files/History_txt.html +41 -2
- data/doc/files/app/controllers/backlogs_controller_rb.html +1 -1
- data/doc/files/app/controllers/tasks_controller_rb.html +1 -1
- data/doc/index.html +2 -2
- data/lang/en.yaml +1 -0
- data/lang/no.yaml +1 -0
- data/test/fixtures/tasks.yml +13 -1
- data/test/functional/backlogs_controller_test.rb +5 -2
- data/test/functional/tasks_controller_test.rb +14 -0
- metadata +2 -5
- data/post-clean.rb +0 -12
- data/post-install.rb +0 -51
- data/post-setup.rb +0 -254
data/History.txt
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
== 0.8.1 2007-09-04
|
2
|
+
|
3
|
+
* Localized "Notes" string.
|
4
|
+
* Split Backlog Edit View into Edit for options and Show for tasks for less clutter.
|
5
|
+
Tasks are probably viewed way more often than options.
|
6
|
+
* Added file upload to create task view.
|
7
|
+
* Changed to allow editing of tasks not in any sprint.
|
8
|
+
* Fixed bug where estimates were not updated in the Task update view.
|
9
|
+
* Fixed bug when finishing a task by setting estimate to 0 in the task edit view.
|
10
|
+
* Added links to edit and show a backlog in the backlog and sprint views.
|
11
|
+
* Changed link in the Backlog List view to go to the backlog Show view instead of the backlog edit view.
|
12
|
+
* Improved work flow when adding a task from the show sprint view.
|
13
|
+
* Removed faulty link from Backlog view for Unplanned tasks.
|
14
|
+
|
1
15
|
== 0.8.0 2007-09-03
|
2
16
|
|
3
17
|
* FEATURE: Added notes and files to tasks.
|
@@ -32,12 +32,10 @@ class BacklogsController < ApplicationController
|
|
32
32
|
return
|
33
33
|
end
|
34
34
|
end
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
end
|
40
|
-
redirect_to :controller => 'periods', :action => :show, :id => @period
|
35
|
+
unplanned_tasks = @backlog.tasks.select {|t| t.period.nil? && t.finished_at.nil?}.sort_by {|t| t.position}
|
36
|
+
planned_tasks = @backlog.tasks.select {|t| t.period && t.finished_at.nil?}.sort_by {|t| [t.period.end_on, t.position]}
|
37
|
+
@tasks = planned_tasks + unplanned_tasks
|
38
|
+
@completed_tasks = @backlog.tasks.select {|t| t.finished_at}.sort {|t1, t2| t2.finished_at <=> t1.finished_at}
|
41
39
|
end
|
42
40
|
|
43
41
|
def new
|
@@ -56,10 +54,6 @@ class BacklogsController < ApplicationController
|
|
56
54
|
|
57
55
|
def edit
|
58
56
|
@backlog = Backlog.find(params[:id])
|
59
|
-
unplanned_tasks = @backlog.tasks.select {|t| t.period.nil? && t.finished_at.nil?}.sort_by {|t| t.position}
|
60
|
-
planned_tasks = @backlog.tasks.select {|t| t.period && t.finished_at.nil?}.sort_by {|t| [t.period.end_on, t.position]}
|
61
|
-
@tasks = planned_tasks + unplanned_tasks
|
62
|
-
@completed_tasks = @backlog.tasks.select {|t| t.finished_at}.sort {|t1, t2| t2.finished_at <=> t1.finished_at}
|
63
57
|
end
|
64
58
|
|
65
59
|
def edit_no_layout
|
@@ -23,9 +23,15 @@ class TasksController < ApplicationController
|
|
23
23
|
detour_to :controller => 'periods', :action => :new, :group_id => params[:task][:period_id][1..-1].to_i
|
24
24
|
return
|
25
25
|
end
|
26
|
+
|
27
|
+
file = params[:task].delete(:file)
|
28
|
+
|
26
29
|
@task = Task.new(params[:task])
|
27
30
|
if @task.save
|
28
31
|
flash[:notice] = 'Task was successfully created.'
|
32
|
+
if file && file.is_a?(File)
|
33
|
+
@task.task_files.create! :name => file.original_filename, :content_data => file.read, :content_type => file.content_type
|
34
|
+
end
|
29
35
|
@task.move_to_top
|
30
36
|
if @task.period
|
31
37
|
back_or_redirect_to :controller => 'periods', :action => 'show', :id => @task.period, :task => @task.id
|
@@ -54,7 +60,7 @@ class TasksController < ApplicationController
|
|
54
60
|
return
|
55
61
|
end
|
56
62
|
@task = Task.find(params[:id])
|
57
|
-
unless
|
63
|
+
unless @task.period.nil? || @task.period.active_or_future? || (params[:task] && params[:task][:period_id] && params[:task][:period_id].to_i > 0 && (period = Period.find_by_id(params[:task][:period_id])) && period.active?)
|
58
64
|
@task.errors.add(:period_id, "You may not update a task in an inactive period. Move the task to an active period first.")
|
59
65
|
back_or_redirect_to :controller => 'periods', :action => :show, :id => @task.period, :task => @task.id
|
60
66
|
return
|
@@ -77,17 +83,20 @@ class TasksController < ApplicationController
|
|
77
83
|
end
|
78
84
|
end
|
79
85
|
|
80
|
-
|
86
|
+
file = params[:task].delete(:file)
|
81
87
|
|
82
88
|
if params[:task] && @task.update_attributes(params[:task])
|
83
89
|
flash[:notice] = 'Task was successfully updated.'
|
84
|
-
if
|
85
|
-
@task.
|
90
|
+
if params[:estimate]
|
91
|
+
@task.estimates.create! params[:estimate]
|
92
|
+
end
|
93
|
+
if file && file.is_a?(File)
|
94
|
+
@task.task_files.create! :name => file.original_filename, :content_data => file.read, :content_type => file.content_type
|
86
95
|
end
|
87
|
-
if params[:
|
96
|
+
if params[:estimate] && params[:estimate][:todo] && params[:estimate][:todo].to_i == 0
|
88
97
|
unless @task.finished_at
|
89
98
|
next_task = @task.lower_item || @task.higher_item
|
90
|
-
@task.finish Task::COMPLETED, true
|
99
|
+
@task.finish Task::COMPLETED, true
|
91
100
|
@task.save!
|
92
101
|
back_or_redirect_to :controller => 'periods', :action => :show, :id => @task.period, :task => next_task ? next_task.id : nil
|
93
102
|
else
|
@@ -1,7 +1,9 @@
|
|
1
1
|
<div class="mainblock">
|
2
2
|
<div class="btitle">
|
3
3
|
<%=image_link_to 'arrow_up.png', l(:backlogs), :action => :list %>
|
4
|
-
|
4
|
+
<%=image_detour_to('clipboard.png', l(:edit), :controller => 'backlogs', :action => :edit)%>
|
5
|
+
<%=image_detour_to('clipboard.png', l(:show), :controller => 'backlogs', :action => :show)%>
|
6
|
+
<h4><%=l :tasks%></h4>
|
5
7
|
</div>
|
6
8
|
|
7
9
|
<table>
|
@@ -1,90 +1,5 @@
|
|
1
|
-
|
2
|
-
<div class="btitle">
|
3
|
-
<h4><%=h @backlog.name %></h4>
|
4
|
-
</div>
|
1
|
+
<% @page_title = @backlog.name %>
|
5
2
|
|
6
|
-
|
7
|
-
|
8
|
-
<a href="image-description.txt" class="dlink" title="Place An Alternate Description Here!"></a>
|
9
|
-
-->
|
10
|
-
|
11
|
-
<table>
|
12
|
-
<tr>
|
13
|
-
<th align="center">#</th>
|
14
|
-
<th><%=l :task %></th>
|
15
|
-
<th><%=l :done %></th>
|
16
|
-
<th><%=l :todo %></th>
|
17
|
-
<th></th>
|
18
|
-
</tr>
|
19
|
-
<% i = 1 %>
|
20
|
-
<% for @task in @backlog.recent_tasks %>
|
21
|
-
<% i += 3 %>
|
22
|
-
<script type="text/javascript">
|
23
|
-
function handle<%=@task.id%>(field, event) {
|
24
|
-
if (event.keyCode == 13) {
|
25
|
-
field.form.submit();
|
26
|
-
} else if (event.altKey && event.keyCode == 38) {
|
27
|
-
window.location = '<%=url_for(:controller => 'tasks', :action => :move_up, :id => @task)%>';
|
28
|
-
} else if (event.altKey && event.keyCode == 40) {
|
29
|
-
window.location = '<%=url_for(:controller => 'tasks', :action => :move_down, :id => @task)%>';
|
30
|
-
} else if (event.altKey && event.shiftKey && event.keyCode == 37) {
|
31
|
-
window.location = '<%=url_for(:controller => 'tasks', :action => :move_to_top, :id => @task)%>';
|
32
|
-
} else if (event.altKey && event.shiftKey && event.keyCode == 39) {
|
33
|
-
window.location = '<%=url_for(:controller => 'tasks', :action => :move_to_bottom, :id => @task)%>';
|
34
|
-
} else if (event.altKey && event.charCode == 120) {
|
35
|
-
window.location = '<%=url_for(:controller => 'tasks', :action => :finish, :id => @task)%>';
|
36
|
-
} else if (event.altKey && event.charCode == 113) {
|
37
|
-
window.location = '<%=url_for(:controller => 'tasks', :action => :reopen, :id => @task)%>';
|
38
|
-
} else if (event.altKey && event.charCode == 49) {
|
39
|
-
elements['<%=@task.id%>_todo'].hidden = !elements['<%=@task.id%>_todo'].hidden;
|
40
|
-
}
|
41
|
-
}
|
42
|
-
</script>
|
43
|
-
|
44
|
-
<% form_tag({:controller => 'tasks', :action => 'update', :id => @task}, {:onsubmit => "return (elements[0].value != '' || confirm('#{l(:confirmation)}', 'Yes', 'Noo'))"}) do %>
|
45
|
-
<tr>
|
46
|
-
<td align="right">
|
47
|
-
<%= h(@task.position) %>
|
48
|
-
<%= if @task.finished_at then l :completed end %>
|
49
|
-
</td>
|
50
|
-
<td><%= text_field 'task', 'description', :tabindex => i, :id => "#{@task.id}_description", :class => :task_field, :maxlength => 64, :onkeypress => "handle#{@task.id}(this, event)" %></td>
|
51
|
-
<td nowrap="true"><%= text_field 'task', 'done', :tabindex => i+1, :id => "#{@task.id}_done", :class => :task_hours, :maxlength => 4, :onkeypress => "handle#{@task.id}(this, event)" %>
|
52
|
-
(<%= @task.total_done %>)
|
53
|
-
</td>
|
54
|
-
<td><%= text_field 'task', 'todo', :tabindex => i+2, :id => "#{@task.id}_todo", :class => :task_hours, :maxlength => 4, :onkeypress => "handle#{@task.id}(this, event)" %></td>
|
55
|
-
<% end %>
|
56
|
-
<td>
|
57
|
-
<% unless @task.finished_at %>
|
58
|
-
<%= image_button_to 'arrow07_4.png', l(:up), :controller => 'tasks', :action => :move_up, :id => @task %>
|
59
|
-
</td>
|
60
|
-
<td>
|
61
|
-
<%= image_button_to('arrow07_2.png', l(:down), :controller => 'tasks', :action => :move_down, :id => @task)%>
|
62
|
-
</td>
|
63
|
-
<td>
|
64
|
-
<%= image_button_to('checkmark_joel_montes_de_.png', l(:complete), :controller => 'tasks', :action => :finish, :id => @task)%>
|
65
|
-
<% else %>
|
66
|
-
<%=image_button_to('eraser.png', l(:reopen), :controller => 'tasks', :action => :reopen, :id => @task) %>
|
67
|
-
<% end %>
|
68
|
-
</td>
|
69
|
-
</tr>
|
70
|
-
<% end %>
|
71
|
-
</table>
|
72
|
-
|
73
|
-
|
74
|
-
<script type="text/JavaScript">
|
75
|
-
<% if @selected_task %>
|
76
|
-
document.getElementById('<%=@selected_task.id%>_description').focus();
|
77
|
-
document.getElementById('<%=@selected_task.id%>_description').select();
|
78
|
-
<% else %>
|
79
|
-
document.links['new_task'].focus();
|
80
|
-
<% end %>
|
81
|
-
</script>
|
82
|
-
|
83
|
-
</div>
|
84
|
-
<div id="lfeature">
|
85
|
-
<div class="btitle">
|
86
|
-
<h4><%=l :burn_down_chart %></h4>
|
87
|
-
</div>
|
88
|
-
|
89
|
-
<%= link_to image_tag(url_for(:action => :burn_down_chart_thumbnail, :id => @backlog), {:alt => 'Burn down chart'}), :action => :burn_down_chart, :id => @backlog %>
|
3
|
+
<div id="maincontent">
|
4
|
+
<%=render :partial => 'tasks', :locals => {:tasks => @tasks}%>
|
90
5
|
</div>
|
@@ -6,6 +6,6 @@
|
|
6
6
|
<%=detour_to(image_tag(url_for(@period.party.to_sym.to_s + ".png"), :alt => l(@period.party.to_sym), :title => l(@period.party.to_sym), :class => 'image-submit'), :controller => @period.party.controller, :action => :edit, :id => @period.party) %>
|
7
7
|
|
8
8
|
<%=if @period.higher_item then link_to(image_tag(url_for("arrow_left.png"), :alt => "#{l :previous} #{l :period}", :title => "#{l :previous} #{l :period}", :class => 'image-submit'), :controller => 'periods', :action => :show, :id => @period.higher_item) end%>
|
9
|
-
<%=unless @period.passed? then
|
9
|
+
<%=unless @period.passed? then detour_to(image_tag(url_for("add.png"), :alt => l(:add_task), :title => l(:add_task), :class => 'image-submit'), :controller => 'tasks', :action => 'new', :task => {:period_id => (@period ? @period.id : (@backlog && @backlog.periods.first ? @backlog.periods.first.id : nil))} ) end %>
|
10
10
|
<h4><%=h @period.name %> (<%=@period.start_on%> - <%=@period.end_on%>)</h4>
|
11
11
|
</div>
|
@@ -2,11 +2,12 @@
|
|
2
2
|
|
3
3
|
<tr valign="top">
|
4
4
|
<td>
|
5
|
-
<%=
|
5
|
+
<%=image_detour_to('add.png', l(:new_task), :controller => 'tasks', :action => :new, :task => {:backlog_id => @backlog.id, :period_id => @period && @period.id})%>
|
6
6
|
</td>
|
7
7
|
<td colspan="4" style="vertical-align: middle">
|
8
8
|
<h5>
|
9
|
-
<%=detour_to(h(backlog.name), :controller => 'backlogs', :action => :
|
9
|
+
<%=detour_to(h(backlog.name), :controller => 'backlogs', :action => :show, :id => @backlog) %>
|
10
|
+
<%=image_detour_to('clipboard.png', l(:edit), :controller => 'backlogs', :action => :edit, :id => @backlog.id)%>
|
10
11
|
</h5>
|
11
12
|
</td>
|
12
13
|
<td width="*"/>
|
data/app/views/tasks/_form.rhtml
CHANGED
@@ -37,8 +37,13 @@
|
|
37
37
|
<% end %>
|
38
38
|
|
39
39
|
<% if @task.track_todo? %>
|
40
|
+
<% if @task.new_record? %>
|
40
41
|
<p><label for="task_initial_estimate"><%=l :estimate%></label><br/>
|
41
42
|
<%= text_field 'task', 'initial_estimate', :size => 4 %></p>
|
43
|
+
<% else %>
|
44
|
+
<p><label for="estimate_todo"><%=l :estimate%></label><br/>
|
45
|
+
<%= text_field 'estimate', 'todo', :size => 4, :value => @task.todo %></p>
|
46
|
+
<% end %>
|
42
47
|
<% end %>
|
43
48
|
|
44
49
|
<p><label for="task_notes"><%=l :notes%></label><br/>
|
@@ -1 +1 @@
|
|
1
|
-
<tr><th colspan="6"><%=
|
1
|
+
<tr><th colspan="6"><%=period ? link_to(h(period.name), :controller => 'periods', :action => :show, :id => period) : l(:unplanned_tasks)%></th></tr>
|
data/app/views/tasks/new.rhtml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
<div id="spotlight">
|
2
2
|
<% @page_title = l :new_task %>
|
3
3
|
|
4
|
-
<% form_tag
|
4
|
+
<% form_tag({:action => 'create'}, :multipart => true) do %>
|
5
5
|
<%= render :partial => 'form' %>
|
6
6
|
<%= submit_tag l(:save) %>
|
7
7
|
<%= back_or_link_to l(:back), :action => :list %>
|
data/cruise_config.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
Project.configure do |project|
|
2
|
-
project.email_notifier.emails = ['uwe@datek.no'
|
2
|
+
project.email_notifier.emails = ['uwe@datek.no']
|
3
3
|
project.email_notifier.from = 'cruisecontrol@datek.no'
|
4
4
|
|
5
5
|
project.build_command = 'RAILS_ENV=test rake'
|
@@ -22,12 +22,10 @@
|
|
22
22
|
<span class="ruby-keyword kw">return</span>
|
23
23
|
<span class="ruby-keyword kw">end</span>
|
24
24
|
<span class="ruby-keyword kw">end</span>
|
25
|
-
<span class="ruby-
|
26
|
-
<span class="ruby-
|
27
|
-
|
28
|
-
|
29
|
-
<span class="ruby-keyword kw">end</span>
|
30
|
-
<span class="ruby-identifier">redirect_to</span> <span class="ruby-identifier">:controller</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'periods'</span>, <span class="ruby-identifier">:action</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">:show</span>, <span class="ruby-identifier">:id</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@period</span>
|
25
|
+
<span class="ruby-identifier">unplanned_tasks</span> = <span class="ruby-ivar">@backlog</span>.<span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">period</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">finished_at</span>.<span class="ruby-identifier">nil?</span>}.<span class="ruby-identifier">sort_by</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">position</span>}
|
26
|
+
<span class="ruby-identifier">planned_tasks</span> = <span class="ruby-ivar">@backlog</span>.<span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">period</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">finished_at</span>.<span class="ruby-identifier">nil?</span>}.<span class="ruby-identifier">sort_by</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> [<span class="ruby-identifier">t</span>.<span class="ruby-identifier">period</span>.<span class="ruby-identifier">end_on</span>, <span class="ruby-identifier">t</span>.<span class="ruby-identifier">position</span>]}
|
27
|
+
<span class="ruby-ivar">@tasks</span> = <span class="ruby-identifier">planned_tasks</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">unplanned_tasks</span>
|
28
|
+
<span class="ruby-ivar">@completed_tasks</span> = <span class="ruby-ivar">@backlog</span>.<span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">finished_at</span>}.<span class="ruby-identifier">sort</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t1</span>, <span class="ruby-identifier">t2</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t2</span>.<span class="ruby-identifier">finished_at</span> <span class="ruby-operator"><=></span> <span class="ruby-identifier">t1</span>.<span class="ruby-identifier">finished_at</span>}
|
31
29
|
<span class="ruby-keyword kw">end</span></pre>
|
32
30
|
</body>
|
33
31
|
</html>
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File app/controllers/backlogs_controller.rb, line
|
13
|
+
<pre><span class="ruby-comment cmt"># File app/controllers/backlogs_controller.rb, line 41</span>
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">new</span>
|
15
15
|
<span class="ruby-ivar">@backlog</span> = <span class="ruby-constant">Backlog</span>.<span class="ruby-identifier">new</span>
|
16
16
|
<span class="ruby-keyword kw">end</span></pre>
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File app/controllers/backlogs_controller.rb, line
|
13
|
+
<pre><span class="ruby-comment cmt"># File app/controllers/backlogs_controller.rb, line 45</span>
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create</span>
|
15
15
|
<span class="ruby-ivar">@backlog</span> = <span class="ruby-constant">Backlog</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">params</span>[<span class="ruby-identifier">:backlog</span>])
|
16
16
|
<span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@backlog</span>.<span class="ruby-identifier">save</span>
|
@@ -10,13 +10,9 @@
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File app/controllers/backlogs_controller.rb, line
|
13
|
+
<pre><span class="ruby-comment cmt"># File app/controllers/backlogs_controller.rb, line 55</span>
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">edit</span>
|
15
15
|
<span class="ruby-ivar">@backlog</span> = <span class="ruby-constant">Backlog</span>.<span class="ruby-identifier">find</span>(<span class="ruby-identifier">params</span>[<span class="ruby-identifier">:id</span>])
|
16
|
-
<span class="ruby-identifier">unplanned_tasks</span> = <span class="ruby-ivar">@backlog</span>.<span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">period</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">finished_at</span>.<span class="ruby-identifier">nil?</span>}.<span class="ruby-identifier">sort_by</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">position</span>}
|
17
|
-
<span class="ruby-identifier">planned_tasks</span> = <span class="ruby-ivar">@backlog</span>.<span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">period</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">finished_at</span>.<span class="ruby-identifier">nil?</span>}.<span class="ruby-identifier">sort_by</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> [<span class="ruby-identifier">t</span>.<span class="ruby-identifier">period</span>.<span class="ruby-identifier">end_on</span>, <span class="ruby-identifier">t</span>.<span class="ruby-identifier">position</span>]}
|
18
|
-
<span class="ruby-ivar">@tasks</span> = <span class="ruby-identifier">planned_tasks</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">unplanned_tasks</span>
|
19
|
-
<span class="ruby-ivar">@completed_tasks</span> = <span class="ruby-ivar">@backlog</span>.<span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">finished_at</span>}.<span class="ruby-identifier">sort</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t1</span>, <span class="ruby-identifier">t2</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t2</span>.<span class="ruby-identifier">finished_at</span> <span class="ruby-operator"><=></span> <span class="ruby-identifier">t1</span>.<span class="ruby-identifier">finished_at</span>}
|
20
16
|
<span class="ruby-keyword kw">end</span></pre>
|
21
17
|
</body>
|
22
18
|
</html>
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File app/controllers/backlogs_controller.rb, line
|
13
|
+
<pre><span class="ruby-comment cmt"># File app/controllers/backlogs_controller.rb, line 59</span>
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">edit_no_layout</span>
|
15
15
|
<span class="ruby-identifier">edit</span>
|
16
16
|
<span class="ruby-identifier">render</span> <span class="ruby-identifier">:partial</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'tasks'</span>
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File app/controllers/backlogs_controller.rb, line
|
13
|
+
<pre><span class="ruby-comment cmt"># File app/controllers/backlogs_controller.rb, line 64</span>
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">update</span>
|
15
15
|
<span class="ruby-ivar">@backlog</span> = <span class="ruby-constant">Backlog</span>.<span class="ruby-identifier">find</span>(<span class="ruby-identifier">params</span>[<span class="ruby-identifier">:id</span>])
|
16
16
|
<span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@backlog</span>.<span class="ruby-identifier">update_attributes</span>(<span class="ruby-identifier">params</span>[<span class="ruby-identifier">:backlog</span>])
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File app/controllers/backlogs_controller.rb, line
|
13
|
+
<pre><span class="ruby-comment cmt"># File app/controllers/backlogs_controller.rb, line 74</span>
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">destroy</span>
|
15
15
|
<span class="ruby-constant">Backlog</span>.<span class="ruby-identifier">find</span>(<span class="ruby-identifier">params</span>[<span class="ruby-identifier">:id</span>]).<span class="ruby-identifier">destroy</span>
|
16
16
|
<span class="ruby-identifier">flash</span>[<span class="ruby-identifier">:notice</span>] = <span class="ruby-value str">'Backlog was successfully deleted.'</span>
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File app/controllers/backlogs_controller.rb, line
|
13
|
+
<pre><span class="ruby-comment cmt"># File app/controllers/backlogs_controller.rb, line 80</span>
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">burn_down_chart_thumbnail</span>
|
15
15
|
<span class="ruby-identifier">send_burn_down_chart</span> <span class="ruby-value">270</span>
|
16
16
|
<span class="ruby-keyword kw">end</span></pre>
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File app/controllers/backlogs_controller.rb, line
|
13
|
+
<pre><span class="ruby-comment cmt"># File app/controllers/backlogs_controller.rb, line 84</span>
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">burn_down_chart</span>
|
15
15
|
<span class="ruby-identifier">send_burn_down_chart</span> <span class="ruby-value">640</span>
|
16
16
|
<span class="ruby-keyword kw">end</span></pre>
|
@@ -22,12 +22,10 @@
|
|
22
22
|
<span class="ruby-keyword kw">return</span>
|
23
23
|
<span class="ruby-keyword kw">end</span>
|
24
24
|
<span class="ruby-keyword kw">end</span>
|
25
|
-
<span class="ruby-
|
26
|
-
<span class="ruby-
|
27
|
-
|
28
|
-
|
29
|
-
<span class="ruby-keyword kw">end</span>
|
30
|
-
<span class="ruby-identifier">redirect_to</span> <span class="ruby-identifier">:controller</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'periods'</span>, <span class="ruby-identifier">:action</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">:show</span>, <span class="ruby-identifier">:id</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@period</span>
|
25
|
+
<span class="ruby-identifier">unplanned_tasks</span> = <span class="ruby-ivar">@backlog</span>.<span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">period</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">finished_at</span>.<span class="ruby-identifier">nil?</span>}.<span class="ruby-identifier">sort_by</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">position</span>}
|
26
|
+
<span class="ruby-identifier">planned_tasks</span> = <span class="ruby-ivar">@backlog</span>.<span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">period</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">finished_at</span>.<span class="ruby-identifier">nil?</span>}.<span class="ruby-identifier">sort_by</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> [<span class="ruby-identifier">t</span>.<span class="ruby-identifier">period</span>.<span class="ruby-identifier">end_on</span>, <span class="ruby-identifier">t</span>.<span class="ruby-identifier">position</span>]}
|
27
|
+
<span class="ruby-ivar">@tasks</span> = <span class="ruby-identifier">planned_tasks</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">unplanned_tasks</span>
|
28
|
+
<span class="ruby-ivar">@completed_tasks</span> = <span class="ruby-ivar">@backlog</span>.<span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">finished_at</span>}.<span class="ruby-identifier">sort</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t1</span>, <span class="ruby-identifier">t2</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t2</span>.<span class="ruby-identifier">finished_at</span> <span class="ruby-operator"><=></span> <span class="ruby-identifier">t1</span>.<span class="ruby-identifier">finished_at</span>}
|
31
29
|
<span class="ruby-keyword kw">end</span></pre>
|
32
30
|
</body>
|
33
31
|
</html>
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File app/controllers/backlogs_controller.rb, line
|
13
|
+
<pre><span class="ruby-comment cmt"># File app/controllers/backlogs_controller.rb, line 41</span>
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">new</span>
|
15
15
|
<span class="ruby-ivar">@backlog</span> = <span class="ruby-constant">Backlog</span>.<span class="ruby-identifier">new</span>
|
16
16
|
<span class="ruby-keyword kw">end</span></pre>
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File app/controllers/backlogs_controller.rb, line
|
13
|
+
<pre><span class="ruby-comment cmt"># File app/controllers/backlogs_controller.rb, line 45</span>
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create</span>
|
15
15
|
<span class="ruby-ivar">@backlog</span> = <span class="ruby-constant">Backlog</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">params</span>[<span class="ruby-identifier">:backlog</span>])
|
16
16
|
<span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@backlog</span>.<span class="ruby-identifier">save</span>
|
@@ -10,13 +10,9 @@
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File app/controllers/backlogs_controller.rb, line
|
13
|
+
<pre><span class="ruby-comment cmt"># File app/controllers/backlogs_controller.rb, line 55</span>
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">edit</span>
|
15
15
|
<span class="ruby-ivar">@backlog</span> = <span class="ruby-constant">Backlog</span>.<span class="ruby-identifier">find</span>(<span class="ruby-identifier">params</span>[<span class="ruby-identifier">:id</span>])
|
16
|
-
<span class="ruby-identifier">unplanned_tasks</span> = <span class="ruby-ivar">@backlog</span>.<span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">period</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">finished_at</span>.<span class="ruby-identifier">nil?</span>}.<span class="ruby-identifier">sort_by</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">position</span>}
|
17
|
-
<span class="ruby-identifier">planned_tasks</span> = <span class="ruby-ivar">@backlog</span>.<span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">period</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">finished_at</span>.<span class="ruby-identifier">nil?</span>}.<span class="ruby-identifier">sort_by</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> [<span class="ruby-identifier">t</span>.<span class="ruby-identifier">period</span>.<span class="ruby-identifier">end_on</span>, <span class="ruby-identifier">t</span>.<span class="ruby-identifier">position</span>]}
|
18
|
-
<span class="ruby-ivar">@tasks</span> = <span class="ruby-identifier">planned_tasks</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">unplanned_tasks</span>
|
19
|
-
<span class="ruby-ivar">@completed_tasks</span> = <span class="ruby-ivar">@backlog</span>.<span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">finished_at</span>}.<span class="ruby-identifier">sort</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t1</span>, <span class="ruby-identifier">t2</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t2</span>.<span class="ruby-identifier">finished_at</span> <span class="ruby-operator"><=></span> <span class="ruby-identifier">t1</span>.<span class="ruby-identifier">finished_at</span>}
|
20
16
|
<span class="ruby-keyword kw">end</span></pre>
|
21
17
|
</body>
|
22
18
|
</html>
|