backlog 0.14.0 → 0.14.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 CHANGED
@@ -1,3 +1,17 @@
1
+ == 0.14.1 2007-11-19
2
+
3
+ === Features
4
+
5
+ * Added link to Show Backlog view from Show task view.
6
+
7
+ === Fixes
8
+
9
+ * Added error messages to Update Task view.
10
+ * Fixed bug in Reopen Task action in the Show Task view.
11
+ * Fixed missing template for Search action.
12
+ * Fixed display of unplanned completed tasks.
13
+ * Added adjustment of list position for backup restoration.
14
+
1
15
  == 0.14.0 2007-11-18
2
16
 
3
17
  === Features
@@ -49,7 +49,7 @@ class TasksController < ApplicationController
49
49
  end
50
50
 
51
51
  def edit
52
- @task = Task.find(params[:id])
52
+ @task ||= Task.find(params[:id])
53
53
  @task.period_id = params[:task][:period_id] if params[:task] && params[:task][:period_id]
54
54
  @periods = Period.find_active_or_future
55
55
  @backlogs = Backlog.find(:all, :order => 'name')
@@ -108,7 +108,7 @@ class TasksController < ApplicationController
108
108
  end
109
109
  else
110
110
  if @task.finished_at
111
- reopen
111
+ @task.reopen
112
112
  else
113
113
  if @task.period
114
114
  back_or_redirect_to :controller => 'periods', :action => :show, :id => @task.period, :task => @task.id
data/app/models/task.rb CHANGED
@@ -132,7 +132,7 @@ class Task < ActiveRecord::Base
132
132
 
133
133
  def reopen
134
134
  if period && period.passed?
135
- flash[:notice] = "You cannot reopen a task in a period that is passed."
135
+ raise "You cannot reopen a task in a period that is passed."
136
136
  else
137
137
  open
138
138
  save!
@@ -1,6 +1,6 @@
1
1
  <div id="completed_tasks">
2
2
  <% @completed_tasks.map {|t| t.period}.uniq.each do |period| %>
3
- <table id="completed_tasks_<%=period.id%>" class="input">
3
+ <table id="completed_tasks_<%=period ? period.id : 'unplanned'%>" class="input">
4
4
  <%= render :partial => '/tasks/period_header', :locals => {:period => period} unless @completed_tasks.map(&:period).uniq.size == 1 %>
5
5
  <%= render :partial => '/tasks/fields_header', :locals => {:backlog => @backlog, :active => false, :track_times => false} %>
6
6
  <% @completed_tasks.select {|t| t.period == period}.each do |task| %>
@@ -5,7 +5,7 @@
5
5
  <%= select 'task', 'backlog_id', [['', '']] + @backlogs.map{|backlog| [backlog.name, backlog.id]}, {}, :onchange => "form.action = '#{url_for}'; form.submit();" %>
6
6
  <% else %>
7
7
  <label for="task_backlog_id"><%=l :backlog%></label>:
8
- <%= hidden_field 'task', 'backlog_id' %><%=h @task.backlog.name%>
8
+ <%=hidden_field 'task', 'backlog_id' %><%=detour_to h(@task.backlog.name), :controller => 'backlogs', :action => :show, :id => @task.backlog_id %>
9
9
  <% end %>
10
10
  <% if @task.backlog %>
11
11
  <%=image_detour_to('clipboard.png', "#{l(:backlog)} #{@task.backlog.name}", {:controller => 'backlogs', :action => :edit, :id => @task.backlog}, {:class => 'image-submit', :style => 'vertical-align: bottom'}) %>
@@ -38,16 +38,11 @@ namespace :db do
38
38
  entity = klass.new(fixture)
39
39
  entity.id = fixture['id']
40
40
  entity.save_without_validation!
41
- while entity.id < fixture['id']
42
- puts "Skipping mising id #{entity.id}."
43
- p entity.destroy
44
- entity = klass.new(fixture)
41
+ if fixture.keys.include?('position') && entity.position != fixture['position'].to_i
42
+ puts "Adjusting position #{entity.position} => #{fixture['position']}"
43
+ entity.position = fixture['position']
45
44
  entity.save_without_validation!
46
45
  end
47
- if klass.find_by_id(fixture['id']).nil?
48
- p fixture
49
- fixture.each {|k,v| p klass.find(:first, :conditions => ["#{k} = ?", v])}
50
- end
51
46
  klass.find(fixture['id'])
52
47
  end
53
48
  if ActiveRecord::Base.connection.adapter_name.downcase == "postgresql"
