backlog 0.36.2 → 0.37.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +16 -4
- data/Gemfile.lock +130 -0
- data/History.txt +17 -0
- data/README.txt +0 -2
- data/Rakefile +17 -7
- data/app/controllers/absences_controller.rb +1 -2
- data/app/controllers/application_controller.rb +13 -14
- data/app/controllers/application_controller.rb.rails2 +186 -0
- data/app/controllers/estimates_controller.rb +1 -1
- data/app/controllers/groups_controller.rb +3 -1
- data/app/controllers/periods_controller.rb +61 -50
- data/app/controllers/{backlogs_controller.rb → projects_controller.rb} +35 -35
- data/app/controllers/search_controller.rb +2 -2
- data/app/controllers/tasks_controller.rb +11 -11
- data/app/controllers/user_controller.rb +6 -4
- data/app/controllers/welcome_controller.rb +4 -4
- data/app/controllers/work_locks_controller.rb +2 -2
- data/app/controllers/works_controller.rb +31 -31
- data/app/helpers/application_helper.rb +2 -2
- data/app/helpers/application_helper.rb.rails2 +118 -0
- data/app/helpers/periods_helper.rb +3 -3
- data/app/helpers/{backlogs_helper.rb → projects_helper.rb} +5 -5
- data/app/helpers/user_helper.rb +2 -2
- data/app/{models → mailers}/user_notify.rb +1 -0
- data/app/models/absence.rb +2 -2
- data/{lib → app/models}/clock.rb +0 -0
- data/app/models/estimate.rb +2 -2
- data/app/models/party.rb +1 -2
- data/app/models/period.rb +17 -18
- data/app/models/{backlog.rb → project.rb} +2 -2
- data/app/models/sidebar.rb +2 -2
- data/app/models/task.rb +28 -28
- data/app/models/user.rb +5 -4
- data/app/models/work.rb +29 -23
- data/app/models/work_lock_nagger.rb +1 -1
- data/app/models/works_report_filter.rb +4 -4
- data/app/views/customers/_name_list.rhtml +1 -1
- data/app/views/layouts/_headers.rhtml +2 -1
- data/app/views/layouts/_left_top.rhtml +32 -29
- data/app/views/layouts/_shortcuts.rhtml +15 -9
- data/app/views/layouts/_shortcuts_js.rhtml +4 -4
- data/app/views/layouts/mwrt002.html.erb +44 -0
- data/app/views/periods/_burn_down_chart.rhtml +1 -1
- data/app/views/periods/_show_active.rhtml +3 -3
- data/app/views/periods/_title.rhtml +1 -1
- data/app/views/{backlogs → projects}/_buttons.rhtml +4 -4
- data/app/views/projects/_form.rhtml +44 -0
- data/app/views/projects/_name_list.rhtml +5 -0
- data/app/views/projects/edit.rhtml +14 -0
- data/app/views/{backlogs → projects}/finish_task.rjs +0 -0
- data/app/views/projects/list.rhtml +16 -0
- data/app/views/{backlogs → projects}/move_task_to_period.rjs +0 -0
- data/app/views/{backlogs → projects}/new.rhtml +1 -1
- data/app/views/{backlogs → projects}/reopen_task.rjs +0 -0
- data/app/views/{backlogs → projects}/show.rhtml +6 -6
- data/app/views/search/results.rhtml +3 -3
- data/app/views/tasks/_backlog_header.rhtml +4 -4
- data/app/views/tasks/_completed.rhtml +2 -2
- data/app/views/tasks/_form.rhtml +13 -13
- data/app/views/tasks/_task.rhtml +10 -10
- data/app/views/tasks/edit.rhtml +1 -1
- data/app/views/tasks/list.rhtml +3 -3
- data/app/views/tasks/list_started.rhtml +4 -4
- data/app/views/tasks/start_work.rjs +1 -1
- data/app/views/user/login.rhtml +1 -1
- data/app/views/user/signup.rhtml +1 -1
- data/app/views/user/welcome.rhtml +1 -1
- data/app/views/works/_description_list.rhtml +1 -1
- data/app/views/works/_form.rhtml +5 -5
- data/app/views/works/_new_row.rhtml +8 -8
- data/app/views/works/_row.rhtml +1 -1
- data/app/views/works/_task_id_list.rhtml +1 -1
- data/app/views/works/daily_work_sheet.rhtml +1 -1
- data/app/views/works/list.rhtml +5 -5
- data/app/views/works/list_excel.rhtml +2 -2
- data/app/views/works/timeliste.rhtml +14 -14
- data/app/views/works/weekly_work_sheet.rhtml +5 -5
- data/app/views/works/weekly_work_sheet_details.rhtml +5 -5
- data/backlog.gemspec +44 -0
- data/bin/backlog +5 -1
- data/config.ru +4 -0
- data/config/application.rb +10 -0
- data/config/boot.rb +12 -116
- data/config/database.yml +3 -6
- data/config/database.yml~ +17 -0
- data/config/environment.rb +28 -49
- data/config/environments/development.rb +24 -20
- data/config/environments/development.rb.rails2 +26 -0
- data/config/environments/production.rb +26 -22
- data/config/environments/test.rb +20 -15
- data/config/environments/user_environment.rb +1 -1
- data/config/initializers/backtrace_silencers.rb +7 -0
- data/config/initializers/inflections.rb +10 -0
- data/config/initializers/jdbc.rb +1 -1
- data/config/initializers/mime_types.rb +5 -0
- data/config/initializers/secret_token.rb +7 -0
- data/config/initializers/session_store.rb +8 -0
- data/config/locales/en.yml +22 -11
- data/config/locales/no.yml +1 -0
- data/config/routes.rb +4 -5
- data/cruise_build.sh +6 -2
- data/db/migrate/004_add_period.rb +22 -22
- data/db/migrate/015_add_user_option.rb +5 -19
- data/db/migrate/017_increase_backlog_name_limit.rb +10 -0
- data/db/migrate/021_create_work_accounts.rb +0 -2
- data/db/migrate/20101006092700_rename_backlogs_to_projects.rb +22 -0
- data/db/migrate/20101006092700_rename_backlogs_to_projects.rb~ +22 -0
- data/db/schema.rb +27 -30
- data/db/seeds.rb +7 -0
- data/lib/array_helper.rb +0 -8
- data/lib/class_table_inheritance.rb +8 -7
- data/lib/tasks/backup.rake +3 -3
- data/lib/tasks/jdbc.rake +2 -2
- data/lib/version_from_history.rb +1 -1
- data/public/404.html +23 -7
- data/public/422.html +26 -0
- data/public/500.html +23 -6
- data/public/images/rails.png +0 -0
- data/public/javascripts/controls.js +5 -3
- data/public/javascripts/dragdrop.js +7 -6
- data/public/javascripts/effects.js +8 -13
- data/public/javascripts/prototype.js +3381 -1700
- data/public/javascripts/rails.js +175 -0
- data/public/robots.txt +5 -1
- data/script/rails +6 -0
- data/test/client/login.rb +0 -2
- data/test/client/login_test.rb +1 -1
- data/test/client/setup.rb +25 -24
- data/test/fixtures/{backlogs.yml → projects.yml} +2 -2
- data/test/fixtures/tasks.yml +9 -9
- data/test/fixtures/work_lock_subscriptions.yml +2 -2
- data/test/fixtures/works.yml +7 -7
- data/test/functional/periods_controller_test.rb +1 -1
- data/test/functional/{backlogs_controller_test.rb → projects_controller_test.rb} +22 -21
- data/test/functional/search_controller_test.rb +1 -1
- data/test/functional/tasks_controller_test.rb +17 -17
- data/test/functional/user_controller_test.rb +16 -21
- data/test/functional/welcome_controller_test.rb +4 -3
- data/test/functional/works_controller_test.rb +5 -5
- data/test/integration/user_system_test.rb +1 -1
- data/test/mocks/test/clock.rb +1 -1
- data/test/performance/browsing_test.rb +9 -0
- data/test/performance/common.rb +1 -1
- data/test/test_helper.rb +23 -6
- data/test/test_helper.rb~ +121 -0
- data/test/unit/user_test.rb +3 -3
- data/test/unit/work_test.rb +7 -7
- data/vendor/plugins/assert_cookie/lib/assert_cookie.rb +0 -2
- data/vendor/plugins/{foreign_key_migrations → dynamic_form}/MIT-LICENSE +1 -1
- data/vendor/plugins/dynamic_form/README +13 -0
- data/vendor/plugins/dynamic_form/Rakefile +10 -0
- data/vendor/plugins/dynamic_form/dynamic_form.gemspec +12 -0
- data/vendor/plugins/dynamic_form/init.rb +1 -0
- data/vendor/plugins/dynamic_form/lib/action_view/helpers/dynamic_form.rb +300 -0
- data/vendor/plugins/dynamic_form/lib/action_view/locale/en.yml +8 -0
- data/vendor/plugins/dynamic_form/lib/dynamic_form.rb +5 -0
- data/vendor/plugins/dynamic_form/test/dynamic_form_i18n_test.rb +42 -0
- data/vendor/plugins/dynamic_form/test/dynamic_form_test.rb +370 -0
- data/vendor/plugins/dynamic_form/test/test_helper.rb +9 -0
- data/vendor/plugins/prototype_legacy_helper/lib/prototype_legacy_helper.rb +432 -0
- data/vendor/plugins/prototype_legacy_helper/test/test_prototype_helper.rb +297 -0
- data/vendor/plugins/rails_time/test/debug.log +1 -0
- data/vendor/plugins/{redhillonrails_core → verification}/MIT-LICENSE +1 -1
- data/vendor/plugins/verification/README +34 -0
- data/vendor/plugins/verification/Rakefile +22 -0
- data/vendor/plugins/verification/init.rb +3 -0
- data/vendor/plugins/verification/lib/action_controller/verification.rb +132 -0
- data/vendor/plugins/verification/test/test_helper.rb +18 -0
- data/vendor/plugins/verification/test/verification_test.rb +270 -0
- data/vendor/plugins/will_paginate/lib/will_paginate/collection.rb +1 -1
- metadata +115 -134
- data/Gemfile~ +0 -4
- data/History.txt~ +0 -961
- data/LICENSE_LOCALIZATION +0 -20
- data/README_LOCALIZATION +0 -61
- data/README_RAILS +0 -180
- data/app/views/backlogs/_form.rhtml +0 -44
- data/app/views/backlogs/_name_list.rhtml +0 -5
- data/app/views/backlogs/edit.rhtml +0 -14
- data/app/views/backlogs/list.rhtml +0 -16
- data/app/views/layouts/mwrt002.rhtml +0 -43
- data/config/initializers/mongrel.rb +0 -83
- data/config/preinitializer.rb +0 -20
- data/config/warble.rb~ +0 -84
- data/db/migrate/017_insert_datek_projects.rb +0 -98
- data/lib/change_column_null_migration_fix.rb +0 -15
- data/no_test.rb~ +0 -6
- data/public/dispatch.cgi +0 -10
- data/public/dispatch.fcgi +0 -24
- data/public/dispatch.rb +0 -10
- data/script/about +0 -3
- data/script/breakpointer +0 -3
- data/script/console +0 -3
- data/script/dbconsole +0 -3
- data/script/destroy +0 -3
- data/script/generate +0 -3
- data/script/performance/benchmarker +0 -3
- data/script/performance/profiler +0 -3
- data/script/plugin +0 -3
- data/script/process/inspector +0 -3
- data/script/process/reaper +0 -3
- data/script/process/spawner +0 -3
- data/script/runner +0 -3
- data/script/server +0 -3
- data/test/client/login.rb~ +0 -33
- data/test/mocks/test/user_notify.rb +0 -16
- data/vendor/plugins/foreign_key_migrations/CHANGELOG +0 -103
- data/vendor/plugins/foreign_key_migrations/README +0 -87
- data/vendor/plugins/foreign_key_migrations/about.yml +0 -5
- data/vendor/plugins/foreign_key_migrations/init.rb +0 -1
- data/vendor/plugins/foreign_key_migrations/install.rb +0 -1
- data/vendor/plugins/foreign_key_migrations/lib/foreign_key_migrations.rb +0 -3
- data/vendor/plugins/foreign_key_migrations/lib/red_hill_consulting/foreign_key_migrations/active_record/base.rb +0 -22
- data/vendor/plugins/foreign_key_migrations/lib/red_hill_consulting/foreign_key_migrations/active_record/connection_adapters/abstract_adapter.rb +0 -22
- data/vendor/plugins/foreign_key_migrations/lib/red_hill_consulting/foreign_key_migrations/active_record/connection_adapters/table_definition.rb +0 -28
- data/vendor/plugins/lightwindow_helper/README +0 -33
- data/vendor/plugins/lightwindow_helper/assets/images/ajax-loading.gif +0 -0
- data/vendor/plugins/lightwindow_helper/assets/images/arrow-down.gif +0 -0
- data/vendor/plugins/lightwindow_helper/assets/images/arrow-up.gif +0 -0
- data/vendor/plugins/lightwindow_helper/assets/images/black-70.png +0 -0
- data/vendor/plugins/lightwindow_helper/assets/images/black.png +0 -0
- data/vendor/plugins/lightwindow_helper/assets/images/nextlabel.gif +0 -0
- data/vendor/plugins/lightwindow_helper/assets/images/prevlabel.gif +0 -0
- data/vendor/plugins/lightwindow_helper/assets/javascripts/lightwindow.js +0 -1921
- data/vendor/plugins/lightwindow_helper/assets/stylesheets/lightwindow.css +0 -376
- data/vendor/plugins/lightwindow_helper/init.rb +0 -1
- data/vendor/plugins/lightwindow_helper/install.rb +0 -7
- data/vendor/plugins/lightwindow_helper/lib/lightwindow_helper.rb +0 -31
- data/vendor/plugins/redhillonrails_core/CHANGELOG +0 -150
- data/vendor/plugins/redhillonrails_core/README +0 -124
- data/vendor/plugins/redhillonrails_core/init.rb +0 -19
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/base.rb +0 -54
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/abstract_adapter.rb +0 -31
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/column.rb +0 -21
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/foreign_key_definition.rb +0 -26
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/index_definition.rb +0 -11
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/mysql_adapter.rb +0 -74
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/mysql_column.rb +0 -8
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/postgresql_adapter.rb +0 -99
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/schema_statements.rb +0 -16
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/sqlite3_adapter.rb +0 -9
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/table_definition.rb +0 -27
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/schema.rb +0 -27
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/schema_dumper.rb +0 -47
- data/vendor/plugins/transactional_migrations/CHANGELOG +0 -9
- data/vendor/plugins/transactional_migrations/MIT-LICENSE +0 -20
- data/vendor/plugins/transactional_migrations/README +0 -15
- data/vendor/plugins/transactional_migrations/about.yml +0 -5
- data/vendor/plugins/transactional_migrations/init.rb +0 -1
- data/vendor/plugins/transactional_migrations/lib/red_hill_consulting/transactional_migrations/active_record/migration.rb +0 -19
@@ -1,18 +1,18 @@
|
|
1
1
|
class WorksReportFilter < ReportFilter
|
2
|
-
attr_reader :
|
2
|
+
attr_reader :project_id
|
3
3
|
attr_reader :invoice
|
4
4
|
attr_reader :user_id
|
5
5
|
|
6
6
|
def initialize(attributes)
|
7
|
-
@
|
7
|
+
@project_id = nil
|
8
8
|
@invoice = nil
|
9
9
|
@user_id = nil
|
10
10
|
|
11
11
|
if attributes
|
12
12
|
attributes = attributes.clone
|
13
13
|
|
14
|
-
|
15
|
-
@
|
14
|
+
project_id_param = attributes.delete(:project_id)
|
15
|
+
@project_id = project_id_param.to_i if project_id_param && project_id_param.size > 0
|
16
16
|
|
17
17
|
invoice_param = attributes.delete(:invoice)
|
18
18
|
@invoice = invoice_param == 'true' if invoice_param && invoice_param.size > 0
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
3
3
|
<meta http-equiv="content-language" content="en" />
|
4
4
|
<meta name="description" content="<%=@page_title || @application_description%>" />
|
5
|
-
<meta name="keywords" content="
|
5
|
+
<meta name="keywords" content="project, project, project management, todo list, time sheet" />
|
6
6
|
<meta http-equiv="pragma" content="no-cache" />
|
7
7
|
<meta name="robots" content="index,follow" />
|
8
8
|
<meta name="rating" content="general" />
|
@@ -20,4 +20,5 @@
|
|
20
20
|
<%= javascript_include_tag "effects" %>
|
21
21
|
<%= javascript_include_tag "controls" %>
|
22
22
|
<%= javascript_include_tag "dragdrop" %>
|
23
|
+
<%= javascript_include_tag :defaults %>
|
23
24
|
<%#= javascript_include_tag "ruby" %>
|
@@ -1,30 +1,33 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
<% if user? %>
|
8
|
-
| <%= link_to l(:backlogs), :controller => 'backlogs', :action => :list %>
|
9
|
-
| <%= link_to l(:log_out), :controller => 'user', :action => :logout %>
|
10
|
-
<% else %>
|
11
|
-
| <%= detour_to l(:log_in), :controller => 'user', :action => :login %>
|
12
|
-
<% end %>
|
13
|
-
<!-- | <%= link_to l(:administration), :controller => 'administration', :action => :index %> -->
|
14
|
-
<% if user? %>| <%=link_to user.email, :controller => 'user', :action => :edit%><% end %>
|
15
|
-
</div>
|
16
|
-
<div id="header">
|
17
|
-
<%=render :partial => '/layouts/notice'%>
|
18
|
-
<%= error_messages_for :backlog %>
|
19
|
-
<%= error_messages_for :estimate %>
|
20
|
-
<%= error_messages_for :group %>
|
21
|
-
<%= error_messages_for :period %>
|
22
|
-
<%= error_messages_for :task %>
|
23
|
-
<%= error_messages_for :user %>
|
24
|
-
<%= error_messages_for :work %>
|
1
|
+
<form action="<%= url_for :controller => 'search', :action => :results %>">
|
2
|
+
<div id="navbar">
|
3
|
+
<span style="float: left"><%= link_to "#{l :project} #{APP::VERSION}", 'http://rubyforge.org/projects/project' %></span>
|
4
|
+
<span style="float: left"><%= text_field_tag :q, @search || l(:search), :onfocus => "if (value == '#{l(:search)}') value='' " %><%= submit_tag :search, :style => 'display: none' %></span>
|
5
|
+
<span style="float: left; margin-left: 5px; font-weight: bold"><%= Time.new.strftime('%Y-%m-%d %H:%M') %></span>
|
6
|
+
<%= link_to l(:home), url_for('/') %>
|
25
7
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
8
|
+
<% if user? %>
|
9
|
+
| <%= link_to l(:projects), :controller => 'projects', :action => :list %>
|
10
|
+
| <%= link_to l(:log_out), :controller => 'user', :action => :logout %>
|
11
|
+
<% else %>
|
12
|
+
| <%= detour_to l(:log_in), :controller => 'user', :action => :login %>
|
13
|
+
<% end %>
|
14
|
+
<!-- | <%= link_to l(:administration), :controller => 'administration', :action => :index %> -->
|
15
|
+
<% if user? %>| <%= link_to user.email, :controller => 'user', :action => :edit %>
|
16
|
+
<% end %>
|
17
|
+
</div>
|
18
|
+
</form>
|
19
|
+
<div id="header">
|
20
|
+
<%= render :partial => '/layouts/notice' %>
|
21
|
+
<%= error_messages_for :project %>
|
22
|
+
<%= error_messages_for :estimate %>
|
23
|
+
<%= error_messages_for :group %>
|
24
|
+
<%= error_messages_for :period %>
|
25
|
+
<%= error_messages_for :task %>
|
26
|
+
<%= error_messages_for :user %>
|
27
|
+
<%= error_messages_for :work %>
|
28
|
+
|
29
|
+
<div id="introtext">
|
30
|
+
<h1><%= @application_title %></h1>
|
31
|
+
<h3><%= @page_title || @application_description %></h3>
|
32
|
+
</div>
|
33
|
+
</div>
|
@@ -1,16 +1,22 @@
|
|
1
1
|
<% if @shortcuts %>
|
2
2
|
<div class="rblock">
|
3
3
|
<div class="btitle">
|
4
|
-
<h4><%=l :shortcuts %></h4>
|
4
|
+
<h4><%= l :shortcuts %></h4>
|
5
5
|
</div>
|
6
6
|
<table>
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
7
|
+
<% @shortcuts.each_with_index do |shortcut, index| %>
|
8
|
+
<% if shortcut[:options] %>
|
9
|
+
<tr>
|
10
|
+
<td valign="top"><%= shortcut[:key] %></td>
|
11
|
+
<td><%= detour_to l(shortcut[:function]), shortcut[:options], :id => shortcut[:function], :tabindex => index+100 %></td>
|
12
|
+
</tr>
|
13
|
+
<% else %>
|
14
|
+
<tr>
|
15
|
+
<td valign="top"><%= shortcut[:key] %></td>
|
16
|
+
<td><%= l shortcut[:function] %></td>
|
17
|
+
</tr>
|
18
|
+
<% end %>
|
19
|
+
<% end %>
|
14
20
|
</table>
|
15
21
|
</div>
|
16
|
-
|
22
|
+
<% end %>
|
@@ -1,11 +1,11 @@
|
|
1
|
-
|
1
|
+
<%=javascript_tag do %>
|
2
2
|
function handlePageEvent(event) {
|
3
3
|
if (event.altKey && event.shiftKey && event.charCode == 110) {
|
4
4
|
window.location = '<%=url_for(:controller => 'periods', :action => :new)%>';
|
5
5
|
} else if (event.altKey && event.ctrlKey && event.charCode == 110) {
|
6
|
-
window.location = '<%=url_for(:controller => '
|
6
|
+
window.location = '<%=url_for(:controller => 'projects', :action => :new ) %>';
|
7
7
|
} else if (event.altKey && event.charCode == 110) {
|
8
|
-
window.location = '<%=url_for(:controller => 'tasks', :action => :new, :task => {:
|
8
|
+
window.location = '<%=url_for(:controller => 'tasks', :action => :new, :task => {:project_id => (@project ? @project.id : nil), :period_id => (@period ? @period.id : nil)} ) %>';
|
9
9
|
} else if (event.altKey && event.ctrlKey && event.charCode == 103) {
|
10
10
|
window.location = '<%=url_for(:controller => 'groups', :action => :new ) %>';
|
11
11
|
} else if (event.shiftKey && event.altKey && event.charCode == 100) {
|
@@ -16,4 +16,4 @@ function handlePageEvent(event) {
|
|
16
16
|
//alert("shift: " + event.shiftKey + ", alt: " + event.altKey + ", ctrl: " + event.ctrlKey + ", " + event.charCode + ", " + event.keyCode);
|
17
17
|
}
|
18
18
|
}
|
19
|
-
|
19
|
+
<% end %>
|
@@ -0,0 +1,44 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
|
3
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
4
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
5
|
+
<head>
|
6
|
+
<%= render :partial => '/layouts/headers' %>
|
7
|
+
<%= render :partial => '/layouts/shortcuts_js' %>
|
8
|
+
</head>
|
9
|
+
|
10
|
+
<body onkeypress="handlePageEvent(event);">
|
11
|
+
<div id="wrap">
|
12
|
+
<div id="leftcol">
|
13
|
+
<%= render :partial => '/layouts/left_top' %>
|
14
|
+
<div id="content">
|
15
|
+
<%= yield %>
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
<div id="rightcol">
|
19
|
+
<%= render :partial => '/layouts/shortcuts' %>
|
20
|
+
<% @sidebars = @sidebar.blocks(@period) %>
|
21
|
+
<% if @sidebars %>
|
22
|
+
<% @sidebars.each do |sidebar| %>
|
23
|
+
<div class="rblock" id="sidebar_<%= sidebar[:id] %>">
|
24
|
+
<div class="btitle">
|
25
|
+
<% if sidebar[:options] %>
|
26
|
+
<h4><%= link_to h(sidebar[:title]), sidebar[:options] %></h4>
|
27
|
+
<% else %>
|
28
|
+
<h4><%= h(sidebar[:title]) %></h4>
|
29
|
+
<% end %>
|
30
|
+
</div>
|
31
|
+
<%= sidebar[:content] %>
|
32
|
+
</div>
|
33
|
+
<% end %>
|
34
|
+
<% end %>
|
35
|
+
</div>
|
36
|
+
<div id="footer">
|
37
|
+
<div id="footertext">Copyright © 2006 Kubosch Consulting | All Rights Reserved<br/>Design By
|
38
|
+
<a href="http://mywebresource.com" title="Design By MyWebResource">MyWebResource</a> |
|
39
|
+
<a href="http://validator.w3.org/check?uri=referer" title="W3C XHTML 1.0 Strict Compliant">W3C XHTML 1.0</a> |
|
40
|
+
<a href="http://jigsaw.w3.org/css-validator/" title="W3C CSS 2.0 Compliant">W3C CSS 2.0</a></div>
|
41
|
+
</div>
|
42
|
+
</div>
|
43
|
+
</body>
|
44
|
+
</html>
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<h4><%=l :burn_down_chart %></h4>
|
4
4
|
</div>
|
5
5
|
|
6
|
-
<%= link_to %Q{<img id="burn_down_chart" src="#{url_for(:controller => 'periods', :action => :burn_down_chart_thumbnail, :id => @period, :format => :png)}" alt="Burn down chart" />}, :controller => 'periods', :action => :burn_down_chart, :id => @period, :format => :png %>
|
6
|
+
<%= link_to %Q{<img id="burn_down_chart" src="#{url_for(:controller => 'periods', :action => :burn_down_chart_thumbnail, :id => @period, :format => :png)}" alt="Burn down chart" />}.html_safe, :controller => 'periods', :action => :burn_down_chart, :id => @period, :format => :png %>
|
7
7
|
|
8
8
|
|
9
9
|
</div>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<%=render :partial => 'title' %>
|
2
2
|
|
3
|
-
<!-- TODO: Insert
|
3
|
+
<!-- TODO: Insert project logo here
|
4
4
|
<img src="/images/blank.jpg" width="100" height="100" alt="Place An Alternate Description Here!" longdesc="image-description.txt" />
|
5
5
|
<a href="image-description.txt" class="dlink" title="Place An Alternate Description Here!"></a>
|
6
6
|
-->
|
@@ -33,14 +33,14 @@ function handleEvent(field, event, id) {
|
|
33
33
|
|
34
34
|
|
35
35
|
<div id="active_tasks"<%=' style="display: none;"' unless @tasks and not @tasks.empty?%>>
|
36
|
-
<%=render :partial => '/tasks/fields_header', :locals => { :
|
36
|
+
<%=render :partial => '/tasks/fields_header', :locals => { :project => nil, :active => true, :track_todo => @tasks.find {|t|t.period && t.period.active?}, :track_times => @tasks.find {|t|t.period && t.period.active?}, :track_done => @tasks.find {|t|t.period && t.period.active? }, :work_done => @tasks.find {|t| t.total_done > 0} } %>
|
37
37
|
<ul id="active_tasks_<%=@period.id%>" class="task_list">
|
38
38
|
<% max_depth = @tasks.map{|t|t.depth}.max %>
|
39
39
|
<% for task in @tasks -%>
|
40
40
|
<% next if @show_only_grabbed_tasks && !(task.users.empty? || task.users.include?(current_user))%>
|
41
41
|
<%=render :partial => '/tasks/task', :locals => { :task => task, :i => i,
|
42
42
|
:active => true, :highlight_task => (task == @selected_task),
|
43
|
-
:update => :spotlight, :
|
43
|
+
:update => :spotlight, :show_project => true, :hidden => false,
|
44
44
|
:max_depth => max_depth} %>
|
45
45
|
<% i += 1 %>
|
46
46
|
<% end -%>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<%=detour_to(image_tag(url_for(@period.party.to_sym.to_s + ".png"), :alt => l(@period.party.to_sym), :title => l(@period.party.to_sym), :class => 'image-submit'), :controller => @period.party.controller, :action => :edit, :id => @period.party) %>
|
7
7
|
|
8
8
|
<%=if @period.higher_item then link_to(image_tag(url_for("arrow_left.png"), :alt => "#{l :previous} #{l :period}", :title => "#{l :previous} #{l :period}", :class => 'image-submit'), :controller => 'periods', :action => :show, :id => @period.higher_item) end%>
|
9
|
-
<%=unless @period.passed? then detour_to(image_tag(url_for("add.png"), :alt => l(:add_task), :title => l(:add_task), :class => 'image-submit'), :controller => 'tasks', :action => 'new', :task => {:period_id => (@period ? @period.id : (@
|
9
|
+
<%=unless @period.passed? then detour_to(image_tag(url_for("add.png"), :alt => l(:add_task), :title => l(:add_task), :class => 'image-submit'), :controller => 'tasks', :action => 'new', :task => {:period_id => (@period ? @period.id : (@project && @project.periods.first ? @project.periods.first.id : nil))} ) end %>
|
10
10
|
<h4><%=h @period.name %> (<%=@period.start_on%> - <%=@period.end_on%>)
|
11
11
|
<% filter_style = {:style => 'float: none; vertical-align: bottom'} %>
|
12
12
|
<% if @show_only_grabbed_tasks %>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<%=image_link_to 'arrow_up.png', l(:
|
2
|
-
<%=image_detour_to('clipboard.png', l(:edit), :controller => '
|
3
|
-
<%=image_detour_to('hammer.png', l(:work), :controller => 'works', :action => :list, :report_filter => {:
|
4
|
-
<%=detour_to(image_tag(url_for("add.png"), :alt => l(:add_task), :title => l(:add_task), :class => 'image-submit'), :controller => 'tasks', :action => 'new', :task => {:
|
1
|
+
<%=image_link_to 'arrow_up.png', l(:projects), :action => :list %>
|
2
|
+
<%=image_detour_to('clipboard.png', l(:edit), :controller => 'projects', :action => :edit, :id => @project) unless controller.action_name == 'edit' %>
|
3
|
+
<%=image_detour_to('hammer.png', l(:work), :controller => 'works', :action => :list, :report_filter => {:project_id => @project.id}) %>
|
4
|
+
<%=detour_to(image_tag(url_for("add.png"), :alt => l(:add_task), :title => l(:add_task), :class => 'image-submit'), :controller => 'tasks', :action => 'new', :task => {:project_id => @project.id} ) %>
|
@@ -0,0 +1,44 @@
|
|
1
|
+
<!--[form:task]-->
|
2
|
+
<p>
|
3
|
+
<label for="project_name"><%=l :name%></label><br/>
|
4
|
+
<%= text_field 'project', 'name', :maxlength => 64 %>
|
5
|
+
</p>
|
6
|
+
|
7
|
+
<h3>Options</h3>
|
8
|
+
|
9
|
+
<p>
|
10
|
+
<%= check_box 'project', 'track_times' %>
|
11
|
+
<label for="project_track_times"><%=l :track_times%></label>
|
12
|
+
</p>
|
13
|
+
|
14
|
+
<p>
|
15
|
+
<%= check_box 'project', 'track_todo' %>
|
16
|
+
<label for="project_track_todo"><%=l :track_todo%></label>
|
17
|
+
</p>
|
18
|
+
|
19
|
+
<p>
|
20
|
+
<%= check_box 'project', 'enable_subtasks' %>
|
21
|
+
<label for="project_enable_subtasks"><%=l :enable_subtasks%></label>
|
22
|
+
</p>
|
23
|
+
|
24
|
+
<p>
|
25
|
+
<%= check_box 'project', 'enable_periods' %>
|
26
|
+
<label for="project_enable_periods"><%=l :enable_periods%></label>
|
27
|
+
</p>
|
28
|
+
|
29
|
+
<p>
|
30
|
+
<%= check_box 'project', 'enable_customer' %>
|
31
|
+
<label for="project_enable_customer"><%=l :enable_customer%></label>
|
32
|
+
</p>
|
33
|
+
|
34
|
+
<p>
|
35
|
+
<%= check_box 'project', 'enable_users' %>
|
36
|
+
<label for="project_enable_users"><%=l :enable_users%></label>
|
37
|
+
</p>
|
38
|
+
|
39
|
+
<!--[eoform:task]-->
|
40
|
+
|
41
|
+
|
42
|
+
<script type="text/JavaScript">
|
43
|
+
document.getElementById('project_name').focus();
|
44
|
+
</script>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<% @page_title = "#{l(:editing)} #{l(:project)}" %>
|
2
|
+
|
3
|
+
<div id="spotlight">
|
4
|
+
<div class="btitle">
|
5
|
+
<%=render :partial => 'buttons'%>
|
6
|
+
<h4><%=@project.name%></h4>
|
7
|
+
</div>
|
8
|
+
|
9
|
+
<% form_tag :action => 'update', :id => @project do %>
|
10
|
+
<%=render :partial => 'form' %>
|
11
|
+
<%=submit_tag l(:save) %>
|
12
|
+
<%=back_or_link_to l(:back), :action => 'show', :id => @project %>
|
13
|
+
<% end %>
|
14
|
+
</div>
|
File without changes
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<% @page_title = "#{l(:listing)} #{l(:projects)}" %>
|
2
|
+
|
3
|
+
<div id="spotlight">
|
4
|
+
<div class="btitle">
|
5
|
+
<h4><%=l :projects%></h4>
|
6
|
+
</div>
|
7
|
+
|
8
|
+
<table>
|
9
|
+
<% i = 0 %>
|
10
|
+
<% for @project in @projects %>
|
11
|
+
<tr>
|
12
|
+
<td><%=link_to @project.name, :action => :show, :id => @project.id%></td>
|
13
|
+
</tr>
|
14
|
+
<% end %>
|
15
|
+
</table>
|
16
|
+
</div>
|
File without changes
|
File without changes
|
@@ -1,9 +1,9 @@
|
|
1
|
-
<%@page_title = @
|
1
|
+
<%@page_title = @project.name %>
|
2
2
|
<div id="spotlight">
|
3
3
|
<div class="btitle">
|
4
4
|
<%=render :partial => 'buttons' %><h4><%=l :tasks %></h4>
|
5
5
|
</div>
|
6
|
-
<div id="active_tasks"<%=' style="display: none;"' unless @tasks and not @tasks.empty? %>>
|
6
|
+
<div id="active_tasks"<%=' style="display: none;"'.html_safe unless @tasks and not @tasks.empty? %>>
|
7
7
|
<%i = 0 %>
|
8
8
|
<% periods = @tasks.map {|t| t.period}.uniq %>
|
9
9
|
<% list_ids = periods.map {|period| "active_tasks_#{period && period.id}"} %>
|
@@ -11,11 +11,11 @@
|
|
11
11
|
<% tasks_in_period = @tasks.select {|t| t.period_id == (period && period.id)} %>
|
12
12
|
<% work_done = !tasks_in_period.find{|t| t.total_done > 0}.nil? %>
|
13
13
|
<div id="active_period_<%=period && period.id%>">
|
14
|
-
<%=render :partial => '/tasks/period_header', :locals => {:period => period} if @
|
15
|
-
<%=render :partial => '/tasks/fields_header', :locals => {:
|
14
|
+
<%=render :partial => '/tasks/period_header', :locals => {:period => period} if @project.enable_periods %>
|
15
|
+
<%=render :partial => '/tasks/fields_header', :locals => {:project => @project, :active => true, :track_todo => @project.track_todo?, :track_done => @project.track_done?, :track_times => tasks_in_period.find {|t|t.period && t.period.active?}, :work_done => work_done} %>
|
16
16
|
<ul id="active_tasks_<%=period && period.id%>" class="task_list">
|
17
17
|
<%for @task in tasks_in_period %>
|
18
|
-
<%=render :partial => '/tasks/task/', :locals => {:task => @task, :i => i += 1, :active => true, :highlight_task => false, :update => :maincontent, :
|
18
|
+
<%=render :partial => '/tasks/task/', :locals => {:task => @task, :i => i += 1, :active => true, :highlight_task => false, :update => :maincontent, :show_project => false, :hidden => false} %>
|
19
19
|
<%end %>
|
20
20
|
</ul>
|
21
21
|
</div>
|
@@ -25,7 +25,7 @@
|
|
25
25
|
<%=sortable_element list_id, :url => { :action => :order }, :containment => list_ids, :constraint => false, :dropOnEmpty => true %>
|
26
26
|
<% end %>
|
27
27
|
<p id="no_tasks_message"<%=' style="display: none;"' if @tasks and not @tasks.empty? %>>
|
28
|
-
<%=l :
|
28
|
+
<%=l :no_pending_tasks_in_project %>
|
29
29
|
</p>
|
30
30
|
<%=back_or_link_to(l(:back)) %>
|
31
31
|
</div>
|
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
<div id="lfeature">
|
4
4
|
<div class="btitle">
|
5
|
-
<h4><%=l(:
|
5
|
+
<h4><%=l(:projects) %></h4>
|
6
6
|
</div>
|
7
7
|
<ul>
|
8
|
-
<% @
|
9
|
-
<li><%=link_to
|
8
|
+
<% @projects.each do |project| %>
|
9
|
+
<li><%=link_to project.name, :controller => 'projects', :action => :show, :id => project%></li>
|
10
10
|
<% end %>
|
11
11
|
</ul>
|
12
12
|
</div>
|
@@ -1,14 +1,14 @@
|
|
1
|
-
<% @
|
1
|
+
<% @project = project %>
|
2
2
|
|
3
3
|
<div valign="top">
|
4
4
|
<div>
|
5
5
|
<span style="float: left">
|
6
|
-
<%=image_detour_to('add.png', l(:new_task), :controller => 'tasks', :action => :new, :task => {:
|
6
|
+
<%=image_detour_to('add.png', l(:new_task), :controller => 'tasks', :action => :new, :task => {:project_id => @project.id, :period_id => @period && @period.id})%>
|
7
7
|
</span>
|
8
8
|
<span colspan="4" style="float: left; vertical-align: middle">
|
9
9
|
<h5>
|
10
|
-
<%=detour_to(h(
|
11
|
-
<%=image_detour_to('clipboard.png', l(:edit), :controller => '
|
10
|
+
<%=detour_to(h(project.name), :controller => 'projects', :action => :show, :id => @project) %>
|
11
|
+
<%=image_detour_to('clipboard.png', l(:edit), :controller => 'projects', :action => :edit, :id => @project.id)%>
|
12
12
|
</h5>
|
13
13
|
</span>
|
14
14
|
<span style="float: left" width="*"/>
|
@@ -4,12 +4,12 @@
|
|
4
4
|
<% work_done = !tasks_in_period.find{|t| t.total_done != 0}.nil? %>
|
5
5
|
<div id="completed_period_<%=period && period.id%>">
|
6
6
|
<%=render :partial => '/tasks/period_header', :locals => {:period => period} unless @completed_tasks.map(&:period).uniq.size == 1 %>
|
7
|
-
<%=render :partial => '/tasks/fields_header', :locals => {:
|
7
|
+
<%=render :partial => '/tasks/fields_header', :locals => {:project => @project, :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
10
|
<%=render :partial => '/tasks/task', :locals => { :task => task, :i => i, :active => false,
|
11
11
|
:highlight_task => task == @selected_task, :hidden => false,
|
12
|
-
:
|
12
|
+
:show_project => controller.class != ProjectsController, :update => :spotlight } %>
|
13
13
|
<% i += 1 %>
|
14
14
|
<% end %>
|
15
15
|
</ul>
|