backlog 0.36.2 → 0.37.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.
Files changed (250) hide show
  1. data/Gemfile +16 -4
  2. data/Gemfile.lock +130 -0
  3. data/History.txt +17 -0
  4. data/README.txt +0 -2
  5. data/Rakefile +17 -7
  6. data/app/controllers/absences_controller.rb +1 -2
  7. data/app/controllers/application_controller.rb +13 -14
  8. data/app/controllers/application_controller.rb.rails2 +186 -0
  9. data/app/controllers/estimates_controller.rb +1 -1
  10. data/app/controllers/groups_controller.rb +3 -1
  11. data/app/controllers/periods_controller.rb +61 -50
  12. data/app/controllers/{backlogs_controller.rb → projects_controller.rb} +35 -35
  13. data/app/controllers/search_controller.rb +2 -2
  14. data/app/controllers/tasks_controller.rb +11 -11
  15. data/app/controllers/user_controller.rb +6 -4
  16. data/app/controllers/welcome_controller.rb +4 -4
  17. data/app/controllers/work_locks_controller.rb +2 -2
  18. data/app/controllers/works_controller.rb +31 -31
  19. data/app/helpers/application_helper.rb +2 -2
  20. data/app/helpers/application_helper.rb.rails2 +118 -0
  21. data/app/helpers/periods_helper.rb +3 -3
  22. data/app/helpers/{backlogs_helper.rb → projects_helper.rb} +5 -5
  23. data/app/helpers/user_helper.rb +2 -2
  24. data/app/{models → mailers}/user_notify.rb +1 -0
  25. data/app/models/absence.rb +2 -2
  26. data/{lib → app/models}/clock.rb +0 -0
  27. data/app/models/estimate.rb +2 -2
  28. data/app/models/party.rb +1 -2
  29. data/app/models/period.rb +17 -18
  30. data/app/models/{backlog.rb → project.rb} +2 -2
  31. data/app/models/sidebar.rb +2 -2
  32. data/app/models/task.rb +28 -28
  33. data/app/models/user.rb +5 -4
  34. data/app/models/work.rb +29 -23
  35. data/app/models/work_lock_nagger.rb +1 -1
  36. data/app/models/works_report_filter.rb +4 -4
  37. data/app/views/customers/_name_list.rhtml +1 -1
  38. data/app/views/layouts/_headers.rhtml +2 -1
  39. data/app/views/layouts/_left_top.rhtml +32 -29
  40. data/app/views/layouts/_shortcuts.rhtml +15 -9
  41. data/app/views/layouts/_shortcuts_js.rhtml +4 -4
  42. data/app/views/layouts/mwrt002.html.erb +44 -0
  43. data/app/views/periods/_burn_down_chart.rhtml +1 -1
  44. data/app/views/periods/_show_active.rhtml +3 -3
  45. data/app/views/periods/_title.rhtml +1 -1
  46. data/app/views/{backlogs → projects}/_buttons.rhtml +4 -4
  47. data/app/views/projects/_form.rhtml +44 -0
  48. data/app/views/projects/_name_list.rhtml +5 -0
  49. data/app/views/projects/edit.rhtml +14 -0
  50. data/app/views/{backlogs → projects}/finish_task.rjs +0 -0
  51. data/app/views/projects/list.rhtml +16 -0
  52. data/app/views/{backlogs → projects}/move_task_to_period.rjs +0 -0
  53. data/app/views/{backlogs → projects}/new.rhtml +1 -1
  54. data/app/views/{backlogs → projects}/reopen_task.rjs +0 -0
  55. data/app/views/{backlogs → projects}/show.rhtml +6 -6
  56. data/app/views/search/results.rhtml +3 -3
  57. data/app/views/tasks/_backlog_header.rhtml +4 -4
  58. data/app/views/tasks/_completed.rhtml +2 -2
  59. data/app/views/tasks/_form.rhtml +13 -13
  60. data/app/views/tasks/_task.rhtml +10 -10
  61. data/app/views/tasks/edit.rhtml +1 -1
  62. data/app/views/tasks/list.rhtml +3 -3
  63. data/app/views/tasks/list_started.rhtml +4 -4
  64. data/app/views/tasks/start_work.rjs +1 -1
  65. data/app/views/user/login.rhtml +1 -1
  66. data/app/views/user/signup.rhtml +1 -1
  67. data/app/views/user/welcome.rhtml +1 -1
  68. data/app/views/works/_description_list.rhtml +1 -1
  69. data/app/views/works/_form.rhtml +5 -5
  70. data/app/views/works/_new_row.rhtml +8 -8
  71. data/app/views/works/_row.rhtml +1 -1
  72. data/app/views/works/_task_id_list.rhtml +1 -1
  73. data/app/views/works/daily_work_sheet.rhtml +1 -1
  74. data/app/views/works/list.rhtml +5 -5
  75. data/app/views/works/list_excel.rhtml +2 -2
  76. data/app/views/works/timeliste.rhtml +14 -14
  77. data/app/views/works/weekly_work_sheet.rhtml +5 -5
  78. data/app/views/works/weekly_work_sheet_details.rhtml +5 -5
  79. data/backlog.gemspec +44 -0
  80. data/bin/backlog +5 -1
  81. data/config.ru +4 -0
  82. data/config/application.rb +10 -0
  83. data/config/boot.rb +12 -116
  84. data/config/database.yml +3 -6
  85. data/config/database.yml~ +17 -0
  86. data/config/environment.rb +28 -49
  87. data/config/environments/development.rb +24 -20
  88. data/config/environments/development.rb.rails2 +26 -0
  89. data/config/environments/production.rb +26 -22
  90. data/config/environments/test.rb +20 -15
  91. data/config/environments/user_environment.rb +1 -1
  92. data/config/initializers/backtrace_silencers.rb +7 -0
  93. data/config/initializers/inflections.rb +10 -0
  94. data/config/initializers/jdbc.rb +1 -1
  95. data/config/initializers/mime_types.rb +5 -0
  96. data/config/initializers/secret_token.rb +7 -0
  97. data/config/initializers/session_store.rb +8 -0
  98. data/config/locales/en.yml +22 -11
  99. data/config/locales/no.yml +1 -0
  100. data/config/routes.rb +4 -5
  101. data/cruise_build.sh +6 -2
  102. data/db/migrate/004_add_period.rb +22 -22
  103. data/db/migrate/015_add_user_option.rb +5 -19
  104. data/db/migrate/017_increase_backlog_name_limit.rb +10 -0
  105. data/db/migrate/021_create_work_accounts.rb +0 -2
  106. data/db/migrate/20101006092700_rename_backlogs_to_projects.rb +22 -0
  107. data/db/migrate/20101006092700_rename_backlogs_to_projects.rb~ +22 -0
  108. data/db/schema.rb +27 -30
  109. data/db/seeds.rb +7 -0
  110. data/lib/array_helper.rb +0 -8
  111. data/lib/class_table_inheritance.rb +8 -7
  112. data/lib/tasks/backup.rake +3 -3
  113. data/lib/tasks/jdbc.rake +2 -2
  114. data/lib/version_from_history.rb +1 -1
  115. data/public/404.html +23 -7
  116. data/public/422.html +26 -0
  117. data/public/500.html +23 -6
  118. data/public/images/rails.png +0 -0
  119. data/public/javascripts/controls.js +5 -3
  120. data/public/javascripts/dragdrop.js +7 -6
  121. data/public/javascripts/effects.js +8 -13
  122. data/public/javascripts/prototype.js +3381 -1700
  123. data/public/javascripts/rails.js +175 -0
  124. data/public/robots.txt +5 -1
  125. data/script/rails +6 -0
  126. data/test/client/login.rb +0 -2
  127. data/test/client/login_test.rb +1 -1
  128. data/test/client/setup.rb +25 -24
  129. data/test/fixtures/{backlogs.yml → projects.yml} +2 -2
  130. data/test/fixtures/tasks.yml +9 -9
  131. data/test/fixtures/work_lock_subscriptions.yml +2 -2
  132. data/test/fixtures/works.yml +7 -7
  133. data/test/functional/periods_controller_test.rb +1 -1
  134. data/test/functional/{backlogs_controller_test.rb → projects_controller_test.rb} +22 -21
  135. data/test/functional/search_controller_test.rb +1 -1
  136. data/test/functional/tasks_controller_test.rb +17 -17
  137. data/test/functional/user_controller_test.rb +16 -21
  138. data/test/functional/welcome_controller_test.rb +4 -3
  139. data/test/functional/works_controller_test.rb +5 -5
  140. data/test/integration/user_system_test.rb +1 -1
  141. data/test/mocks/test/clock.rb +1 -1
  142. data/test/performance/browsing_test.rb +9 -0
  143. data/test/performance/common.rb +1 -1
  144. data/test/test_helper.rb +23 -6
  145. data/test/test_helper.rb~ +121 -0
  146. data/test/unit/user_test.rb +3 -3
  147. data/test/unit/work_test.rb +7 -7
  148. data/vendor/plugins/assert_cookie/lib/assert_cookie.rb +0 -2
  149. data/vendor/plugins/{foreign_key_migrations → dynamic_form}/MIT-LICENSE +1 -1
  150. data/vendor/plugins/dynamic_form/README +13 -0
  151. data/vendor/plugins/dynamic_form/Rakefile +10 -0
  152. data/vendor/plugins/dynamic_form/dynamic_form.gemspec +12 -0
  153. data/vendor/plugins/dynamic_form/init.rb +1 -0
  154. data/vendor/plugins/dynamic_form/lib/action_view/helpers/dynamic_form.rb +300 -0
  155. data/vendor/plugins/dynamic_form/lib/action_view/locale/en.yml +8 -0
  156. data/vendor/plugins/dynamic_form/lib/dynamic_form.rb +5 -0
  157. data/vendor/plugins/dynamic_form/test/dynamic_form_i18n_test.rb +42 -0
  158. data/vendor/plugins/dynamic_form/test/dynamic_form_test.rb +370 -0
  159. data/vendor/plugins/dynamic_form/test/test_helper.rb +9 -0
  160. data/vendor/plugins/prototype_legacy_helper/lib/prototype_legacy_helper.rb +432 -0
  161. data/vendor/plugins/prototype_legacy_helper/test/test_prototype_helper.rb +297 -0
  162. data/vendor/plugins/rails_time/test/debug.log +1 -0
  163. data/vendor/plugins/{redhillonrails_core → verification}/MIT-LICENSE +1 -1
  164. data/vendor/plugins/verification/README +34 -0
  165. data/vendor/plugins/verification/Rakefile +22 -0
  166. data/vendor/plugins/verification/init.rb +3 -0
  167. data/vendor/plugins/verification/lib/action_controller/verification.rb +132 -0
  168. data/vendor/plugins/verification/test/test_helper.rb +18 -0
  169. data/vendor/plugins/verification/test/verification_test.rb +270 -0
  170. data/vendor/plugins/will_paginate/lib/will_paginate/collection.rb +1 -1
  171. metadata +115 -134
  172. data/Gemfile~ +0 -4
  173. data/History.txt~ +0 -961
  174. data/LICENSE_LOCALIZATION +0 -20
  175. data/README_LOCALIZATION +0 -61
  176. data/README_RAILS +0 -180
  177. data/app/views/backlogs/_form.rhtml +0 -44
  178. data/app/views/backlogs/_name_list.rhtml +0 -5
  179. data/app/views/backlogs/edit.rhtml +0 -14
  180. data/app/views/backlogs/list.rhtml +0 -16
  181. data/app/views/layouts/mwrt002.rhtml +0 -43
  182. data/config/initializers/mongrel.rb +0 -83
  183. data/config/preinitializer.rb +0 -20
  184. data/config/warble.rb~ +0 -84
  185. data/db/migrate/017_insert_datek_projects.rb +0 -98
  186. data/lib/change_column_null_migration_fix.rb +0 -15
  187. data/no_test.rb~ +0 -6
  188. data/public/dispatch.cgi +0 -10
  189. data/public/dispatch.fcgi +0 -24
  190. data/public/dispatch.rb +0 -10
  191. data/script/about +0 -3
  192. data/script/breakpointer +0 -3
  193. data/script/console +0 -3
  194. data/script/dbconsole +0 -3
  195. data/script/destroy +0 -3
  196. data/script/generate +0 -3
  197. data/script/performance/benchmarker +0 -3
  198. data/script/performance/profiler +0 -3
  199. data/script/plugin +0 -3
  200. data/script/process/inspector +0 -3
  201. data/script/process/reaper +0 -3
  202. data/script/process/spawner +0 -3
  203. data/script/runner +0 -3
  204. data/script/server +0 -3
  205. data/test/client/login.rb~ +0 -33
  206. data/test/mocks/test/user_notify.rb +0 -16
  207. data/vendor/plugins/foreign_key_migrations/CHANGELOG +0 -103
  208. data/vendor/plugins/foreign_key_migrations/README +0 -87
  209. data/vendor/plugins/foreign_key_migrations/about.yml +0 -5
  210. data/vendor/plugins/foreign_key_migrations/init.rb +0 -1
  211. data/vendor/plugins/foreign_key_migrations/install.rb +0 -1
  212. data/vendor/plugins/foreign_key_migrations/lib/foreign_key_migrations.rb +0 -3
  213. data/vendor/plugins/foreign_key_migrations/lib/red_hill_consulting/foreign_key_migrations/active_record/base.rb +0 -22
  214. data/vendor/plugins/foreign_key_migrations/lib/red_hill_consulting/foreign_key_migrations/active_record/connection_adapters/abstract_adapter.rb +0 -22
  215. data/vendor/plugins/foreign_key_migrations/lib/red_hill_consulting/foreign_key_migrations/active_record/connection_adapters/table_definition.rb +0 -28
  216. data/vendor/plugins/lightwindow_helper/README +0 -33
  217. data/vendor/plugins/lightwindow_helper/assets/images/ajax-loading.gif +0 -0
  218. data/vendor/plugins/lightwindow_helper/assets/images/arrow-down.gif +0 -0
  219. data/vendor/plugins/lightwindow_helper/assets/images/arrow-up.gif +0 -0
  220. data/vendor/plugins/lightwindow_helper/assets/images/black-70.png +0 -0
  221. data/vendor/plugins/lightwindow_helper/assets/images/black.png +0 -0
  222. data/vendor/plugins/lightwindow_helper/assets/images/nextlabel.gif +0 -0
  223. data/vendor/plugins/lightwindow_helper/assets/images/prevlabel.gif +0 -0
  224. data/vendor/plugins/lightwindow_helper/assets/javascripts/lightwindow.js +0 -1921
  225. data/vendor/plugins/lightwindow_helper/assets/stylesheets/lightwindow.css +0 -376
  226. data/vendor/plugins/lightwindow_helper/init.rb +0 -1
  227. data/vendor/plugins/lightwindow_helper/install.rb +0 -7
  228. data/vendor/plugins/lightwindow_helper/lib/lightwindow_helper.rb +0 -31
  229. data/vendor/plugins/redhillonrails_core/CHANGELOG +0 -150
  230. data/vendor/plugins/redhillonrails_core/README +0 -124
  231. data/vendor/plugins/redhillonrails_core/init.rb +0 -19
  232. data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/base.rb +0 -54
  233. data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/abstract_adapter.rb +0 -31
  234. data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/column.rb +0 -21
  235. data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/foreign_key_definition.rb +0 -26
  236. data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/index_definition.rb +0 -11
  237. data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/mysql_adapter.rb +0 -74
  238. data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/mysql_column.rb +0 -8
  239. data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/postgresql_adapter.rb +0 -99
  240. data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/schema_statements.rb +0 -16
  241. data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/sqlite3_adapter.rb +0 -9
  242. data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/table_definition.rb +0 -27
  243. data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/schema.rb +0 -27
  244. data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/schema_dumper.rb +0 -47
  245. data/vendor/plugins/transactional_migrations/CHANGELOG +0 -9
  246. data/vendor/plugins/transactional_migrations/MIT-LICENSE +0 -20
  247. data/vendor/plugins/transactional_migrations/README +0 -15
  248. data/vendor/plugins/transactional_migrations/about.yml +0 -5
  249. data/vendor/plugins/transactional_migrations/init.rb +0 -1
  250. data/vendor/plugins/transactional_migrations/lib/red_hill_consulting/transactional_migrations/active_record/migration.rb +0 -19
