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.
- data/History.txt +18 -0
- data/Rakefile +4 -4
- data/app/controllers/user_controller.rb +6 -0
- data/app/models/task.rb +1 -0
- data/app/views/layouts/_left_top.rhtml +15 -0
- data/app/views/user/login.rhtml +1 -3
- data/config/environment.rb +9 -1
- data/db/migrate/001_create_tasks.rb +7 -0
- data/public/stylesheets/backlog.css +5 -2
- data/test/functional/tasks_controller_test.rb +23 -7
- metadata +12 -4
- data/db/migrate/002_create_backlogs.rb +0 -31
data/History.txt
CHANGED
@@ -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.
|
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
|
-
|
39
|
+
Rake::Task[:publish_docs].invoke
|
40
40
|
Rake::Task[:release].invoke
|
41
41
|
Rake::Task[:release_war].invoke
|
42
|
-
|
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
|
data/app/models/task.rb
CHANGED
@@ -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 %>
|
data/app/views/user/login.rhtml
CHANGED
@@ -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
|
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>
|
data/config/environment.rb
CHANGED
@@ -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
|
-
|
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
|
-
|
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
|
-
|
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.
|
7
|
-
date: 2007-09-
|
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.
|
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
|