backlog 0.32.0 → 0.33.0
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 +22 -1
- data/app/controllers/works_controller.rb +10 -5
- data/app/models/period.rb +1 -1
- data/app/models/task.rb +2 -0
- data/app/views/tasks/_completed.rhtml +3 -1
- data/app/views/tasks/_task.rhtml +2 -0
- data/app/views/works/_new_row.rhtml +1 -1
- data/app/views/works/_weekly_work_sheet_buttons.rhtml +4 -2
- data/app/views/works/daily_work_sheet.rhtml +7 -5
- data/app/views/works/list.rhtml +0 -4
- data/app/views/works/update_row.rjs +4 -0
- data/app/views/works/weekly_work_sheet.rhtml +18 -3
- data/bin/backlog +0 -0
- data/bin/backlog_init.d +0 -0
- data/bin/copy_production2development.rb +0 -0
- data/config/war.rb +3 -3
- data/db/migrate/017_insert_datek_projects.rb +1 -1
- data/db/schema.rb +13 -13
- data/lang/en.yaml +1 -0
- data/lang/no.yaml +1 -0
- data/public/dispatch.cgi +0 -0
- data/public/dispatch.fcgi +0 -0
- data/public/dispatch.rb +0 -0
- data/public/images/blank.png +0 -0
- data/script/about +0 -0
- data/script/breakpointer +0 -0
- data/script/console +0 -0
- data/script/destroy +0 -0
- data/script/generate +0 -0
- data/script/performance/benchmarker +0 -0
- data/script/performance/profiler +0 -0
- data/script/plugin +0 -0
- data/script/process/inspector +0 -0
- data/script/process/reaper +0 -0
- data/script/process/spawner +0 -0
- data/script/runner +0 -0
- data/script/server +0 -0
- data/test/functional/works_controller_test.rb +28 -0
- data/test/unit/user_test.rb +1 -1
- data/vendor/plugins/goldspike/test/war_config_test_config.rb +0 -0
- data/vendor/plugins/will_paginate/test/console +0 -0
- metadata +5 -4
data/History.txt
CHANGED
|
@@ -1,4 +1,25 @@
|
|
|
1
|
-
== 0.
|
|
1
|
+
== 0.33.0 2008-05-09
|
|
2
|
+
|
|
3
|
+
== Features
|
|
4
|
+
|
|
5
|
+
* Upgraded JRuby to version 1.1.1 for the WAR distribution.
|
|
6
|
+
|
|
7
|
+
=== Fixes
|
|
8
|
+
|
|
9
|
+
* Changed to set the most commonly used backlog as default backlog for a new task.
|
|
10
|
+
* Copied the list of users that have grabbed a task when the task is moved to another period.
|
|
11
|
+
* Changed setting of start time for a new work record in the daily work sheet
|
|
12
|
+
to to completion time of the last work record on the same day,
|
|
13
|
+
or blank if there are no work records or the last work record was not completed yet..
|
|
14
|
+
* Added user_id parameter when navigating links in the daily and weekly work sheets.
|
|
15
|
+
* Changed to display expected number of hours per week instead of
|
|
16
|
+
adding 8 hours for public holidays and absences.
|
|
17
|
+
* Fixed wrong indent in Show Sprint view.
|
|
18
|
+
* Always show start time in works list.
|
|
19
|
+
* Fixed migrations to work with PostgreSQL 8.3
|
|
20
|
+
* Removed automatic setting of "completed at" time for works.
|
|
21
|
+
|
|
22
|
+
== 0.32.0 2008-05-08
|
|
2
23
|
|
|
3
24
|
== Features
|
|
4
25
|
|
|
@@ -65,7 +65,7 @@ class WorksController < ApplicationController
|
|
|
65
65
|
end
|
|
66
66
|
@work = Work.new(params[:work])
|
|
67
67
|
@work.started_on ||= Date.today
|
|
68
|
-
|
|
68
|
+
#@work.completed_at = Time.now unless @work.start_time || @work.completed_at
|
|
69
69
|
@work.calculate_hours! unless @work.hours && @work.hours.to_f > 0
|
|
70
70
|
@work.user_id = current_user.id
|
|
71
71
|
end
|
|
@@ -86,7 +86,11 @@ class WorksController < ApplicationController
|
|
|
86
86
|
|
|
87
87
|
@work.task.estimates.create!(params[:estimate]) if @work.task && params[:estimate]
|
|
88
88
|
|
|
89
|
-
|
|
89
|
+
if @work.task
|
|
90
|
+
back_or_redirect_to :controller => 'periods', :action => 'show', :id => @work.task && @work.task.period, :task_id => @work.task && @work.task.id
|
|
91
|
+
else
|
|
92
|
+
back_or_redirect_to :controller => 'works', :action => 'daily_work_sheet', :id => @work.started_on.strftime('%Y-%m-%d')
|
|
93
|
+
end
|
|
90
94
|
end
|
|
91
95
|
|
|
92
96
|
|
|
@@ -139,13 +143,14 @@ class WorksController < ApplicationController
|
|
|
139
143
|
if update_work
|
|
140
144
|
#flash.discard
|
|
141
145
|
@next_field = params[:next_field] || 'description'
|
|
142
|
-
works = Work.find_work_for_day((@work.started_on || @work.completed_at).to_date)
|
|
143
|
-
@day_total = works.inject(BigDecimal('0')){|total,work|total+=work.hours}
|
|
146
|
+
@works = Work.find_work_for_day((@work.started_on || @work.completed_at).to_date)
|
|
147
|
+
@day_total = @works.inject(BigDecimal('0')){|total,work|total+=work.hours}
|
|
144
148
|
else
|
|
145
149
|
@next_field = params[:field] || 'description'
|
|
146
150
|
end
|
|
147
151
|
@work_accounts = WorkAccount.find(:all, :order => :name)
|
|
148
152
|
@customers = Customer.find(:all, :order => :name)
|
|
153
|
+
@new_work = flash[:work] || Work.new(@works.last && @works.last.completed_at ? {:started_at => @works.last.completed_at} : nil)
|
|
149
154
|
end
|
|
150
155
|
|
|
151
156
|
def update_time
|
|
@@ -198,7 +203,7 @@ class WorksController < ApplicationController
|
|
|
198
203
|
@works = Work.find_work_for_day(@date, @user)
|
|
199
204
|
@customers = Customer.find(:all, :order => :name)
|
|
200
205
|
@started_works = Task.find_started
|
|
201
|
-
@new_work = flash[:work] || Work.new(:started_at =>
|
|
206
|
+
@new_work = flash[:work] || Work.new(@works.last && @works.last.completed_at ? {:started_at => @works.last.completed_at} : nil)
|
|
202
207
|
@work_accounts = WorkAccount.find(:all, :order => :name)
|
|
203
208
|
@absence = Absence.find(:first, :conditions => {:on => @date, :user_id => @user.id})
|
|
204
209
|
@public_holiday = PublicHoliday.find(:first, :conditions => {:on => @date})
|
data/app/models/period.rb
CHANGED
data/app/models/task.rb
CHANGED
|
@@ -179,6 +179,7 @@ class Task < ActiveRecord::Base
|
|
|
179
179
|
existing_task.open
|
|
180
180
|
existing_task.previous_task_id = self.previous_task_id || self.id
|
|
181
181
|
existing_task.description = self.description
|
|
182
|
+
existing_task.users = self.users
|
|
182
183
|
existing_task.save!
|
|
183
184
|
existing_task.estimate(old_todo)
|
|
184
185
|
return existing_task
|
|
@@ -195,6 +196,7 @@ class Task < ActiveRecord::Base
|
|
|
195
196
|
new_task.description = self.description
|
|
196
197
|
new_task.initial_estimate = self.initial_estimate
|
|
197
198
|
new_task.position = nil
|
|
199
|
+
new_task.users = self.users
|
|
198
200
|
new_task.save!
|
|
199
201
|
new_task.insert_at 1
|
|
200
202
|
new_task.estimate(old_todo)
|
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
<%=render :partial => '/tasks/fields_header', :locals => {:backlog => @backlog, :active => false, :track_times => false, :work_done => work_done} %>
|
|
8
8
|
<ul id="completed_tasks_<%=period && period.id%>" class="task_list" style="width: 100%;">
|
|
9
9
|
<% @completed_tasks.select {|t| t.period == period}.each do |task| %>
|
|
10
|
-
<%=render :partial => '/tasks/task', :locals => { :task => task, :i => i, :active => false,
|
|
10
|
+
<%=render :partial => '/tasks/task', :locals => { :task => task, :i => i, :active => false,
|
|
11
|
+
:highlight_task => task == @selected_task, :hidden => false,
|
|
12
|
+
:show_backlog => controller.class != BacklogsController, :update => :spotlight } %>
|
|
11
13
|
<% i += 1 %>
|
|
12
14
|
<% end %>
|
|
13
15
|
</ul>
|
data/app/views/tasks/_task.rhtml
CHANGED
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
<%=image_button_to('add.png', l(:specify), {:controller => 'tasks', :action => :specify, :id => @task.id},
|
|
7
7
|
:style => "margin-left: #{@task.depth * 2}em") %>
|
|
8
8
|
<% end %>
|
|
9
|
+
<% else %>
|
|
10
|
+
<%=image_tag 'blank.png', :class => 'image-submit', :style => "margin-left: 0em; padding: 0px" %>
|
|
9
11
|
<% end %>
|
|
10
12
|
</div>
|
|
11
13
|
<div style="float: left" style="border: 3px solid red">
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
</td>
|
|
57
57
|
<td id="work_start_time_cell" align="right" valign="bottom">
|
|
58
58
|
<% field = 'start_time'; next_field = 'completed_at_time' %>
|
|
59
|
-
<%=text_field :work, :start_time, :value =>
|
|
59
|
+
<%=text_field :work, :start_time, :value => @new_work.start_time && @new_work.start_time.strftime('%H:%M'), :class => 'task_time',
|
|
60
60
|
:onchange => remote_function(:url => {:action => :update_new_row, :field => field,
|
|
61
61
|
:next_field => next_field},
|
|
62
62
|
:with => "
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
<% user_parameter = @user != current_user ? @user.id : nil %>
|
|
2
|
+
|
|
3
|
+
<div style="float: left"><%=link_to(image_tag('arrow_left.png'), :year => (@week > 1 ? @year : @year - 1), :week => (@week > 1 ? @week - 1 : 52), :user_id => user_parameter)%></div>
|
|
4
|
+
<div style="float: right"><%=link_to(image_tag('arrow_right.png'), :year => (@week < 52 ? @year : @year + 1), :week => (@week < 52 ? @week + 1 : 1), :user_id => user_parameter)%></div>
|
|
3
5
|
|
|
4
6
|
<div align="right">
|
|
5
7
|
<% lock_action = @lock ? :unlock : :lock %>
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
<div id="spotlight">
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
<div style="float:
|
|
9
|
-
|
|
5
|
+
<% user_parameter = @user != current_user ? @user.id : nil %>
|
|
6
|
+
|
|
7
|
+
<div style="float: left"><%=image_link_to('arrow_left.png', l(:previous_week), {:id => @date - 7, :user_id => user_parameter}, :class => nil)%></div>
|
|
8
|
+
<div style="float: left"><%=image_link_to('arrow_left.png', l(:previous_day), {:id => @date-1, :user_id => user_parameter}, :class => nil)%></div>
|
|
9
|
+
<%=link_to l(:weekly_work_sheet), :action => :weekly_work_sheet, :year => @year, :week => @week, :user_id => user_parameter%>
|
|
10
|
+
<div style="float: right"><%=image_link_to('arrow_right.png', l(:next_week), {:id => @date + 7, :user_id => user_parameter}, :class => nil)%></div>
|
|
11
|
+
<div style="float: right"><%=image_link_to('arrow_right.png', l(:next_day), {:id => @date+1, :user_id => user_parameter}, :class => nil)%></div>
|
|
10
12
|
|
|
11
13
|
<br clear="all" />
|
|
12
14
|
|
data/app/views/works/list.rhtml
CHANGED
|
@@ -103,9 +103,7 @@
|
|
|
103
103
|
<th><%=l :done %></th>
|
|
104
104
|
<th><%=l :description %></th>
|
|
105
105
|
<th><%=l :invoice %></th>
|
|
106
|
-
<% if @period && @period.track_times? %>
|
|
107
106
|
<th><%=l :started_at %></th>
|
|
108
|
-
<% end %>
|
|
109
107
|
<th><%=l :completed_at %></th>
|
|
110
108
|
</tr>
|
|
111
109
|
|
|
@@ -122,9 +120,7 @@
|
|
|
122
120
|
%>
|
|
123
121
|
<td><%= link_to link, :controller => 'works', :action => 'daily_work_sheet', :id => work.started_on.strftime("%Y-%m-%d") %></td>
|
|
124
122
|
<td><%=work.invoice ? l(:yes) : '' %></td>
|
|
125
|
-
<% if @period && @period.track_times? %>
|
|
126
123
|
<td><%=work.started_at && work.started_at.strftime('%Y-%m-%d %H:%M:%S') %></td>
|
|
127
|
-
<% end %>
|
|
128
124
|
<td valign="top"><%=work.completed_at && work.completed_at.strftime('%Y-%m-%d %H:%M:%S') %></td>
|
|
129
125
|
<tr>
|
|
130
126
|
<% end %>
|
|
@@ -9,11 +9,25 @@
|
|
|
9
9
|
<tr>
|
|
10
10
|
<th><%=l :work_account %></th>
|
|
11
11
|
<% [:monday, :tuesday, :wednesday, :thursday, :friday, :saturday, :sunday].each_with_index do |day, i| %>
|
|
12
|
-
|
|
12
|
+
<th align="center"><%=detour_to "#{l(day)} #{week_date(i+1)}", :action => :daily_work_sheet, :id => (@first_date + i).strftime('%Y-%m-%d'), :user_id => (@user != current_user ? @user : nil) %></th>
|
|
13
13
|
<% end %>
|
|
14
14
|
<th align="center" nowrap="true"><%=l :week %> <%=@week%></th>
|
|
15
15
|
</tr>
|
|
16
16
|
|
|
17
|
+
<% unless (@absences + @public_holidays).compact.empty? %>
|
|
18
|
+
<tr>
|
|
19
|
+
<th/>
|
|
20
|
+
<% (0..6).each do |i| %>
|
|
21
|
+
<th><span style="color: red">
|
|
22
|
+
<%=l :public_holiday if @public_holidays[i] %>
|
|
23
|
+
<%=l :absent if @absences[i] %>
|
|
24
|
+
</span>
|
|
25
|
+
</th>
|
|
26
|
+
<% end %>
|
|
27
|
+
<th/>
|
|
28
|
+
</tr>
|
|
29
|
+
<% end %>
|
|
30
|
+
|
|
17
31
|
<% week_totals = Hash.new(0) %>
|
|
18
32
|
<% day_totals = Array.new(7, 0) %>
|
|
19
33
|
<% for work_account, totals in @work_accounts %>
|
|
@@ -35,12 +49,13 @@
|
|
|
35
49
|
<% end %>
|
|
36
50
|
<tr>
|
|
37
51
|
<th><%=l :totals%></th>
|
|
52
|
+
<% expected_week_total = BigDecimal('40') %>
|
|
38
53
|
<% (0..6).each do |day| %>
|
|
39
|
-
<%
|
|
54
|
+
<% expected_week_total -= BigDecimal('8') if @absences[day] || @public_holidays[day] %>
|
|
40
55
|
<th class="hours"><%=t(day_totals[day]) if day_totals[day] > 0%></th>
|
|
41
56
|
<% end %>
|
|
42
57
|
<% week_total = day_totals.inject(BigDecimal('0')) {|total, day_total| total + day_total} %>
|
|
43
|
-
<th class="hours"><%=t(week_total)%></th>
|
|
58
|
+
<th class="hours"><%=t(week_total)%><%=" (#{t expected_week_total})" unless expected_week_total == 40 %></th>
|
|
44
59
|
</tr>
|
|
45
60
|
</table>
|
|
46
61
|
|
data/bin/backlog
CHANGED
|
File without changes
|
data/bin/backlog_init.d
CHANGED
|
File without changes
|
|
File without changes
|
data/config/war.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Goldspike configuration
|
|
2
2
|
|
|
3
3
|
# Set the version of JRuby and GoldSpike to use:
|
|
4
|
-
maven_library 'org.jruby', 'jruby-complete', '1.
|
|
4
|
+
maven_library 'org.jruby', 'jruby-complete', '1.1.1'
|
|
5
5
|
maven_library 'backport-util-concurrent', 'backport-util-concurrent', '3.0'
|
|
6
6
|
#maven_library 'org.jruby.extras', 'goldspike', '1.3-SNAPSHOT'
|
|
7
7
|
|
|
@@ -10,9 +10,9 @@ maven_library 'postgresql', 'postgresql', '8.2-504.jdbc4'
|
|
|
10
10
|
#maven_library 'bouncycastle', 'bcprov-jdk16', '136'
|
|
11
11
|
|
|
12
12
|
add_gem('jruby-openssl', '>=0.0.4')
|
|
13
|
-
add_gem('rubyforge', '>=0.
|
|
13
|
+
add_gem('rubyforge', '>=1.0.0')
|
|
14
14
|
add_gem('rmagick4j', '>=0.3.3')
|
|
15
|
-
add_gem('gruff', '>=0.
|
|
15
|
+
add_gem('gruff', '>=0.3.1')
|
|
16
16
|
add_gem('slave', '>=1.2.1')
|
|
17
17
|
|
|
18
18
|
exclude_files('pkg')
|
|
@@ -53,7 +53,7 @@ class InsertDatekProjects < ActiveRecord::Migration
|
|
|
53
53
|
Backlog.reset_column_information
|
|
54
54
|
|
|
55
55
|
projects.each do |invoice_code, name|
|
|
56
|
-
if backlog = Backlog.find_by_invoice_code(invoice_code)
|
|
56
|
+
if backlog = Backlog.find_by_invoice_code(invoice_code.to_s)
|
|
57
57
|
if backlog.invoice_code.nil? || backlog.invoice_code.length >= 31
|
|
58
58
|
puts "Set Mamut project code to #{invoice_code} for '#{name}'"
|
|
59
59
|
backlog.invoice_code = invoice_code
|
data/db/schema.rb
CHANGED
|
@@ -151,29 +151,29 @@ ActiveRecord::Schema.define(:version => 31) do
|
|
|
151
151
|
|
|
152
152
|
add_foreign_key "absences", ["user_id"], "users", ["party_id"], :name => "absences_user_id_fkey"
|
|
153
153
|
|
|
154
|
-
add_foreign_key "backlogs", ["customer_id"], "customers", ["id"], :name => "backlogs_customer_id_fkey"
|
|
155
154
|
add_foreign_key "backlogs", ["work_account_id"], "work_accounts", ["id"], :name => "backlogs_work_account_id_fkey"
|
|
155
|
+
add_foreign_key "backlogs", ["customer_id"], "customers", ["id"], :name => "backlogs_customer_id_fkey"
|
|
156
156
|
|
|
157
|
-
add_foreign_key "estimates", ["user_id"], "users", ["party_id"], :name => "estimates_user_id_fkey"
|
|
158
157
|
add_foreign_key "estimates", ["task_id"], "tasks", ["id"], :name => "estimates_task_id_fkey"
|
|
158
|
+
add_foreign_key "estimates", ["user_id"], "users", ["party_id"], :name => "estimates_user_id_fkey"
|
|
159
159
|
|
|
160
160
|
add_foreign_key "groups", ["party_id"], "parties", ["id"], :name => "groups_party_id_fkey"
|
|
161
161
|
|
|
162
|
-
add_foreign_key "groups_users", ["user_id"], "users", ["party_id"], :name => "groups_users_user_id_fkey"
|
|
163
162
|
add_foreign_key "groups_users", ["group_id"], "groups", ["party_id"], :name => "groups_users_group_id_fkey"
|
|
163
|
+
add_foreign_key "groups_users", ["user_id"], "users", ["party_id"], :name => "groups_users_user_id_fkey"
|
|
164
164
|
|
|
165
165
|
add_foreign_key "periods", ["party_id"], "parties", ["id"], :name => "periods_party_id_fkey"
|
|
166
166
|
|
|
167
167
|
add_foreign_key "task_files", ["task_id"], "tasks", ["id"], :name => "task_files_task_id_fkey"
|
|
168
168
|
|
|
169
|
-
add_foreign_key "tasks", ["updated_by"], "users", ["party_id"], :name => "tasks_updated_by_fkey"
|
|
170
|
-
add_foreign_key "tasks", ["created_by"], "users", ["party_id"], :name => "tasks_created_by_fkey"
|
|
171
|
-
add_foreign_key "tasks", ["customer_id"], "customers", ["id"], :name => "tasks_customer_id_fkey"
|
|
172
|
-
add_foreign_key "tasks", ["work_account_id"], "work_accounts", ["id"], :name => "tasks_work_account_id_fkey"
|
|
173
|
-
add_foreign_key "tasks", ["backlog_id"], "backlogs", ["id"], :name => "tasks_backlog_id_fkey"
|
|
174
|
-
add_foreign_key "tasks", ["previous_task_id"], "tasks", ["id"], :name => "tasks_previous_task_id_fkey"
|
|
175
|
-
add_foreign_key "tasks", ["parent_id"], "tasks", ["id"], :name => "tasks_parent_id_fkey"
|
|
176
169
|
add_foreign_key "tasks", ["period_id"], "periods", ["id"], :name => "tasks_period_id_fkey"
|
|
170
|
+
add_foreign_key "tasks", ["parent_id"], "tasks", ["id"], :name => "tasks_parent_id_fkey"
|
|
171
|
+
add_foreign_key "tasks", ["previous_task_id"], "tasks", ["id"], :name => "tasks_previous_task_id_fkey"
|
|
172
|
+
add_foreign_key "tasks", ["backlog_id"], "backlogs", ["id"], :name => "tasks_backlog_id_fkey"
|
|
173
|
+
add_foreign_key "tasks", ["work_account_id"], "work_accounts", ["id"], :name => "tasks_work_account_id_fkey"
|
|
174
|
+
add_foreign_key "tasks", ["customer_id"], "customers", ["id"], :name => "tasks_customer_id_fkey"
|
|
175
|
+
add_foreign_key "tasks", ["created_by"], "users", ["party_id"], :name => "tasks_created_by_fkey"
|
|
176
|
+
add_foreign_key "tasks", ["updated_by"], "users", ["party_id"], :name => "tasks_updated_by_fkey"
|
|
177
177
|
|
|
178
178
|
add_foreign_key "tasks_users", ["task_id"], "tasks", ["id"], :name => "tasks_users_task_id_fkey"
|
|
179
179
|
add_foreign_key "tasks_users", ["user_id"], "users", ["party_id"], :name => "tasks_users_user_id_fkey"
|
|
@@ -188,9 +188,9 @@ ActiveRecord::Schema.define(:version => 31) do
|
|
|
188
188
|
|
|
189
189
|
add_foreign_key "work_locks", ["user_id"], "users", ["party_id"], :name => "work_locks_user_id_fkey"
|
|
190
190
|
|
|
191
|
-
add_foreign_key "works", ["work_account_id"], "work_accounts", ["id"], :name => "works_work_account_id_fkey"
|
|
192
|
-
add_foreign_key "works", ["customer_id"], "customers", ["id"], :name => "works_customer_id_fkey"
|
|
193
|
-
add_foreign_key "works", ["user_id"], "users", ["party_id"], :name => "works_user_id_fkey"
|
|
194
191
|
add_foreign_key "works", ["task_id"], "tasks", ["id"], :name => "works_task_id_fkey"
|
|
192
|
+
add_foreign_key "works", ["user_id"], "users", ["party_id"], :name => "works_user_id_fkey"
|
|
193
|
+
add_foreign_key "works", ["customer_id"], "customers", ["id"], :name => "works_customer_id_fkey"
|
|
194
|
+
add_foreign_key "works", ["work_account_id"], "work_accounts", ["id"], :name => "works_work_account_id_fkey"
|
|
195
195
|
|
|
196
196
|
end
|
data/lang/en.yaml
CHANGED
data/lang/no.yaml
CHANGED
data/public/dispatch.cgi
CHANGED
|
File without changes
|
data/public/dispatch.fcgi
CHANGED
|
File without changes
|
data/public/dispatch.rb
CHANGED
|
File without changes
|
|
Binary file
|
data/script/about
CHANGED
|
File without changes
|
data/script/breakpointer
CHANGED
|
File without changes
|
data/script/console
CHANGED
|
File without changes
|
data/script/destroy
CHANGED
|
File without changes
|
data/script/generate
CHANGED
|
File without changes
|
|
File without changes
|
data/script/performance/profiler
CHANGED
|
File without changes
|
data/script/plugin
CHANGED
|
File without changes
|
data/script/process/inspector
CHANGED
|
File without changes
|
data/script/process/reaper
CHANGED
|
File without changes
|
data/script/process/spawner
CHANGED
|
File without changes
|
data/script/runner
CHANGED
|
File without changes
|
data/script/server
CHANGED
|
File without changes
|
|
@@ -110,6 +110,34 @@ class WorksControllerTest < Test::Unit::TestCase
|
|
|
110
110
|
assert_equal BigDecimal('0.333'), assigns(:work).hours
|
|
111
111
|
end
|
|
112
112
|
|
|
113
|
+
def test_create_with_old_start_date_and_completed_at_time
|
|
114
|
+
num_works = Work.count
|
|
115
|
+
|
|
116
|
+
post :create, :work => {:task_id => 1, :started_on => '2007-07-31', :work_account_id => '1',
|
|
117
|
+
:start_time => '12:00', :completed_at_time => '12:20'}
|
|
118
|
+
|
|
119
|
+
assert_response :redirect
|
|
120
|
+
assert_redirected_to :controller => 'periods', :action => 'show', :id => periods(:past).id, :task_id => 1
|
|
121
|
+
|
|
122
|
+
assert_equal num_works + 1, Work.count
|
|
123
|
+
assert_equal BigDecimal('0.333'), assigns(:work).hours
|
|
124
|
+
assert_equal Time.parse('2007-07-31 12:20'), assigns(:work).completed_at
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
def test_create_with_old_start_date_and_no_times
|
|
128
|
+
num_works = Work.count
|
|
129
|
+
|
|
130
|
+
post :create, :work => {:started_on => '2007-07-31', :work_account_id => '1', :hours_time => '3:00'}
|
|
131
|
+
|
|
132
|
+
assert_response :redirect
|
|
133
|
+
assert_redirected_to :controller => 'works', :action => 'daily_work_sheet', :id => '2007-07-31'
|
|
134
|
+
|
|
135
|
+
assert_equal num_works + 1, Work.count
|
|
136
|
+
assert_equal BigDecimal('3.000'), assigns(:work).hours
|
|
137
|
+
assert_nil assigns(:work).start_time
|
|
138
|
+
assert_nil assigns(:work).completed_at
|
|
139
|
+
end
|
|
140
|
+
|
|
113
141
|
def test_edit
|
|
114
142
|
get :edit, :id => 1
|
|
115
143
|
|
data/test/unit/user_test.rb
CHANGED
|
@@ -7,7 +7,7 @@ class UserTest < Test::Unit::TestCase
|
|
|
7
7
|
def test_authenticate
|
|
8
8
|
assert_equal users(:tesla), User.authenticate(users(:tesla).login, "atest")
|
|
9
9
|
assert_nil User.authenticate("nontesla", "atest")
|
|
10
|
-
assert_nil User.authenticate(users(:tesla), "wrong password")
|
|
10
|
+
assert_nil User.authenticate(users(:tesla).login, "wrong password")
|
|
11
11
|
end
|
|
12
12
|
|
|
13
13
|
def test_authenticate_by_token
|
|
File without changes
|
|
File without changes
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: backlog
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.33.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Uwe Kubosch
|
|
@@ -9,7 +9,7 @@ autorequire:
|
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
11
|
|
|
12
|
-
date: 2008-05-
|
|
12
|
+
date: 2008-05-23 00:00:00 +02:00
|
|
13
13
|
default_executable:
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
@@ -55,7 +55,7 @@ dependencies:
|
|
|
55
55
|
requirements:
|
|
56
56
|
- - ">="
|
|
57
57
|
- !ruby/object:Gem::Version
|
|
58
|
-
version: 1.5.
|
|
58
|
+
version: 1.5.3
|
|
59
59
|
version:
|
|
60
60
|
description: Welcome to Backlog! Backlog is a tool to help you collect and organize all your tasks, whether you are a single person or a small or large group.
|
|
61
61
|
email: uwe@kubosch.no
|
|
@@ -596,6 +596,7 @@ files:
|
|
|
596
596
|
- public/images/rmagick_270.gif
|
|
597
597
|
- public/images/arrow_right.svg
|
|
598
598
|
- public/images/arrow_left.png
|
|
599
|
+
- public/images/blank.png
|
|
599
600
|
- public/images/arrow_right.png
|
|
600
601
|
- public/images/arrow_down.svg
|
|
601
602
|
- public/images/grab_gray.png
|
|
@@ -757,7 +758,7 @@ requirements:
|
|
|
757
758
|
- ImageMagick
|
|
758
759
|
- PostgreSQL
|
|
759
760
|
rubyforge_project: backlog
|
|
760
|
-
rubygems_version: 1.
|
|
761
|
+
rubygems_version: 1.1.1
|
|
761
762
|
signing_key:
|
|
762
763
|
specification_version: 2
|
|
763
764
|
summary: Application to aid collecting, processing, organizing, reviewing and doing tasks.
|