backlog 0.10.0 → 0.10.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.
@@ -1,3 +1,21 @@
1
+ == 0.10.1 2007-09-23
2
+
3
+ === Features
4
+
5
+ === Fixes
6
+
7
+ * Fixed bug in "remember me" login when running with JRuby
8
+ * Fixed bug when moving a task to next sprint on mysql
9
+ * Made user message more visible, especially register messages.
10
+ * Added explanatory text in log for reading global config.
11
+ * Excluded "pkg" from war file to avoid duplicates and save space.
12
+ * Removed "bouncycastle" from WAR to get it to run on Tomcat.
13
+ * Merged migration steps 001 and 002 to get them to run on SQLite.
14
+ * Fixed reading of application version when running with JRuby.
15
+ * Excluded "log" and "WEB-INF" directories from gem to save space.
16
+ * Added "rails" to gem dependencies since Rails is not included anymore.
17
+ * Bumped dependent version of rmagick from 1.15.9 to 1.15.10 to get the newest fixes.
18
+
1
19
  == 0.10.0 2007-09-21
2
20
 
3
21
  === Features
data/Rakefile CHANGED
@@ -21,7 +21,7 @@ Hoe.new("backlog", APP::VERSION) do |p|
21
21
  p.remote_rdoc_dir = '' # Release to root
22
22
  p.changes = p.paragraphs_of('History.txt', 0..4).join("\n\n")
23
23
  p.rdoc_pattern = /^(app\/(controllers|helpers|models)|lib|bin)|txt$/
24
- p.clean_globs = ['doc', 'log']
24
+ p.clean_globs = ['doc', 'log/*']
25
25
  p.spec_extras = {
26
26
  :files => Dir['**/*'].reject{|file_name| file_name =~ /^(doc|log|pkg|tmp|WEB-INF)/},
27
27
  :rdoc_options => ['--inline-source'],
@@ -30,16 +30,16 @@ Hoe.new("backlog", APP::VERSION) do |p|
30
30
  }
31
31
  p.need_zip = true
32
32
  p.url = 'http://rubyforge.org/projects/backlog/'
33
- p.extra_deps = [['gruff', '>= 0.2.8'], ['rmagick', '>= 1.15.9'], ['postgres', '>= 0.7.1']]
33
+ p.extra_deps = [['rails', '>= 1.2.3'], ['gruff', '>= 0.2.8'], ['rmagick', '>= 1.15.10'], ['postgres', '>= 0.7.1']]
34
34
  p.rsync_args = "-av --delete --exclude=wiki*"
35
35
  end
36
36
 
37
37
  task :release_all do
38
38
  ENV['VERSION'] = APP::VERSION
39
- #Rake::Task[:publish_docs].invoke
39
+ Rake::Task[:publish_docs].invoke
40
40
  Rake::Task[:release].invoke
41
41
  Rake::Task[:release_war].invoke
42
- #Rake::Task[:post_news].invoke
42
+ Rake::Task[:post_news].invoke
43
43
  end
44
44
 
45
45
  task :release_war do
@@ -157,6 +157,12 @@ class UserController < ApplicationController
157
157
  case request.method
158
158
  when :get
159
159
  @user = User.new
160
+ if cookie = cookies['autologin']
161
+ cookie_value = cookie[0]
162
+ if remembered_user = User.find(:first, :conditions => ["id = ?", cookie_value])
163
+ @user.login = remembered_user.login
164
+ end
165
+ end
160
166
  render
161
167
  return true
162
168
  end
@@ -165,6 +165,7 @@ class Task < ActiveRecord::Base
165
165
  new_task.period = new_period
166
166
  new_task.description = self.description
167
167
  new_task.initial_estimate = self.initial_estimate
168
+ new_task.save!
168
169
  new_task.insert_at 1
169
170
  new_task.position = 1
170
171
  new_task.save!
@@ -18,6 +18,21 @@
18
18
  <%=flash[:notice]%>
19
19
  </div>
20
20
  <% end %>
21
+ <% if flash['notice'] %>
22
+ <div id="notice">
23
+ <%=flash['notice']%>
24
+ </div>
25
+ <% end %>
26
+ <% if flash[:notice] %>
27
+ <div id="message">
28
+ <%=flash[:message]%>
29
+ </div>
30
+ <% end %>
31
+ <% if flash['message'] %>
32
+ <div id="message">
33
+ <%=flash['message']%>
34
+ </div>
35
+ <% end %>
21
36
  <%= error_messages_for :backlog %>