@@ -0,0 +1,26 @@
1
+ # Settings specified here will take precedence over those in config/environment.rb
2
+
3
+ # In the development environment your application's code is reloaded on
4
+ # every request. This slows down response time but is perfect for development
5
+ # since you don't have to restart the webserver when you make code changes.
6
+ config.cache_classes = false
7
+
8
+ # Log error messages when you accidentally call methods on nil.
9
+ config.whiny_nils = true
10
+
11
+ # Show full error reports and disable caching
12
+ config.action_controller.consider_all_requests_local = true
13
+ config.action_controller.perform_caching = false
14
+ config.action_view.debug_rjs = true
15
+
16
+ # Raise exceptions when mailer fails
17
+ config.action_mailer.raise_delivery_errors = true
18
+
19
+ ActionMailer::Base.delivery_method = :sendmail
20
+
21
+ #ActionMailer::Base.delivery_method = :smtp
22
+ #ActionMailer::Base.smtp_settings = {
23
+ # :address => "localhost",
24
+ # :port => 25,
25
+ # :domain => 'localdomain'
26
+ #}
@@ -1,29 +1,33 @@
1
- # Settings specified here will take precedence over those in config/environment.rb
1
+ Backlog::Application.configure do
2
+ # Settings specified here will take precedence over those in config/environment.rb
2
3
 
3
- # The production environment is meant for finished, "live" apps.
4
- # Code is not reloaded between requests
5
- config.cache_classes = true
4
+ # The production environment is meant for finished, "live" apps.
5
+ # Code is not reloaded between requests
6
+ config.serve_static_assets = true
7
+ config.cache_classes = true
6
8
 
7
- # Use a different logger for distributed setups
8
- # config.logger = SyslogLogger.new
9
+ # Use a different logger for distributed setups
10
+ # config.logger = SyslogLogger.new
9
11
 
10
- # Full error reports are disabled and caching is turned on
11
- config.action_controller.consider_all_requests_local = false
12
- config.action_controller.perform_caching = true
12
+ # Full error reports are disabled and caching is turned on
13
+ config.action_controller.consider_all_requests_local = false
14
+ config.action_controller.perform_caching = true
13
15
 
14
- # Enable serving of images, stylesheets, and javascripts from an asset server
15
- # config.action_controller.asset_host = "http://assets.example.com"
16
+ # Enable serving of images, stylesheets, and javascripts from an asset server
17
+ # config.action_controller.asset_host = "http://assets.example.com"
16
18
 
17
- # Disable delivery errors if you bad email addresses should just be ignored
18
- config.action_mailer.raise_delivery_errors = true
19
+ # Disable delivery errors if you bad email addresses should just be ignored
20
+ config.action_mailer.raise_delivery_errors = true
19
21
 
20
- puts "Using sendmail to send mail"
21
- ActionMailer::Base.delivery_method = :sendmail
22
+ puts "Using sendmail to send mail"
23
+ ActionMailer::Base.delivery_method = :sendmail
22
24
 
23
- #puts "Using sendmail to send mail"
24
- #ActionMailer::Base.delivery_method = :smtp
25
- #ActionMailer::Base.smtp_settings = {
26
- # :address => "localhost",
27
- # :port => 25,
28
- # :domain => 'localdomain'
29
- #}
25
+ #puts "Using sendmail to send mail"
26
+ #ActionMailer::Base.delivery_method = :smtp
27
+ #ActionMailer::Base.smtp_settings = {
28
+ # :address => "localhost",
29
+ # :port => 25,
30
+ # :domain => 'localdomain'
31
+ #}
32
+ config.active_support.deprecation = :notify
33
+ end
@@ -1,19 +1,24 @@
1
- # Settings specified here will take precedence over those in config/environment.rb
1
+ Backlog::Application.configure do
2
+ # Settings specified here will take precedence over those in config/environment.rb
2
3
 
3
- # The test environment is used exclusively to run your application's
4
- # test suite. You never need to work with it otherwise. Remember that
5
- # your test database is "scratch space" for the test suite and is wiped
6
- # and recreated between test runs. Don't rely on the data there!
7
- config.cache_classes = true
4
+ # The test environment is used exclusively to run your application's
5
+ # test suite. You never need to work with it otherwise. Remember that
6
+ # your test database is "scratch space" for the test suite and is wiped
7
+ # and recreated between test runs. Don't rely on the data there!
8
+ config.serve_static_assets = true
9
+ config.cache_classes = true
8
10
 
