backlog 0.7.6 → 0.7.7
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 +10 -0
- data/Rakefile +1 -0
- data/app/controllers/application.rb +6 -2
- data/app/controllers/user_controller.rb +14 -6
- data/app/views/layouts/_left_top.rhtml +5 -5
- data/app/views/layouts/mwrt002.rhtml +4 -1
- data/app/views/user/login.rhtml +6 -3
- data/app/views/user/signup.rhtml +3 -2
- data/app/views/works/weekly_work_sheet.rhtml +2 -1
- data/lang/en.yaml +7 -5
- data/lang/no.yaml +2 -0
- metadata +5 -4
data/History.txt
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
== 0.7.7 2007-08-24
|
2
|
+
|
3
|
+
* Added link to backlog from work record in weekly work sheet
|
4
|
+
* Added ImageMagick and PostgreSQL as requireements in the GEM
|
5
|
+
* Removed shortcuts from login and signup views.
|
6
|
+
* Removed link to backlog list of not logged in.
|
7
|
+
* Localized some user messages.
|
8
|
+
* Focus on login field in login view.
|
9
|
+
* Changed "period" to "sprint" to follow the Scrum vocabulary. Thinking of option to change this by installation/project.
|
10
|
+
|
1
11
|
== 0.7.6 2007-08-22
|
2
12
|
|
3
13
|
* Changed Task edit view to use Ajax to update the Period link to make it more sponsive when moving a task between periods.
|
data/Rakefile
CHANGED
@@ -25,6 +25,7 @@ Hoe.new("backlog", APP::VERSION) do |p|
|
|
25
25
|
:files => Dir['**/*'].reject{|file_name| file_name =~ /^(log|pkg|tmp)/},
|
26
26
|
:rdoc_options => ['--inline-source'],
|
27
27
|
:executables => ['backlog'],
|
28
|
+
:requirements => ['ImageMagick', 'PostgreSQL']
|
28
29
|
}
|
29
30
|
p.need_zip = true
|
30
31
|
p.url = 'http://rubyforge.org/projects/backlog/'
|
@@ -16,6 +16,11 @@ class ApplicationController < ActionController::Base
|
|
16
16
|
before_filter :authenticate_user
|
17
17
|
before_filter :populate_layout
|
18
18
|
|
19
|
+
def initialize
|
20
|
+
@application_title = l :backlog
|
21
|
+
@application_description = l :backlog_description
|
22
|
+
end
|
23
|
+
|
19
24
|
def self.in_place_edit_for(object, attribute, options = {})
|
20
25
|
define_method("set_#{object}_#{attribute}") do
|
21
26
|
@item = object.to_s.camelize.constantize.find(params[:id])
|
@@ -106,8 +111,6 @@ class ApplicationController < ActionController::Base
|
|
106
111
|
private :pop_detour
|
107
112
|
|
108
113
|
def populate_shortcuts
|
109
|
-
@application_title = l :backlog
|
110
|
-
@application_description = l :backlog_description
|
111
114
|
@shortcuts = [
|
112
115
|
{:key => 'Alt-N', :function => :new_task, :options => {:controller => 'tasks', :action => 'new', :period_id => (@period ? @period.id : (@backlog && @backlog.periods.first ? @backlog.periods.first.id : nil))}},
|
113
116
|
{:key => 'Alt-Shift-N', :function => :new_period, :options => {:controller => 'periods', :action => 'new'}},
|
@@ -124,6 +127,7 @@ class ApplicationController < ActionController::Base
|
|
124
127
|
|
125
128
|
def populate_layout
|
126
129
|
return true if request.path_parameters[:action] =~ /_no_layout$/
|
130
|
+
|
127
131
|
populate_shortcuts
|
128
132
|
|
129
133
|
# TODO (uwe): This does not scale!
|
@@ -37,7 +37,7 @@ class UserController < ApplicationController
|
|
37
37
|
redirect_to :action => 'login'
|
38
38
|
end
|
39
39
|
end
|
40
|
-
|
40
|
+
rescue Exception => ex
|
41
41
|
report_exception ex
|
42
42
|
flash['message'] = 'Error creating account: confirmation email not sent'
|
43
43
|
end
|
@@ -56,14 +56,14 @@ class UserController < ApplicationController
|
|
56
56
|
begin
|
57
57
|
@user.change_password(params['user']['password'], params['user']['password_confirmation'])
|
58
58
|
@user.save!
|
59
|
-
|
59
|
+
rescue Exception => ex
|
60
60
|
report_exception ex
|
61
61
|
flash.now['message'] = 'Your password could not be changed at this time. Please retry.'
|
62
62
|
render and return
|
63
63
|
end
|
64
64
|
begin
|
65
65
|
UserNotify.deliver_change_password(@user, params['user']['password'])
|
66
|
-
|
66
|
+
rescue Exception => ex
|
67
67
|
report_exception ex
|
68
68
|
end
|
69
69
|
|
@@ -96,7 +96,7 @@ class UserController < ApplicationController
|
|
96
96
|
end
|
97
97
|
redirect_back_or_default :action => 'welcome'
|
98
98
|
end
|
99
|
-
|
99
|
+
rescue Exception => ex
|
100
100
|
report_exception ex
|
101
101
|
flash.now['message'] = "Your password could not be emailed to #{CGI.escapeHTML(params['user']['email'])}"
|
102
102
|
end
|
@@ -121,7 +121,7 @@ class UserController < ApplicationController
|
|
121
121
|
else
|
122
122
|
raise "unknown edit action"
|
123
123
|
end
|
124
|
-
|
124
|
+
rescue Exception => ex
|
125
125
|
logger.warn ex
|
126
126
|
logger.warn ex.backtrace
|
127
127
|
end
|
@@ -133,7 +133,7 @@ class UserController < ApplicationController
|
|
133
133
|
begin
|
134
134
|
@user.update_attribute( :deleted, true )
|
135
135
|
logout
|
136
|
-
|
136
|
+
rescue Exception => ex
|
137
137
|
flash.now['message'] = "Error: #{@ex}."
|
138
138
|
redirect_back_or_default :action => 'welcome'
|
139
139
|
end
|
@@ -181,4 +181,12 @@ class UserController < ApplicationController
|
|
181
181
|
logger.warn ex.backtrace.join("\n")
|
182
182
|
end
|
183
183
|
|
184
|
+
private
|
185
|
+
|
186
|
+
def populate_layout
|
187
|
+
@sidebars = [
|
188
|
+
{ :id => 1, :title => "Welcome to Backlog", :content => '<p>Welcome to Backlog, a project support application targeted at collecting, planning, and completing tasks.</p><p>Backlog also offers history tracking and a graphical presentation of burn down charts.</p>' }
|
189
|
+
]
|
190
|
+
end
|
191
|
+
|
184
192
|
end
|
@@ -2,13 +2,13 @@
|
|
2
2
|
<span style="float: left"><%=l :backlog%> <%=APP::VERSION%></span>
|
3
3
|
<%= flash[:notice] + ' |' if flash[:notice] %>
|
4
4
|
<%= link_to l(:home), '/' %>
|
5
|
-
|
5
|
+
|
6
6
|
<% if user? %>
|
7
|
-
|
7
|
+
| <%= link_to l(:backlogs), :controller => 'backlogs', :action => :list %>
|
8
|
+
| <%= link_to l(:log_out), :controller => 'user', :action => :logout %>
|
8
9
|
<% else %>
|
9
|
-
|
10
|
+
| <%= detour_to l(:log_in), :controller => 'user', :action => :login %>
|
10
11
|
<% end %>
|
11
|
-
| <%= link_to l(:backlogs), :controller => 'backlogs', :action => :list %>
|
12
12
|
<!-- | <%= link_to l(:administration), :controller => 'administration', :action => :index %> -->
|
13
13
|
<% if user? %>| <%=link_to user.email, :controller => 'user', :action => :edit%><% end %>
|
14
14
|
</div>
|
@@ -17,6 +17,6 @@
|
|
17
17
|
|
18
18
|
<div id="introtext">
|
19
19
|
<h1><%=@application_title%></h1>
|
20
|
-
<h3><%=@page_title
|
20
|
+
<h3><%=@page_title || @application_description%></h3>
|
21
21
|
</div>
|
22
22
|
</div>
|
@@ -43,7 +43,8 @@ function handlePageEvent(event) {
|
|
43
43
|
</table>
|
44
44
|
</div>
|
45
45
|
<% end %>
|
46
|
-
|
46
|
+
|
47
|
+
<% if @sidebars %>
|
47
48
|
<% @sidebars.each do |sidebar| %>
|
48
49
|
<div class="rblock" id="sidebar_<%=sidebar[:id]%>">
|
49
50
|
<div class="btitle">
|
@@ -56,6 +57,8 @@ function handlePageEvent(event) {
|
|
56
57
|
<%= sidebar[:content] %>
|
57
58
|
</div>
|
58
59
|
<% end %>
|
60
|
+
<% end %>
|
61
|
+
|
59
62
|
</div>
|
60
63
|
<div id="footer">
|
61
64
|
<div id="footertext">Copyright © 2006 Kubosch Consulting | All Rights Reserved<br />Design By <a href="http://mywebresource.com" title="Design By MyWebResource">MyWebResource</a> | <a href="http://validator.w3.org/check?uri=referer" title="W3C XHTML 1.0 Strict Compliant">W3C XHTML 1.0</a> | <a href="http://jigsaw.w3.org/css-validator/" title="W3C CSS 2.0 Compliant">W3C CSS 2.0</a></div>
|
data/app/views/user/login.rhtml
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
<% @page_title =
|
1
|
+
<% @page_title = l(:please_login) %>
|
2
2
|
|
3
3
|
<div title="<%= title_helper %>" class="form">
|
4
4
|
<%= head_helper ' ' %>
|
@@ -21,10 +21,13 @@
|
|
21
21
|
</table>
|
22
22
|
|
23
23
|
<div class="button-bar">
|
24
|
-
<%= submit_tag
|
24
|
+
<%= submit_tag l(:log_in) %>
|
25
25
|
<%= link_to 'Register for an account', :action => 'signup' %> |
|
26
26
|
<%= link_to 'Forgot my password', :action => 'forgot_password' %> </div>
|
27
27
|
</form>
|
28
28
|
</div>
|
29
29
|
</div>
|
30
|
-
|
30
|
+
|
31
|
+
<script type="text/JavaScript">
|
32
|
+
document.getElementById('user_login').select();
|
33
|
+
</script>
|
data/app/views/user/signup.rhtml
CHANGED
@@ -1,5 +1,6 @@
|
|
1
|
+
<% @page_title = l(:signup) %>
|
2
|
+
|
1
3
|
<div title="<%= title_helper %>" class="form">
|
2
|
-
<%= head_helper 'Sign Up', :error => true %>
|
3
4
|
|
4
5
|
<div class="form-padding">
|
5
6
|
<%= start_form_tag_helper %>
|
@@ -7,7 +8,7 @@
|
|
7
8
|
<%= render_partial 'password', :submit => false %>
|
8
9
|
|
9
10
|
<div class="button-bar">
|
10
|
-
<%= submit_tag
|
11
|
+
<%= submit_tag l(:signup) %>
|
11
12
|
</div>
|
12
13
|
</form>
|
13
14
|
</div>
|
@@ -55,7 +55,8 @@ end %>]
|
|
55
55
|
<% day_totals[day] += @work.hours %>
|
56
56
|
<% week_total += @work.hours %>
|
57
57
|
<td>
|
58
|
-
<%=link_to(h(@work.task.period.
|
58
|
+
<%=link_to(h(@work.task.period.name), :controller => 'periods', :action => :show, :id => @work.task.period) %>
|
59
|
+
<%=link_to(h(@work.task.backlog.name), :controller => 'backlogs', :action => :show, :id => @work.task.backlog) %>
|
59
60
|
<%=link_to(h(@work.task.description), :controller => 'periods', :action => :show, :id => @work.task.period, :task_id => @work.task.id) %>
|
60
61
|
</td>
|
61
62
|
<td id="invoice_<%=@work.id%>">
|
data/lang/en.yaml
CHANGED
@@ -45,19 +45,20 @@ main_backlog: Main Backlog
|
|
45
45
|
members: Members
|
46
46
|
monday: Monday
|
47
47
|
move_to_bottom: Move task to bottom of list
|
48
|
-
move_to_next_period: Move task to next
|
48
|
+
move_to_next_period: Move task to next sprint
|
49
49
|
move_to_top: Move task to top of list
|
50
50
|
name: Name
|
51
51
|
new_backlog: Start new backlog
|
52
52
|
new_group: Start new group
|
53
|
-
new_period: Add new
|
53
|
+
new_period: Add new sprint
|
54
54
|
new_task: Add new task
|
55
55
|
new_work: Add new work record
|
56
56
|
next: Next
|
57
|
-
no_pending_tasks: There are no pending tasks in this
|
57
|
+
no_pending_tasks: There are no pending tasks in this sprint.
|
58
58
|
password: Password
|
59
|
-
period:
|
60
|
-
periods:
|
59
|
+
period: Sprint
|
60
|
+
periods: Sprints
|
61
|
+
please_login: Please login
|
61
62
|
position: Position
|
62
63
|
postponed: Postponed
|
63
64
|
previous: Previous
|
@@ -70,6 +71,7 @@ saturday: Saturday
|
|
70
71
|
save: Save
|
71
72
|
select: Select
|
72
73
|
shortcuts: Shortcuts
|
74
|
+
signup: Sign Up
|
73
75
|
specify: Specify
|
74
76
|
start: Start
|
75
77
|
start_on: Start on
|
data/lang/no.yaml
CHANGED
@@ -58,6 +58,7 @@ no_pending_tasks: Det er ingen ventende oppgaver i denne perioden.
|
|
58
58
|
password: Passord
|
59
59
|
period: Periode
|
60
60
|
periods: Perioder
|
61
|
+
please_login: Vennligst logg på
|
61
62
|
position: Posisjon
|
62
63
|
postponed: Utsatt
|
63
64
|
previous: Forrige
|
@@ -70,6 +71,7 @@ saturday: Lørdag
|
|
70
71
|
save: Lagre
|
71
72
|
select: Velg
|
72
73
|
shortcuts: Knapper
|
74
|
+
signup: Innmelding
|
73
75
|
specify: Spesifisèr
|
74
76
|
start: Start
|
75
77
|
start_on: Start på
|
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.7.
|
7
|
-
date: 2007-08-
|
6
|
+
version: 0.7.7
|
7
|
+
date: 2007-08-24 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
|
@@ -1776,8 +1776,9 @@ executables:
|
|
1776
1776
|
- backlog
|
1777
1777
|
extensions: []
|
1778
1778
|
|
1779
|
-
requirements:
|
1780
|
-
|
1779
|
+
requirements:
|
1780
|
+
- ImageMagick
|
1781
|
+
- PostgreSQL
|
1781
1782
|
dependencies:
|
1782
1783
|
- !ruby/object:Gem::Dependency
|
1783
1784
|
name: gruff
|