22
37
  <%= error_messages_for :estimate %>
23
38
  <%= error_messages_for :group %>
@@ -1,14 +1,12 @@
1
1
  <% @page_title = l(:please_login) %>
2
2
 
3
3
  <div title="<%= title_helper %>" class="form">
4
- <%= head_helper ' ' %>
5
-
6
4
  <div class="form-padding">
7
5
  <%= start_form_tag_helper %>
8
6
  <table>
9
7
  <tr class="two_columns">
10
8
  <td class="prompt"><label>Login:</label></td>
11
- <td class="value"><%= text_field 'user', 'login', :size => 30, :value => cookies['autologin'] && User.find(cookies['autologin'][0]).login %></td>
9
+ <td class="value"><%= text_field 'user', 'login', :size => 30 %></td>
12
10
  </tr>
13
11
  <tr class="two_columns">
14
12
  <td class="prompt"><label>Password:</label></td>
@@ -16,16 +16,24 @@ require File.join(File.dirname(__FILE__), 'boot')
16
16
  # The following section has been added to load database settings from system config.
17
17
  APP_CONFIG_FILE = Config::CONFIG["sysconfdir"] + '/backlog.conf'
18
18
  if File.exists? APP_CONFIG_FILE
19
+ puts "Found global config file (#{APP_CONFIG_FILE})"
19
20
  module Rails
20
21
  class Configuration
21
22
  def database_configuration
22
23
  db_conf = YAML::load(ERB.new(IO.read(database_configuration_file)).result)
23
24
  app_conf = YAML::load(ERB.new(IO.read(APP_CONFIG_FILE)).result)
24
- db_conf['production'] = app_conf['database'] if app_conf['database']
25
+ if db_settings = app_conf['database']
26
+ puts "Found global database connection settings: #{db_settings.inspect}"
27
+ db_conf['production'] = db_settings
28
+ else
29
+ puts "Did not find global database connection settings: #{app_conf.inspect}"
30
+ end
25
31
  db_conf
26
32
  end
27
33
  end
28
34
  end
35
+ else
36
+ puts "Global config file not found (#{APP_CONFIG_FILE})"
29
37
  end
30
38
 
31
39
  if RUBY_PLATFORM =~ /java/
@@ -1,15 +1,22 @@
1
1
  class CreateTasks < ActiveRecord::Migration
2
2
  def self.up
3
+ create_table :backlogs do |table|
4
+ table.column :name, :string, :limit => 32, :null => false
5
+ end
6
+
3
7
  create_table :tasks do |table|
4
8
  table.column :position, :integer, :null => true
5
9
  table.column :description, :string, :limit => 80, :null => false
6
10
  table.column :assigned_to, :integer
7
11
  table.column :estimate, :time
8
12
  table.column :finished_at, :datetime
13
+ table.column :backlog_id, :integer, :null => false
9
14
  end
10
15
  end
11
16
 
12
17
  def self.down
13
18
  drop_table :tasks
19
+ drop_table :backlogs
14
20
  end
21
+
15
22
  end
@@ -25,18 +25,21 @@ th.hours {text-align: right;}
25
25
  }
26
26
 
27
27
  #notice {
28
+ width: 320px;
28
29
  border: 2px solid green;
29
30
  padding: 7px;
30
31
  padding-bottom: 12px;
31
32
  margin: 1em;
32
33
  margin-left: 0px;
33
- background: transparent;
34
+ color: #080;
35
+ background: white;
34
36
  float: right;
37
+ font-size: 15px;
35
38
  }
36
39
 
37
40
  #errorExplanation {
38
41
  border: 2px solid red;
39
- padding: 7px;
42
+ padding: 7px;
40
43
  padding-bottom: 12px;
41
44
  margin: 1em;
42
45
  margin-left: 0px;
@@ -2,12 +2,7 @@ require File.dirname(__FILE__) + '/../test_helper'
2
2
  require 'tasks_controller'
3
3
 
4
4
  # Re-raise errors caught by the controller.
5
- class TasksController
6
- def rescue_action(e)
7
- puts e.backtrace.join("\n")
8
- raise(e)
9
- end
10
- end
5
+ class TasksController; def rescue_action(e) raise e end; end
11
6
 
12
7
  class TasksControllerTest < Test::Unit::TestCase