9
- # Log error messages when you accidentally call methods on nil.
10
- config.whiny_nils = true
11
+ # Log error messages when you accidentally call methods on nil.
12
+ config.whiny_nils = true
11
13
 
12
- # Show full error reports and disable caching
13
- config.action_controller.consider_all_requests_local = true
14
- config.action_controller.perform_caching = false
14
+ # Show full error reports and disable caching
15
+ config.consider_all_requests_local = true
16
+ config.action_controller.perform_caching = false
15
17
 
16
- # Tell ActionMailer not to deliver emails to the real world.
17
- # The :test delivery method accumulates sent emails in the
18
- # ActionMailer::Base.deliveries array.
19
- config.action_mailer.delivery_method = :test
18
+ # Tell ActionMailer not to deliver emails to the real world.
19
+ # The :test delivery method accumulates sent emails in the
20
+ # ActionMailer::Base.deliveries array.
21
+ config.action_mailer.delivery_method = :test
22
+ config.active_support.deprecation = :stderr
23
+ config.autoload_paths.unshift "#{Rails.root}/test/mocks/test"
24
+ end
@@ -16,6 +16,6 @@ module UserSystem
16
16
  :mail_charset => 'utf-8',
17
17
 
18
18
  # Security token lifetime in hours
19
- :security_token_life_hours => 24 * 365,
19
+ :security_token_life_hours => 24,
20
20
  }
21
21
  end
@@ -0,0 +1,7 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
4
+ # Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
5
+
6
+ # You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
7
+ # Rails.backtrace_cleaner.remove_silencers!
@@ -0,0 +1,10 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Add new inflection rules using the following format
4
+ # (all these examples are active by default):
5
+ # ActiveSupport::Inflector.inflections do |inflect|
6
+ # inflect.plural /^(ox)$/i, '\1en'
7
+ # inflect.singular /^(ox)en/i, '\1'
8
+ # inflect.irregular 'person', 'people'
9
+ # inflect.uncountable %w( fish sheep )
10
+ # end
@@ -4,4 +4,4 @@
4
4
  # This file allows the JDBC drivers to be hooked into ActiveRecord