@@ -70,3 +70,12 @@
70
70
  parent_id: 8
71
71
  description: sub sub task
72
72
  position: 1
73
+ - completed:
74
+ id: 11
75
+ created_at: 2007-06-12
76
+ backlog_id: 1
77
+ period_id: 3
78
+ description: completed task
79
+ position: NULL
80
+ finished_at: 2007-08-02 14:15:42
81
+ resolution: COMPLETED
@@ -107,6 +107,30 @@ class BacklogsControllerTest < Test::Unit::TestCase
107
107
  assert_redirected_to :controller => 'tasks', :action => :list_started
108
108
  end
109
109
 
110
+ def test_abort_task
111
+ post :abort_task, :id => tasks(:first).id
112
+
113
+ after = Task.find(tasks(:first).id)
114
+ assert_not_nil after.finished_at
115
+ assert_equal Task::ABORTED, after.resolution
116
+ end
117
+
118
+ def test_finish_task
119
+ post :finish_task, :id => tasks(:first).id
120
+
121
+ after = Task.find(tasks(:first).id)
122
+ assert_not_nil after.finished_at
123
+ assert_equal Task::COMPLETED, after.resolution
124
+ end
125
+
126
+ def test_reopen_task
127
+ post :reopen_task, :id => tasks(:completed).id
128
+
129
+ after = Task.find(tasks(:first).id)
130
+ assert_nil after.finished_at
131
+ assert_nil after.resolution
132
+ end
133
+
110
134
  private
111
135
 
112
136
  # TODO (uwe): This method should be removed
@@ -5,7 +5,7 @@ require 'periods_controller'
5
5
  class PeriodsController; def rescue_action(e) raise e end; end
6
6
 
7
7
  class PeriodsControllerTest < Test::Unit::TestCase
8
- fixtures :parties, :users, :groups, :groups_users, :periods, :tasks, :task_files, :works, :estimates
8
+ main_scenario
9
9
 
10
10
  def setup
11
11
  @controller = PeriodsController.new
@@ -237,4 +237,20 @@ class PeriodsControllerTest < Test::Unit::TestCase
237
237
  assert_equal Task::ABORTED, after.resolution
238
238
  end
239
239
 
240
+ def test_finish_task
241
+ post :finish_task, :id => tasks(:first).id
242
+
243
+ after = Task.find(tasks(:first).id)
244
+ assert_not_nil after.finished_at
245
+ assert_equal Task::COMPLETED, after.resolution
246
+ end
247
+
248
+ def test_reopen_task
249
+ post :reopen_task, :id => tasks(:completed).id
250
+
251
+ after = Task.find(tasks(:first).id)
252
+ assert_nil after.finished_at
253
+ assert_nil after.resolution
254
+ end
255
+
240
256
  end
@@ -5,7 +5,7 @@ require 'tasks_controller'
5
5
  class TasksController; def rescue_action(e) raise e end; end
6
6
 
7
7
  class TasksControllerTest < Test::Unit::TestCase
8
- fixtures :parties, :users, :groups, :groups_users, :backlogs, :periods, :tasks, :task_files, :works, :estimates
8
+ main_scenario
9
9
 
10
10
  def setup
11
11
  @controller = TasksController.new
@@ -5,7 +5,7 @@ require 'works_controller'
5
5
  class WorksController; def rescue_action(e) raise e end; end
6
6
 
7
7
  class WorksControllerTest < Test::Unit::TestCase
8
- fixtures :parties, :users, :groups, :groups_users, :work_accounts, :backlogs, :periods, :tasks, :task_files, :works, :estimates
8
+ main_scenario
9
9
 
10
10
  def setup
11
11
  @controller = WorksController.new
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: backlog
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.14.0
7
- date: 2007-11-18 00:00:00 +01:00
6
+ version: 0.14.1
7
+ date: 2007-11-19 00:00:00 +01:00
8
8
  summary: Application to aid collecting, processing, organizing, reviewing and doing tasks.
9
9
  require_paths:
10
10
  - lib
@@ -443,7 +443,7 @@ files:
443
443
  - app/views/groups/new.rhtml
444
444
  - app/views/groups/edit.rhtml
445
445
  - app/views/search
446
- - app/views/search/results.html.erb
446
+ - app/views/search/results.rhtml
447
447
  - app/views/work_accounts
448
448
  - app/views/work_accounts/_name_list.rhtml
449
449
  - app/views/work_accounts/list.rhtml