13
8
  fixtures :parties, :users, :groups, :groups_users, :backlogs, :periods, :tasks, :task_files, :works, :estimates
@@ -19,6 +14,10 @@ class TasksControllerTest < Test::Unit::TestCase
19
14
  @request.session[:user_id] = 1000001
20
15
  end
21
16
 
17
+ def teardown
18
+ assert_sequences
19
+ end
20
+
22
21
  def test_index
23
22
  get :index
24
23
  assert_redirected_to :controller => 'backlogs'
@@ -200,7 +199,24 @@ class TasksControllerTest < Test::Unit::TestCase
200
199
  new_task = Task.find_by_period_id_and_previous_task_id(periods(:future).id, before.id)
201
200
  assert_nil new_task.finished_at
202
201
  assert_nil new_task.resolution
203
- tasks = Task.find_all_by_period_id(3)
202
+ assert_equal 1, new_task.position
203
+ end
204
+
205
+ def test_move_to_next_period_from_past
206
+ task = tasks(:first)
207
+ before = Task.find(task.id)
208
+
209
+ post :move_to_next_period, :id => task.id
210
+
211
+ assert_response :redirect
212
+ assert_redirected_to :controller => 'periods', :action => :show, :id => periods(:past)
213
+
214
+ after = Task.find(task.id)
215
+ assert_equal task.period_id, after.period_id
216
+
217
+ new_task = Task.find_by_period_id_and_previous_task_id(periods(:active).id, task.id)
218
+ assert_nil new_task.finished_at
219
+ assert_nil new_task.resolution
204
220
  assert_equal 1, new_task.position
205
221
  end
206
222
 
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.10.0
7
- date: 2007-09-22 00:00:00 +02:00
6
+ version: 0.10.1
7
+ date: 2007-09-23 00:00:00 +02:00
8
8
  summary: Application to aid collecting, processing, organizing, reviewing and doing tasks.
9
9
  require_paths:
10
10
  - lib
@@ -130,7 +130,6 @@ files:
130
130
  - db/migrate/003_add_estimation_points.rb
131
131
  - db/migrate/007_add_task_created_at.rb
132
132
  - db/migrate/004_add_period.rb
133
- - db/migrate/002_create_backlogs.rb
134
133
  - db/migrate/016_add_invoicable_flag.rb
135
134
  - db/migrate/018_create_groups.rb
136
135
  - db/migrate/005_add_field_work_started_at.rb
@@ -448,6 +447,15 @@ requirements:
448
447
  - ImageMagick or GraphicsMagick
449
448
  - PostgreSQL
450
449
  dependencies:
450
+ - !ruby/object:Gem::Dependency
451
+ name: rails
452
+ version_requirement:
453
+ version_requirements: !ruby/object:Gem::Version::Requirement
454
+ requirements:
455
+ - - ">="
456
+ - !ruby/object:Gem::Version
457
+ version: 1.2.3
458
+ version:
451
459
  - !ruby/object:Gem::Dependency
452
460
  name: gruff
453
461
  version_requirement:
@@ -464,7 +472,7 @@ dependencies:
464
472
  requirements:
465
473
  - - ">="
466
474
  - !ruby/object:Gem::Version
467
- version: 1.15.9
475
+ version: 1.15.10
468
476
  version:
469
477
  - !ruby/object:Gem::Dependency
470
478
  name: postgres
@@ -1,31 +0,0 @@
1
- class CreateBacklogs < ActiveRecord::Migration
2
- def self.up
3
- create_table :backlogs do |table|
4
- table.column :name, :string, :limit => 32, :null => false
5
- end
6
-
7
- if Task.count > 0
8
- default_backlog = Backlog.create! :name => 'Default Backlog'
9
- add_column :tasks, :backlog_id, :integer, :null => false, :default => default_backlog.id
10
-
11
- # TODO(uwe): This line is only needed because Rails 1.2 cannot set default to NULL
12
- change_column_default :tasks, :backlog_id, 0
13
-
14
- change_column_default :tasks, :backlog_id, nil
15
- else
16
- add_column :tasks, :backlog_id, :integer, :null => false
17
- end
18
- end
19
-
20
- def self.down
21
- remove_column :tasks, :backlog_id
22
- drop_table :backlogs
23
- end
24
-
25
- class Task < ActiveRecord::Base
26
- end
27
-
28
- class Backlog < ActiveRecord::Base
29
- end
30
-
31
- end