5
5
  # such that you don't have to change anything else in your Rails
6
6
  # application.
7
- require 'jdbc_adapter' if defined?(JRUBY_VERSION)
7
+ require 'arjdbc' if defined?(JRUBY_VERSION)
@@ -0,0 +1,5 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Add new mime types for use in respond_to blocks:
4
+ # Mime::Type.register "text/richtext", :rtf
5
+ # Mime::Type.register_alias "text/html", :iphone
@@ -0,0 +1,7 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Your secret key for verifying the integrity of signed cookies.
4
+ # If you change this key, all old signed cookies will become invalid!
5
+ # Make sure the secret is at least 30 characters and all random,
6
+ # no regular words or you'll be exposed to dictionary attacks.
7
+ Backlog::Application.config.secret_token = 'c99338d64c0057c7dd914d34dc36a5666a2dbf7855f7981542df6a00ef46c5e8986024b187ab7f80df5242c6c0e2accd6cfd52df99a9ec5d4e8c98e1214d375d'
@@ -0,0 +1,8 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ Backlog::Application.config.session_store :cookie_store, :key => '_backlog_session'
4
+
5
+ # Use the database for sessions instead of the cookie-based default,
6
+ # which shouldn't be used to store highly confidential information
7
+ # (create the session table with "rake db:sessions:create")
8
+ # Backlog::Application.config.session_store :active_record_store
@@ -11,16 +11,16 @@ en:
11
11
  accepted: "must be accepted"
12
12
  empty: "can't be empty"
13
13
  blank: "can't be blank"
14
- too_long: "is too long (maximum is {{count}} characters)"
15
- too_short: "is too short (minimum is {{count}} characters)"
16
- wrong_length: "is the wrong length (should be {{count}} characters)"
14
+ too_long: "is too long (maximum is %{count} characters)"
15
+ too_short: "is too short (minimum is %{count} characters)"
16
+ wrong_length: "is the wrong length (should be %{count} characters)"
17
17
  taken: "has already been taken"
18
18
  not_a_number: "is not a number"
19
- greater_than: "must be greater than {{count}}"
20
- greater_than_or_equal_to: "must be greater than or equal to {{count}}"
21
- equal_to: "must be equal to {{count}}"
22
- less_than: "must be less than {{count}}"
23
- less_than_or_equal_to: "must be less than or equal to {{count}}"
19
+ greater_than: "must be greater than %{count}"
20
+ greater_than_or_equal_to: "must be greater than or equal to %{count}"
21
+ equal_to: "must be equal to %{count}"
22
+ less_than: "must be less than %{count}"
23
+ less_than_or_equal_to: "must be less than or equal to %{count}"
24
24
  odd: "must be odd"
25
25
  even: "must be even"
26
26
  # Append your own errors here or at the model/attributes scope.
@@ -31,7 +31,7 @@ en:
31
31
  # For example,
32
32
  # models:
33
33
  # user:
34
- # blank: "This is a custom blank message for {{model}}: {{attribute}}"
34
+ # blank: "This is a custom blank message for %{model}: %{attribute}"
35
35
  # attributes:
36
36
  # login:
37
37
  # blank: "This is a custom blank message for User login"
@@ -44,6 +44,7 @@ en:
44
44
  absent: Absent
45
45
  account: Account
46
46
  active: Active
47
+ add_task: Add task
47
48
  administration: Administration
48
49
  all: All
49
50
  all_accounts: all accounts
@@ -102,6 +103,7 @@ en:
102
103
  invoice_code: Invoice Code
103
104
  invoice_short: Inv.
104
105
  left: Left
106
+ listing: Listing
105
107
  listing_works: Recorded work
106
108
  lock: Lock
107
109
  log_in: Log in
@@ -118,14 +120,17 @@ en:
118
120
  new_customer: Add new customer
119
121
  new_group: Form new group
120
122
  new_period: Add new sprint
123
+ new_project: Start new project
121
124
  new_task: Add new task
122
125
  new_work: Add new work record
123
126
  new_work_account: Add new work account
124
127
  next: Next
128
+ next_day: Next day
129
+ next_week: Next week
125
130
  no: No
126
131
  no_backlog: No Backlog
127
132
  no_pending_tasks: There are no pending tasks in this sprint.
128
- no_pending_tasks_in_backlog: There are no pending tasks in this backlog.
133
+ no_pending_tasks_in_project: There are no pending tasks in this backlog.
129
134
  not_grabbed: Not grabbed by anyone
130
135
  notes: Notes
131
136
  ownership: Ownership
@@ -138,8 +143,14 @@ en:
138
143
  postponed: Postponed
139
144
  previous: Previous
140
145
  previous_abr: Prev.
146
+ previous_day: Previous day
147
+ previous_week: Previous week
148
+ project: Project
149
+ project_description: Task list with ordering and status tracking
150
+ projects: Projects
141
151
  projection: Projection
142
152
  public_holiday: Public Holiday
153
+ refresh: Refresh
143
154
  release_task: Release task
144
155
  reopen: Reopen task
145
156
  resolution: Resolution
@@ -148,7 +159,7 @@ en:
148
159
  saturday: Saturday
149
160
  save: Save
150
161
  search: Search
151
- search_results_for: "Search results for '{{query}}'"
162
+ search_results_for: "Search results for '%{query}'"
152
163
  select: Select
153
164
  shortcuts: Shortcuts
154
165
  sick_days_used: Sick days
@@ -106,6 +106,7 @@
106
106
  invoice_code: Faktureringskode
107
107
  invoice_short: Fakt
108
108
  left: Venstre
109
+ listing: Lister
109
110
  listing_works: Registrert arbeid
110
111
  lock: Lås
111
112
  log_in: Log inn
@@ -1,6 +1,5 @@
1
- ActionController::Routing::Routes.draw do |map|
2
- map.connect '', :controller => "welcome"
3
- map.connect ':controller/:action/:year/:week'
4
- map.connect ':controller/:action/:id.:format'
5
- map.connect ':controller/:action/:id'
1
+ Backlog::Application.routes.draw do
2
+ match '/' => 'welcome#index'
3
+ match ':controller/:action/:year/:week' => '#index'
4
+ match '/:controller(/:action(/:id))'
6
5
  end
@@ -1,10 +1,14 @@
1
1
  #!/bin/bash
2
2
 
3
- whoami
3
+ echo Running as `whoami`
4
4
  which jruby
5
5
  jruby --version
6
6
 
7
7
  export RAILS_ENV=test
8
8
 
9
9
  jruby -S rake db:migrate
10
- jruby -S rake
10
+
11
+ FILE_PATTERN="test/unit/*_test.rb test/functional/*_test.rb test/integration/*_test.rb"
12
+ EXCLUDE_PATTERN="^/Library/.*$|^\\(__FORWARDABLE__\\)$|^\\(erb\\)$|^\\(eval\\)$|^yaml/tag$"
13
+
14
+ jruby -S bundle exec rcov -I ./test -x "$EXCLUDE_PATTERN" --profile --sort coverage $FILE_PATTERN
@@ -8,13 +8,13 @@ class AddPeriod < ActiveRecord::Migration
8
8
  end
9
9
  add_column :tasks, :period_id, :integer
10
10
  Backlog.find(:all).each do |backlog|
11
- default_period = Period.new
11
+ default_period = Period.new
12
12
  default_period.backlog_id = backlog.id
13
- default_period.position = 1
14
- default_period.start_on = Date.parse('2006-01-01')
15
- default_period.end_on = Date.parse('2006-12-31')
13
+ default_period.position = 1
14
+ default_period.start_on = Date.parse('2006-01-01')
15
+ default_period.end_on = Date.parse('2006-12-31')
16
16
  default_period.save
17
- start_date = Date.today
17
+ start_date = Date.today
18
18
  Task.find(:all, :conditions => "backlog_id = #{backlog.id}").each do |task|
19
19
  if task.works.first
20
20
  task_completed_on = task.works.first.completed_at.to_date
@@ -23,8 +23,8 @@ class AddPeriod < ActiveRecord::Migration
23
23
  task.period_id = default_period.id
24
24
  task.save
25
25
  end
26
- default_period.start_on = start_date
27
- default_period.end_on = start_date + 365
26
+ default_period.start_on = start_date
27
+ default_period.end_on = start_date + 365
28
28
  default_period.save
29
29
  end
30
30
  remove_column :tasks, :backlog_id
@@ -39,25 +39,25 @@ class AddPeriod < ActiveRecord::Migration
39
39
  remove_column :tasks, :period_id
40
40
  drop_table :periods
41
41
  end
42
- end
43
42
 
44
- class Backlog < ActiveRecord::Base
45
- end
43
+ class Backlog < ActiveRecord::Base ; end
46
44
 
47
- class Period < ActiveRecord::Base
48
- belongs_to :backlog
49
- end
45
+ class Period < ActiveRecord::Base
46
+ belongs_to :backlog
47
+ end
50
48
 
