backlog 0.5.5 → 0.5.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,7 @@
1
+ == 0.5.6 2007-08-06
2
+
3
+ * Improved the list of started tasks
4
+
1
5
  == 0.5.5 2007-08-06
2
6
 
3
7
  * Fixed bug in link helper that resulted in some GET buttons became POST buttons.
@@ -7,7 +7,7 @@ class TasksController < ApplicationController
7
7
  def list_started
8
8
  @tasks = Task.find_started(user)
9
9
  @selected_task = Task.find_by_id(params[:id])
10
- back_or_redirect_to :controller => nil, :action => nil if @tasks.empty?
10
+ back_or_redirect_to(:controller => '', :action => '') if @tasks.empty?
11
11
  end
12
12
 
13
13
  def new
@@ -47,7 +47,15 @@ class Task < ActiveRecord::Base
47
47
  user_clause = " OR user_id = #{user.id}"
48
48
  end
49
49
  conditions = "completed_at IS NULL AND (user_id IS NULL#{user_clause})"
50
- Work.find(:all, :conditions => conditions).map {|work| work.task}
50
+ Work.find(:all, :conditions => conditions).map {|work| work.task}.sort do |t1, t2|
51
+ if (backlog_sort = t1.backlog.name <=> t2.backlog.name) != 0
52
+ backlog_sort
53
+ elsif (period_sort = t1.period.end_on <=> t2.period.end_on) != 0
54
+ period_sort
55
+ else
56
+ t1.position <=> t2.position
57
+ end
58
+ end
51
59
  end
52
60
 
53
61
  def self.recent_conditions
@@ -1,10 +1,8 @@
1
- <% @backlog = backlog %>
2
-
3
1
  <tr>
4
2
  <th/>
5
3
  <th align="center">#</th>
6
4
  <th><%=l :task %></th>
7
- <th><%=l :start if @backlog.track_times? && track_times %></th>
8
- <th><%=l :done if @backlog.track_done? %></th>
9
- <th width="*"><% l :todo if @backlog.track_todo? %></th>
5
+ <th><%=l :start if backlog.track_times? && track_times %></th>
6
+ <th><%=l :done if backlog.track_done? %></th>
7
+ <th width="*"><% l :todo if backlog.track_todo? %></th>
10
8
  </tr>
@@ -14,7 +14,7 @@
14
14
  <%= "-" if @task.children.size > 0 %>
15
15
  </td>
16
16
  <td>
17
- <div id="task_<%=@task.id%>"<%=' class="tasks" onmouseover="this.style.border=\'1px solid black\'" onmouseout="this.style.border=\'1px solid transparent\'"' if active && (@task.period.nil? || @task.period.active_or_future?)%>>
17
+ <div id="task_<%=@task.id%>"<%=' class="tasks" onmouseover="this.style.border=\'1px solid black\'" onmouseout="this.style.border=\'1px solid transparent\'"' if active && (@task.period.nil? || @task.period.active_or_future?) && (not @task.work_started?) %>>
18
18
  <% if @task.active? -%>
19
19
  <%= in_place_editor_field(:task, :description, {:id => "#{@task.id}_description", :tabindex => i}, :url => url_for(:controller => 'tasks', :action => "set_task_description", :id => @task)) %>
20
20
  <% else -%>
@@ -29,7 +29,7 @@
29
29
  <% if @task.work_started? -%>
30
30
  <%= text_field 'work', 'started_at_time', :tabindex => i+1, :value => @task.started_work.started_at.strftime('%H:%M'),
31
31
  :class => :task_time, :maxlength => 5, :onkeypress => "handleEvent(this, event, #{@task.id})" %>
32
- <%= image_button_to('ernes_stop.png', l(:end_work), :controller => 'tasks', :action => :end_work, :id => @task.id) %>
32
+ <%= image_detour_to('ernes_stop.png', l(:end_work), {:controller => 'tasks', :action => :end_work, :id => @task.id}, nil, true) %>
33
33
  <% elsif @task.track_times? && @task.period && @task.period.active? %>
34
34
  <%= image_button_to 'hammer.png', l(:start_work), :controller => 'tasks', :action => :start_work, :id => @task.id %>
35
35
  <% end -%>
@@ -85,7 +85,7 @@
85
85
  </td>
86
86
  </tr>
87
87
 
88
- <% if active && (@task.period.nil? || @task.period.active_or_future?) %>
88
+ <% if active && (@task.period.nil? || @task.period.active_or_future?) && (not @task.work_started?) %>
89
89
  <%= draggable_element "task_#{@task.id}", :revert => true, :constraint => "'vertical'" %>
90
90
  <%= drop_receiving_element "task_#{@task.id}",
91
91
  :update => update, :url => options_for_detour({:controller => 'tasks', :action => "move_to", :position => @task.position, :layout => false}),
@@ -37,19 +37,23 @@ function handleEvent(field, event, id) {
37
37
 
38
38
  <% if @tasks %>
39
39
  <table class="input">
40
- <tr>
41
- <th/>
42
- <th align="center">#</th>
43
- <th><%=l :task %></th>
44
- <th><%=l :start %></th>
45
- <th><%=l :done %></th>
46
- <th><%=l :todo %></th>
47
- </tr>
48
40
  <% i = 0 %>
41
+ <% current_backlog = nil %>
42
+ <% current_period = nil %>
49
43
  <% for task in @tasks %>
50
- <%=render :partial => 'task', :locals => { :task => task, :i => i, :active => true, :highlight_task => task == @selected_task } %>
44
+ <% if task.backlog != current_backlog %>
45
+ <%= render :partial => '/tasks/backlog_header', :locals => {:backlog => task.backlog, :track_times => @tasks.find {|t|t.period && t.period.active?}} %>
46
+ <% current_backlog = task.backlog %>
47
+ <% end %>
48
+ <% if task.period != current_period %>
49
+ <tr><th colspan="6"><%=task.period ? h(task.period.name) : l(:unplanned_tasks)%></th></tr>
50
+ <%= render :partial => '/tasks/fields_header', :locals => {:backlog => task.backlog, :track_times => @tasks.find {|t|t.period && t.period.active?}} %>
51
+ <% current_period = task.period %>
52
+ <% end %>
53
+ <%=render :partial => 'task', :locals => { :task => task, :i => i, :active => true, :highlight_task => (task == @selected_task), :update => :spotlight } %>
51
54
  <% i += 1 %>
52
55
  <% end %>
56
+
53
57
  </table>
54
58
  <% else %>
55
59
  <%=l :no_pending_tasks%>
@@ -1,6 +1,6 @@
1
1
  .task_description { width: 300px; }
2
2
  .task_hours { width: 32px; }
3
- .task_time { width: 40px; border: 1px solid black }
3
+ .task_time { width: 40px }
4
4
  .image-submit {height: 22px; border: 0; margin-bottom: 1px; padding: 0; vertical-align: bottom; float: none;}
5
5
  table.input {border-collapse: collapse}
6
6
  table.input td {vertical-align: top; margin: 0; border: 0; padding: 0 1px;}
metadata CHANGED
@@ -3,7 +3,7 @@ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: backlog
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.5.5
6
+ version: 0.5.6
7
7
  date: 2007-08-06 00:00:00 +02:00
8
8
  summary: Application to aid collecting, processing, organizing, reviewing and doing tasks.
9
9
  require_paths: