backlog 0.37.1 → 0.37.2
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/Gemfile +4 -1
- data/Gemfile.lock +10 -1
- data/History.txt +14 -0
- data/README.txt +3 -3
- data/Rakefile +1 -0
- data/Rakefile~ +73 -0
- data/app/controllers/works_controller.rb +2 -1
- data/app/helpers/application_helper.rb +2 -1
- data/app/views/tasks/_task.rhtml +2 -2
- data/app/views/works/_form.rhtml +1 -1
- data/bin/backlog +16 -5
- data/bin/backlog_init.d +1 -1
- data/config/application.rb +1 -0
- data/config/database.yml +1 -0
- data/ext/mkrf_conf.rb +26 -0
- data/lib/time_extras.rb +2 -2
- data/test/test_helper.rb +0 -2
- data/test/unit/user_test.rb +1 -1
- metadata +7 -5
data/Gemfile
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
source "http://rubygems.org"
|
2
2
|
|
3
|
-
gem "rails", "~> 3.0.
|
3
|
+
gem "rails", "~> 3.0.3"
|
4
4
|
gem 'slave'
|
5
5
|
gem 'mechanize'
|
6
6
|
gem 'hpricot'
|
@@ -12,6 +12,9 @@ platforms :jruby do
|
|
12
12
|
gem 'jruby-openssl'
|
13
13
|
gem 'activerecord-jdbc-adapter'
|
14
14
|
gem 'activerecord-jdbcpostgresql-adapter'
|
15
|
+
# gem 'glassfish', '~> 1.0.3'
|
16
|
+
gem 'trinidad'
|
17
|
+
gem 'trinidad_daemon_extension'
|
15
18
|
end
|
16
19
|
|
17
20
|
platforms :ruby do
|
data/Gemfile.lock
CHANGED
@@ -55,6 +55,7 @@ GEM
|
|
55
55
|
jdbc-postgres (8.4.702-java)
|
56
56
|
jruby-openssl (0.7.2)
|
57
57
|
bouncy-castle-java
|
58
|
+
jruby-rack (1.0.4)
|
58
59
|
json_pure (1.4.6)
|
59
60
|
mail (2.2.12)
|
60
61
|
activesupport (>= 2.3.6)
|
@@ -98,6 +99,12 @@ GEM
|
|
98
99
|
thor (0.14.6)
|
99
100
|
treetop (1.4.9)
|
100
101
|
polyglot (>= 0.3.1)
|
102
|
+
trinidad (1.0.3)
|
103
|
+
jruby-rack (>= 1.0.2)
|
104
|
+
trinidad_jars (>= 0.3.0)
|
105
|
+
trinidad_daemon_extension (0.2.4)
|
106
|
+
trinidad_jars (>= 0.1.1)
|
107
|
+
trinidad_jars (0.3.3)
|
101
108
|
tzinfo (0.3.23)
|
102
109
|
user-choices (1.1.6.1)
|
103
110
|
builder (>= 2.1.2)
|
@@ -122,9 +129,11 @@ DEPENDENCIES
|
|
122
129
|
jruby-openssl
|
123
130
|
mechanize
|
124
131
|
postgres-pr
|
125
|
-
rails (~> 3.0.
|
132
|
+
rails (~> 3.0.3)
|
126
133
|
rcov
|
127
134
|
redhillonrails_core
|
128
135
|
simple_workflow
|
129
136
|
slave
|
137
|
+
trinidad
|
138
|
+
trinidad_daemon_extension
|
130
139
|
wirble
|
data/History.txt
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
== 0.37.2 2010-10-05
|
2
|
+
|
3
|
+
=== Fixes
|
4
|
+
|
5
|
+
* Refresh of "done" field in work edit form did not work.
|
6
|
+
* "Reopen" did not work.
|
7
|
+
|
8
|
+
== Internal
|
9
|
+
|
10
|
+
* Changed gem to use the Gemfile for dynamic dependencies
|
11
|
+
* Updated to Rails 3.0.3
|
12
|
+
* Updated to Glassfish 1.0.3 but there are still problems
|
13
|
+
* Switched to Trinidad as app-server.
|
14
|
+
|
1
15
|
== 0.37.1 2010-10-05
|
2
16
|
|
3
17
|
=== Fixes
|
data/README.txt
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
http://
|
1
|
+
http://github.com/DatekWireless/backlog/raw/master/Screenshot.png
|
2
2
|
|
3
3
|
== Backlog
|
4
4
|
|
@@ -11,8 +11,8 @@ A time keeping module is also included to track time spent on the different task
|
|
11
11
|
|
12
12
|
You can find the Backlog project page at
|
13
13
|
|
14
|
-
http://
|
15
|
-
|
14
|
+
http://github.com/DatekWireless/backlog
|
15
|
+
|
16
16
|
|
17
17
|
=== Backlog is not meant to be
|
18
18
|
|
data/Rakefile
CHANGED
@@ -38,6 +38,7 @@ Hoe.new("backlog", APP::VERSION) do |p|
|
|
38
38
|
['slave', '~> 1.2.1'], ['mechanize', '~> 1.0.0'], ['bundler', '~> 1.0.5']]
|
39
39
|
# ['rmagick', '~> 1.15.12'],
|
40
40
|
p.rsync_args = "-acv --delete --exclude=wiki*"
|
41
|
+
p.spec_extras[:extensions] = 'ext/mkrf_conf.rb'
|
41
42
|
end
|
42
43
|
|
43
44
|
desc 'Release the application to RubyForge'
|
data/Rakefile~
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
# Add your own tasks in files placed in lib/tasks ending in .rake,
|
2
|
+
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
|
3
|
+
|
4
|
+
require 'erb'
|
5
|
+
|
6
|
+
require File.expand_path('../config/application', __FILE__)
|
7
|
+
|
8
|
+
require 'rake'
|
9
|
+
#require 'rake/testtask'
|
10
|
+
require 'rake/rdoctask'
|
11
|
+
|
12
|
+
Backlog::Application.load_tasks
|
13
|
+
|
14
|
+
require 'hoe'
|
15
|
+
require 'version_from_history'
|
16
|
+
|
17
|
+
ENV['SKIP_AR_JDBC_RAKE_REDEFINES'] = '1'
|
18
|
+
|
19
|
+
Hoe.new("backlog", APP::VERSION) do |p|
|
20
|
+
p.rubyforge_name = "backlog"
|
21
|
+
p.summary = "Application to aid collecting, processing, organizing, reviewing and doing tasks."
|
22
|
+
p.description = p.paragraphs_of('README.txt', 2..3).join("\n\n")
|
23
|
+
p.author = 'Uwe Kubosch'
|
24
|
+
p.email = 'uwe@kubosch.no'
|
25
|
+
p.remote_rdoc_dir = '' # Release to root
|
26
|
+
p.changes = File.read('History.txt').scan(/^== .*?(?=^== )/m).first
|
27
|
+
# p.extra_rdoc_files = [/^(app\/(controllers|helpers|models)|lib|bin)|txt$/]
|
28
|
+
p.clean_globs = ['doc', 'log/*']
|
29
|
+
p.spec_extras = {
|
30
|
+
:files => Dir['**/*'].reject{|file_name| file_name =~ /^(doc|log|pkg|profiling|tmp|WEB-INF)/},
|
31
|
+
:rdoc_options => ['--inline-source'],
|
32
|
+
:executables => ['backlog'],
|
33
|
+
:requirements => ['ImageMagick', 'PostgreSQL'],
|
34
|
+
}
|
35
|
+
p.need_zip = true
|
36
|
+
p.url = 'http://rubyforge.org/projects/backlog/'
|
37
|
+
p.extra_deps = [['daemons', '~> 1.1.0'], ['rails', '~> 3.0.0'], ['gruff', '~> 0.3.6'], ['postgres-pr', '~> 0.6.3'],
|
38
|
+
['slave', '~> 1.2.1'], ['mechanize', '~> 1.0.0'], ['bundler', '~> 1.0.5']]
|
39
|
+
# ['rmagick', '~> 1.15.12'],
|
40
|
+
p.rsync_args = "-acv --delete --exclude=wiki*"
|
41
|
+
p.extensions << 'ext/rmagic/extconf.rb'
|
42
|
+
end
|
43
|
+
|
44
|
+
desc 'Release the application to RubyForge'
|
45
|
+
task :release_all do
|
46
|
+
ENV['VERSION'] = APP::VERSION
|
47
|
+
Rake::Task[:publish_docs].invoke
|
48
|
+
Rake::Task[:release].invoke
|
49
|
+
Rake::Task[:release_war].invoke
|
50
|
+
Rake::Task[:post_news].invoke
|
51
|
+
end
|
52
|
+
|
53
|
+
desc 'Release the application as a Java EE WAR file to RubyForge'
|
54
|
+
task :release_war do
|
55
|
+
`warble`
|
56
|
+
war_pkg_file = "pkg/backlog-#{APP::VERSION}.war"
|
57
|
+
raise "WAR file missing" unless File.exists? 'backlog.war'
|
58
|
+
FileUtils.makedirs 'pkg'
|
59
|
+
FileUtils.move 'backlog.war', war_pkg_file
|
60
|
+
rf = RubyForge.new.configure
|
61
|
+
rf.login
|
62
|
+
rf.add_file 'backlog', 'backlog', APP::VERSION, war_pkg_file
|
63
|
+
end
|
64
|
+
|
65
|
+
task 'test:units' => [] do
|
66
|
+
|
67
|
+
end
|
68
|
+
task 'test:functionals' => [] do
|
69
|
+
|
70
|
+
end
|
71
|
+
task 'test:integration' => [] do
|
72
|
+
|
73
|
+
end
|
@@ -303,7 +303,8 @@ class WorksController < ApplicationController
|
|
303
303
|
|
304
304
|
render :partial => 'task_id_list'
|
305
305
|
end
|
306
|
-
|
306
|
+
|
307
|
+
# TODO(uwe): prioritize personal descriptions, then same project, then any.
|
307
308
|
def auto_complete_for_work_description
|
308
309
|
max = 16
|
309
310
|
works = Work.find(:all, :select => "description, count(*) as freq",
|
@@ -41,7 +41,8 @@ module ApplicationHelper
|
|
41
41
|
def image_link_to_remote(image_source, title, link_options, image_options = nil, post = false)
|
42
42
|
image_options ||= {:class => 'image-submit'}
|
43
43
|
image_options.update :alt => title, :title => title
|
44
|
-
|
44
|
+
with_params = link_options.delete(:with)
|
45
|
+
link_to_remote image_tag(image_source, image_options), :url => link_options, :with => with_params, :html => post ? {:method => :post} : {}
|
45
46
|
end
|
46
47
|
|
47
48
|
def detour?
|
data/app/views/tasks/_task.rhtml
CHANGED
@@ -80,7 +80,7 @@
|
|
80
80
|
<% end -%>
|
81
81
|
<% else %>
|
82
82
|
<% if !task.work_started? && (task.period.nil? || task.period.active?) %>
|
83
|
-
<%=image_link_to_remote('checkmark.png', l(:complete), {:
|
83
|
+
<%=image_link_to_remote('checkmark.png', l(:complete), {:action => :finish_task, :id => task}, nil, true)%>
|
84
84
|
<% end -%>
|
85
85
|
<% end -%>
|
86
86
|
<% end -%>
|
@@ -102,7 +102,7 @@
|
|
102
102
|
<% end -%>
|
103
103
|
<% elsif (task.period.nil? || (not task.period.passed?)) && task.leaf? -%>
|
104
104
|
<% form_tag({:controller => 'tasks', :action => 'update', :id => task}) do -%>
|
105
|
-
<%=image_link_to_remote('eraser.png', l(:reopen), {:
|
105
|
+
<%=image_link_to_remote('eraser.png', l(:reopen), {:action => :reopen_task, :id => task}, nil, true) %>
|
106
106
|
<% end -%>
|
107
107
|
<% end -%>
|
108
108
|
</div>
|
data/app/views/works/_form.rhtml
CHANGED
@@ -71,7 +71,7 @@
|
|
71
71
|
<p style="float: left;"><label for="work_hours"><%=l :hours%></label><br/>
|
72
72
|
<%=text_field 'work', 'hours_time', :class => :task_hours, :value => t(@work.hours) %></p>
|
73
73
|
|
74
|
-
<p style="float: left;"><br/><%=image_link_to_remote 'refresh.png', l(:refresh), {:
|
74
|
+
<p style="float: left;"><br/><%=image_link_to_remote 'refresh.png', l(:refresh), {:action => :calculate_hours, :with => "'started_at=' + $('work_started_at').value + '&completed_at=' + $('work_completed_at').value".html_safe} %></p>
|
75
75
|
|
76
76
|
<% end %>
|
77
77
|
|
data/bin/backlog
CHANGED
@@ -55,12 +55,22 @@ def start(config)
|
|
55
55
|
end
|
56
56
|
Dir.chdir INSTALL_DIR
|
57
57
|
ENV['RAILS_ENV'] = 'production'
|
58
|
-
|
59
|
-
|
58
|
+
if defined? JRUBY_VERSION
|
59
|
+
# `glassfish -p #{config['port'] || 3000} -e production -d -P #{PID_FILE} 1>#{LOG_DIR}/stdout.log 2>#{LOG_DIR}/stderr.log`
|
60
|
+
`jruby -S trinidad -t -p #{config['port'] || 3000} -e production -ldaemon -d #{PID_FILE} 1>#{LOG_DIR}/stdout.log 2>#{LOG_DIR}/stderr.log`
|
61
|
+
else
|
62
|
+
`mongrel_rails start -p #{config['port'] || 3000} -e production -c #{INSTALL_DIR} -d -m #{INSTALL_DIR}/config/mime_types.yaml -P #{PID_FILE} 1>#{LOG_DIR}/stdout.log 2>#{LOG_DIR}/stderr.log`
|
63
|
+
end
|
60
64
|
end
|
61
65
|
|
62
66
|
def stop(config)
|
63
|
-
|
67
|
+
if File.exists? PID_FILE
|
68
|
+
# `mongrel_rails stop -c #{INSTALL_DIR} -P #{PID_FILE}`
|
69
|
+
system "kill `cat #{PID_FILE}`"
|
70
|
+
File.delete PID_FILE
|
71
|
+
else
|
72
|
+
puts "#{APPLICATION} not running."
|
73
|
+
end
|
64
74
|
end
|
65
75
|
|
66
76
|
def get_pid
|
@@ -140,8 +150,8 @@ when 'setup_unix'
|
|
140
150
|
Dir.chdir INSTALL_DIR
|
141
151
|
Dir.mkdir LOG_DIR unless File.exists? LOG_DIR
|
142
152
|
ENV['RAILS_ENV'] = 'production'
|
143
|
-
puts
|
144
|
-
puts
|
153
|
+
puts `#{'jruby -S' if RUBY_PLATFORM =='java'} bundle install`
|
154
|
+
puts `#{'jruby -S' if RUBY_PLATFORM =='java'} rake db:migrate #{'--trace' if debug}`
|
145
155
|
raise "Could not migrate database: #{$? >> 8}:#{$? & 0xff}" unless ($? >> 8) == 0
|
146
156
|
|
147
157
|
# TODO: provide startup information based on launchd in OS X versions >= 10.4
|
@@ -174,6 +184,7 @@ when 'setup_unix'
|
|
174
184
|
end
|
175
185
|
end
|
176
186
|
end
|
187
|
+
FileUtils.mkdir_p File.dirname(config_file)
|
177
188
|
FileUtils.cp "#{INSTALL_DIR}/etc/#{APPLICATION}.conf", config_file unless File.exists? config_file
|
178
189
|
puts
|
179
190
|
else
|
data/bin/backlog_init.d
CHANGED
data/config/application.rb
CHANGED
data/config/database.yml
CHANGED
data/ext/mkrf_conf.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
begin
|
2
|
+
gemfile = File.expand_path('../../Gemfile', __FILE__)
|
3
|
+
begin
|
4
|
+
ENV['BUNDLE_GEMFILE'] = gemfile
|
5
|
+
require 'rubygems'
|
6
|
+
require 'bundler'
|
7
|
+
require 'thor'
|
8
|
+
Bundler.ui = Bundler::UI::Shell.new(Thor::Shell::Basic.new)
|
9
|
+
Bundler.ui.debug!
|
10
|
+
Bundler::Installer.install(Bundler.root, Bundler.definition)
|
11
|
+
rescue Bundler::GemNotFound => e
|
12
|
+
puts e.message
|
13
|
+
puts "Try running `bundle install`."
|
14
|
+
STDERR.puts e.message
|
15
|
+
STDERR.puts "Try running `bundle install`."
|
16
|
+
exit!
|
17
|
+
end if File.exist?(gemfile)
|
18
|
+
rescue
|
19
|
+
puts $!.message
|
20
|
+
puts $!.backtrace.join("\n")
|
21
|
+
exit(1)
|
22
|
+
end
|
23
|
+
|
24
|
+
f = File.open(File.join(File.dirname(__FILE__), "Rakefile"), "w") # create dummy rakefile to indicate success
|
25
|
+
f.write("task :default\n")
|
26
|
+
f.close
|
data/lib/time_extras.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
class Time
|
2
2
|
def self.next_quarter
|
3
|
-
now = Time.now
|
3
|
+
now = Time.zone.now
|
4
4
|
now -= now.sec
|
5
5
|
next_quarter = now + (15 - now.min % 15).minutes
|
6
6
|
end
|
7
7
|
|
8
8
|
def self.previous_quarter
|
9
|
-
now = Time.now
|
9
|
+
now = Time.zone.now
|
10
10
|
now -= now.sec
|
11
11
|
previous_quarter = now - (now.min % 15).minutes
|
12
12
|
end
|
data/test/test_helper.rb
CHANGED
@@ -2,8 +2,6 @@ ENV["RAILS_ENV"] = "test"
|
|
2
2
|
require File.expand_path('../../config/environment', __FILE__)
|
3
3
|
require 'rails/test_help'
|
4
4
|
|
5
|
-
# ActiveSupport::Dependencies.autoload_paths.unshift Rails.root.to_s + '/test/mocks/test'
|
6
|
-
|
7
5
|
class ActiveSupport::TestCase
|
8
6
|
def self.main_scenario
|
9
7
|
fixtures :parties, :users, :groups, :groups_users, :projects, :periods, :tasks,
|
data/test/unit/user_test.rb
CHANGED
@@ -92,7 +92,7 @@ class UserTest < ActiveSupport::TestCase
|
|
92
92
|
|
93
93
|
u.login = "x"
|
94
94
|
assert !u.save
|
95
|
-
assert u.errors.
|
95
|
+
assert u.errors[:login].any?
|
96
96
|
|
97
97
|
u.login = "hugeteslahugeteslahugeteslahugeteslahugeteslahugeteslahugeteslahugeteslahugeteslahugeteslahugeteslahugeteslahugeteslahugeteslahugeteslahugeteslahugeteslahugeteslahugeteslahugeteslahugeteslahugeteslahugeteslahugeteslahugeteslahugeteslahug"
|
98
98
|
assert !u.save
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 37
|
8
|
-
-
|
9
|
-
version: 0.37.
|
8
|
+
- 2
|
9
|
+
version: 0.37.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Uwe Kubosch
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-12-
|
17
|
+
date: 2010-12-22 00:00:00 +01:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -151,8 +151,8 @@ description: |-
|
|
151
151
|
email: uwe@kubosch.no
|
152
152
|
executables:
|
153
153
|
- backlog
|
154
|
-
extensions:
|
155
|
-
|
154
|
+
extensions:
|
155
|
+
- ext/mkrf_conf.rb
|
156
156
|
extra_rdoc_files: []
|
157
157
|
|
158
158
|
files:
|
@@ -167,6 +167,7 @@ files:
|
|
167
167
|
- Manifest.txt
|
168
168
|
- MODIFICATIONS.txt
|
169
169
|
- Rakefile
|
170
|
+
- Rakefile~
|
170
171
|
- README.txt
|
171
172
|
- README_LOGIN_SUGAR
|
172
173
|
- Screenshot.png
|
@@ -417,6 +418,7 @@ files:
|
|
417
418
|
- db/migrate/20101006092700_rename_backlogs_to_projects.rb
|
418
419
|
- db/migrate/20101006092700_rename_backlogs_to_projects.rb~
|
419
420
|
- etc/backlog.conf
|
421
|
+
- ext/mkrf_conf.rb
|
420
422
|
- lib/array_helper.rb
|
421
423
|
- lib/backlog
|
422
424
|
- lib/big_decimal_yaml_fix.rb
|