51
- class Task < ActiveRecord::Base
52
- belongs_to :period
53
- acts_as_tree :order => 'position'
54
-
55
- def root_task
56
- if parent
57
- parent.root_task
58
- else
59
- self
49
+ class Task < ActiveRecord::Base
50
+ belongs_to :period
51
+ acts_as_tree :order => 'position'
52
+
53
+ def root_task
54
+ if parent
55
+ parent.root_task
56
+ else
57
+ self
58
+ end
60
59
  end
60
+
61
61
  end
62
62
 
63
63
  end
@@ -11,12 +11,12 @@ class AddUserOption < ActiveRecord::Migration
11
11
  end
12
12
  remove_column :tasks, :work_started_at
13
13
  end
14
-
14
+
15
15
  def self.down
16
16
  add_column :tasks, :work_started_at, :datetime
17
17
  started_works = Work.find(:all, :conditions => 'completed_at IS NULL')
18
18
  started_works.each do |work|
19
- task = Task.find(work.task_id)
19
+ task = Task.find(work.task_id)
20
20
  task.work_started_at = work.started_at
21
21
  task.save!
22
22
  work.destroy
@@ -26,22 +26,8 @@ class AddUserOption < ActiveRecord::Migration
26
26
  remove_column :estimates, :user_id
27
27
  remove_column :backlogs, :enable_users
28
28
  end
29
-
30
- def self.change_column_null(table_name, column_name, column_type, null, default = nil) #:nodoc:
31
- unless null || default.nil?
32
- execute("UPDATE #{table_name} SET #{column_name}=#{quote(default)} WHERE #{column_name} IS NULL")
33
- end
34
- if ActiveRecord::Base.connection.adapter_name.downcase == "postgresql"
35
- execute("ALTER TABLE #{table_name} ALTER #{column_name} #{null ? 'DROP' : 'SET'} NOT NULL")
36
- elsif ActiveRecord::Base.connection.adapter_name.downcase == "mysql"
37
- execute("ALTER TABLE #{table_name} MODIFY COLUMN #{column_name} #{column_type} #{null ? 'NULL' : 'NOT NULL'}")
38
- end
39
- end
40
-
41
- end
42
29
 
43
- class Task < ActiveRecord::Base
44
- end
30
+ class Task < ActiveRecord::Base ; end
31
+ class Work < ActiveRecord::Base ; end
45
32
 
46
- class Work < ActiveRecord::Base
47
- end
33
+ end
@@ -0,0 +1,10 @@
1
+ class IncreaseBacklogNameLimit < ActiveRecord::Migration
2
+ def self.up
3
+ change_column :backlogs, :name, :string, :limit => 64, :null => false
4
+ end
5
+
6
+ def self.down
7
+ execute "UPDATE backlogs SET name = SUBSTR(name, 0, 33)"
8
+ change_column :backlogs, :name, :string, :limit => 32, :null => false
9
+ end
10
+ end
@@ -1,5 +1,3 @@
1
- require 'change_column_null_migration_fix'
2
-
3
1
  class CreateWorkAccounts < ActiveRecord::Migration
4
2
  def self.up
5
3
  create_table :work_accounts do |t|
@@ -0,0 +1,22 @@
1
+ class RenameBacklogsToProjects < ActiveRecord::Migration
2
+ def self.up
3
+ remove_foreign_key "backlogs", "backlogs_customer_id_fkey"
4
+ remove_foreign_key "tasks", "tasks_backlog_id_fkey"
5
+ remove_foreign_key "work_lock_subscriptions", "work_lock_subscriptions_backlog_id_fkey"
6
+ remove_foreign_key "works", "works_backlog_id_fkey"
7
+
8
+ rename_table :backlogs, :projects
9
+ rename_column :tasks, :backlog_id, :project_id
10
+ rename_column :work_lock_subscriptions, :backlog_id, :project_id
11
+ rename_column :works, :backlog_id, :project_id
12
+
13
+ add_foreign_key "projects", ["customer_id"], "customers", ["id"], :name => "projects_customer_id_fkey"
14
+ add_foreign_key "tasks", ["project_id"], "projects", ["id"], :name => "tasks_project_id_fkey"
15
+ add_foreign_key "work_lock_subscriptions", ["project_id"], "projects", ["id"], :name => "work_lock_subscriptions_project_id_fkey"
16
+ add_foreign_key "works", ["project_id"], "projects", ["id"], :name => "works_project_id_fkey"
17
+ end
18
+
19
+ def self.down
20
+ raise "Not gonna happen!"
21
+ end
22
+ end