Permalink
Browse files

This is TrackRecord version 2.24, for Rails 3.2.

Fixed issues #21, #22 and #24. Added many tests to work towards satisfying
issue #6 and allow third parties to better verify their database operation.
A lot of test data is included which bulks the distribution substantially.

Properly implemented access control and in place editing for saved reports;
also included reports in audit table data. Reports include optimistic locks
now, so that if two users were to edit the same thing simultaneously, the
second user to submit the changes would be notified. This is unlikely but a
worthwhile and easy addition.

Database changes: OpenID URLs are now stored canonicalised in the database
and the front-end is much more relaxed in what it accepts. Work packets had
a description field but it was never used so has been removed, reducing the
database storage requirements. Their commit dates are now simply Dates,
not Date/Time objects, which solves issues with database compatibility and
simplifies code slightly in a few places. SQLite blank template for
"database.yml" included in addition to PostgreSQL. "README.rdoc" mentions
this database and provides configuration advice.

Misc changes: Fixed timesheet bulk commit bug that stopped it presenting
the commit form when certain date conditions arose. Improved audit list
model name display. Small efficiency improvement in Control Panel. Modern
scope syntax used in Project, with additional validation revealed as
necessary by new tests. New useful scopes added to Task for billable and
not-billable hours and updated to modern syntax; much more efficient work
packet processing therein. Timesheet access permission model tweaked in
response to test results; more logical/consistent now (see "README.rdoc").
Test-driven changes to TimesheetRow for robustness in hypothetical future
code use cases. Modern scope syntax in User model and some new scopes to
aid tests; "has_many" relationship to saved reports, previously overlooked,
now added. Dead code stripped from WorkPacket and TrackRecordSections.

Documentation updated, especially the main "README.rdoc" file, which should
make life easier for new users.
  • Loading branch information...
pond committed Oct 15, 2013
1 parent cf1cb1e commit 0db40158f2e6a3888aa83c63e515483bdeceaa93
Showing with 486,252 additions and 1,373 deletions.
  1. +33 −0 CHANGELOG
  2. +3 −3 Gemfile
  3. +18 −19 Gemfile.lock
  4. +312 −5 README.rdoc
  5. +13 −1 app/assets/stylesheets/trackrecord_all.css.erb
  6. +9 −3 app/controllers/reports_controller.rb
  7. +19 −4 app/controllers/saved_reports_base_controller.rb
  8. +60 −20 app/controllers/saved_reports_controller.rb
  9. +5 −2 app/controllers/sessions_controller.rb
  10. +2 −1 app/controllers/timesheet_force_commits_controller.rb
  11. +16 −8 app/helpers/application_helper.rb
  12. +6 −1 app/helpers/audits_helper.rb
  13. +30 −22 app/helpers/reports_helper.rb
  14. +1 −1 app/models/control_panel.rb
  15. +6 −4 app/models/customer.rb
  16. +13 −1 app/models/project.rb
  17. +34 −2 app/models/saved_report.rb
  18. +22 −32 app/models/task.rb
  19. +17 −12 app/models/task_group.rb
  20. +70 −78 app/models/timesheet.rb
  21. +2 −2 app/models/timesheet_row.rb
  22. +12 −5 app/models/user.rb
  23. +2 −112 app/models/work_packet.rb
  24. +1 −1 app/views/layouts/application.html.erb
  25. +10 −0 app/views/reports/_comprehensive.html.erb
  26. +4 −0 app/views/reports/_tasks.html.erb
  27. +8 −2 app/views/reports/_users.html.erb
  28. +1 −1 app/views/reports/show.html.erb
  29. +3 −3 app/views/saved_reports/_edit.html.erb
  30. +1 −2 app/views/saved_reports/index.html.erb
  31. +9 −9 config/database_blank.yml
  32. +23 −0 config/database_sqlite.yml
  33. +7 −3 config/initializers/extend_acts_as_audited_model.rb
  34. +1 −1 config/locales/en.yml
  35. +5 −0 db/migrate/003_create_work_packets.rb
  36. +10 −0 db/migrate/20130925073310_re_rationalise_identity_urls.rb
  37. +30 −0 db/migrate/20131010053312_add_optimistic_locking_for_reports.rb
  38. +21 −0 db/migrate/20131010060427_remove_description_from_work_packet.rb
  39. +19 −0 db/migrate/20131011010129_change_work_packet_date_column_type.rb
  40. +19 −19 db/schema.rb
  41. +4 −4 doc/README_FOR_APP
  42. +17 −9 doc/app/ApplicationHelper.html
  43. +8 −3 doc/app/AuditsHelper.html
  44. +1 −1 doc/app/ControlPanel.html
  45. +7 −4 doc/app/Customer.html
  46. +3 −3 doc/app/Project.html
  47. +18 −5 doc/app/ReportsController.html
  48. +31 −23 doc/app/ReportsHelper.html
  49. +27 −6 doc/app/SafeInPlaceEditingHelper.html
  50. +81 −6 doc/app/SavedReport.html
  51. +39 −29 doc/app/SavedReportsController.html
  52. +7 −4 doc/app/SessionsController.html
  53. +29 −41 doc/app/Task.html
  54. +78 −14 doc/app/TaskGroup.html
  55. +39 −193 doc/app/Timesheet.html
  56. +11 −9 doc/app/TrackRecordReport/Report.html
  57. +7 −4 doc/app/TrackRecordReportGenerator.html
  58. +6 −6 doc/app/TrackRecordReportGenerator/UkOrgPondCSV.html
  59. +1 −1 doc/app/TrackRecordSections/Sections.html
  60. +10 −37 doc/app/TrackRecordSections/SectionsMixin.html
  61. +12 −10 doc/app/User.html
  62. +3 −225 doc/app/WorkPacket.html
  63. +63 −63 doc/app/created.rid
  64. +8 −9 doc/app/doc/README_FOR_APP.html
  65. +8 −9 doc/app/index.html
  66. +1 −1 doc/app/js/search_index.js
  67. +79 −87 doc/app/table_of_contents.html
  68. +1 −1 lib/report_generators/track_record_report_generator.rb
  69. +32 −7 lib/safe_in_place_editing/README
  70. +15 −13 lib/safe_in_place_editing/safe_in_place_editing.rb
  71. +27 −6 lib/safe_in_place_editing/safe_in_place_editing_helper.rb
  72. +95 −0 lib/tasks/db_dump_reports_for_tests.rake
  73. +100 −0 lib/tasks/db_extract_fixtures.rake
  74. +8 −6 lib/track_record_report.rb
  75. +357 −0 lib/track_record_report_generator_uk_org_pond_csv.rb
  76. +0 −8 lib/track_record_sections.rb
  77. BIN test/comparison_data/saved_reports/1.yaml.gz
  78. BIN test/comparison_data/saved_reports/10.yaml.gz
  79. BIN test/comparison_data/saved_reports/11.yaml.gz
  80. BIN test/comparison_data/saved_reports/12.yaml.gz
  81. BIN test/comparison_data/saved_reports/13.yaml.gz
  82. BIN test/comparison_data/saved_reports/14.yaml.gz
  83. BIN test/comparison_data/saved_reports/15.yaml.gz
  84. BIN test/comparison_data/saved_reports/16.yaml.gz
  85. BIN test/comparison_data/saved_reports/17.yaml.gz
  86. BIN test/comparison_data/saved_reports/18.yaml.gz
  87. BIN test/comparison_data/saved_reports/19.yaml.gz
  88. BIN test/comparison_data/saved_reports/2.yaml.gz
  89. BIN test/comparison_data/saved_reports/20.yaml.gz
  90. BIN test/comparison_data/saved_reports/21.yaml.gz
  91. BIN test/comparison_data/saved_reports/22.yaml.gz
  92. BIN test/comparison_data/saved_reports/23.yaml.gz
  93. BIN test/comparison_data/saved_reports/24.yaml.gz
  94. BIN test/comparison_data/saved_reports/25.yaml.gz
  95. BIN test/comparison_data/saved_reports/26.yaml.gz
  96. BIN test/comparison_data/saved_reports/27.yaml.gz
  97. BIN test/comparison_data/saved_reports/28.yaml.gz
  98. BIN test/comparison_data/saved_reports/29.yaml.gz
  99. BIN test/comparison_data/saved_reports/3.yaml.gz
  100. BIN test/comparison_data/saved_reports/30.yaml.gz
  101. BIN test/comparison_data/saved_reports/31.yaml.gz
  102. BIN test/comparison_data/saved_reports/32.yaml.gz
  103. BIN test/comparison_data/saved_reports/33.yaml.gz
  104. BIN test/comparison_data/saved_reports/34.yaml.gz
  105. BIN test/comparison_data/saved_reports/35.yaml.gz
  106. BIN test/comparison_data/saved_reports/36.yaml.gz
  107. BIN test/comparison_data/saved_reports/37.yaml.gz
  108. BIN test/comparison_data/saved_reports/38.yaml.gz
  109. BIN test/comparison_data/saved_reports/39.yaml.gz
  110. BIN test/comparison_data/saved_reports/4.yaml.gz
  111. BIN test/comparison_data/saved_reports/40.yaml.gz
  112. BIN test/comparison_data/saved_reports/41.yaml.gz
  113. BIN test/comparison_data/saved_reports/42.yaml.gz
  114. BIN test/comparison_data/saved_reports/43.yaml.gz
  115. BIN test/comparison_data/saved_reports/44.yaml.gz
  116. BIN test/comparison_data/saved_reports/45.yaml.gz
  117. BIN test/comparison_data/saved_reports/46.yaml.gz
  118. BIN test/comparison_data/saved_reports/47.yaml.gz
  119. BIN test/comparison_data/saved_reports/48.yaml.gz
  120. BIN test/comparison_data/saved_reports/49.yaml.gz
  121. BIN test/comparison_data/saved_reports/5.yaml.gz
  122. BIN test/comparison_data/saved_reports/50.yaml.gz
  123. BIN test/comparison_data/saved_reports/51.yaml.gz
  124. BIN test/comparison_data/saved_reports/52.yaml.gz
  125. BIN test/comparison_data/saved_reports/53.yaml.gz
  126. BIN test/comparison_data/saved_reports/54.yaml.gz
  127. BIN test/comparison_data/saved_reports/6.yaml.gz
  128. BIN test/comparison_data/saved_reports/7.yaml.gz
  129. BIN test/comparison_data/saved_reports/8.yaml.gz
  130. BIN test/comparison_data/saved_reports/9.yaml.gz
  131. +37,783 −0 test/fixtures/audits.yml
  132. +115 −7 test/fixtures/control_panels.yml
  133. +10 −0 test/fixtures/control_panels_tasks.yml
  134. +253 −11 test/fixtures/customers.yml
  135. +1,251 −17 test/fixtures/projects.yml
  136. +1,621 −0 test/fixtures/saved_reports.yml
  137. +274 −0 test/fixtures/saved_reports_active_tasks.yml
  138. +289 −0 test/fixtures/saved_reports_inactive_tasks.yml
  139. +421 −0 test/fixtures/saved_reports_reportable_users.yml
  140. +4,453 −19 test/fixtures/tasks.yml
  141. +76 −0 test/fixtures/tasks_users.yml
  142. +46,369 −9 test/fixtures/timesheet_rows.yml
  143. +17,629 −11 test/fixtures/timesheets.yml
  144. +169 −19 test/fixtures/users.yml
  145. +370,945 −15 test/fixtures/work_packets.yml
  146. +14 −15 test/functional/reports_controller_test.rb
  147. +66 −3 test/unit/control_panel_test.rb
  148. +348 −3 test/unit/customer_test.rb
  149. +313 −3 test/unit/project_test.rb
  150. +573 −0 test/unit/saved_report_test.rb
  151. +309 −3 test/unit/task_test.rb
  152. +76 −3 test/unit/timesheet_row_test.rb
  153. +457 −3 test/unit/timesheet_test.rb
  154. +227 −3 test/unit/user_test.rb
  155. +101 −3 test/unit/work_packet_test.rb
View
@@ -1,3 +1,36 @@
+Version 2.24, 2013-10-16
+========================
+
+Please see "README.rdoc" for vital information on installation, upgrading
+from an earlier version, database requirements and how to run the built in
+test suite that helps verify your database's suitability for TrackRecord.
+
+Version 2.24 introduces the following new features:
+
+- Easier to access report modification as requested by Issue #24,
+ requested by sarev.
+
+Version 2.24 fixes the following bugs that were found in v2.23:
+
+- The bulk timesheet commit form would raise an error under
+ certain date conditions.
+
+- An in-place title editing issue arising from an incompatibility
+ between Rails and Prototype.js 1.7's more strict adherence to
+ HTTP rules on data encoding has been worked around within the
+ Safe In Place Editor plugin. This fixes Issue #21, reported by
+ sarev (with thanks).
+
+- Saved report shared flags and copying didn't work as expected
+ for various user types; essentially the feature was only half
+ implemented. Now done properly!
+
+- In-place editors for saved report titles and share flags are
+ now supported in the index view.
+
+There are also various efficiency improvements and areas of code tidying.
+
+
Version 2.23, 2013-09-09
========================
View
@@ -35,14 +35,14 @@ gem 'prototype-rails'
# https://github.com/timcharper/calendar_date_select (original, but not Rails 3 compatible)
# http://github.com/paneq/calendar_date_select (Rails 3 fork)
# https://github.com/openid/ruby-openid
-# https://github.com/rails/open_id_authentication
+# https://github.com/grosser/open_id_authentication
# https://github.com/mislav/will_paginate/
# https://github.com/collectiveidea/audited
# https://github.com/swanandp/acts_as_list
gem 'calendar_date_select', '~> 1.6', :git => 'http://github.com/paneq/calendar_date_select'
-gem 'ruby-openid', '~> 2.2'
-gem 'open_id_authentication'
+gem 'ruby-openid', '~> 2.3'
+gem 'open_id_authentication', '~> 1.2'
gem 'will_paginate', '~> 3.0'
gem 'audited-activerecord', '~> 3.0'
gem 'acts_as_list'
View
@@ -51,28 +51,27 @@ GEM
coffee-script-source (1.6.3)
dynamic_form (1.1.4)
erubis (2.7.0)
- execjs (1.4.0)
- multi_json (~> 1.0)
+ execjs (2.0.2)
hike (1.2.3)
i18n (0.6.5)
journey (1.0.4)
json (1.8.0)
- libv8 (3.11.8.17)
+ libv8 (3.16.14.3)
mail (2.5.4)
mime-types (~> 1.16)
treetop (~> 1.4.8)
- mime-types (1.24)
- multi_json (1.7.9)
- open_id_authentication (1.1.0)
+ mime-types (1.25)
+ multi_json (1.8.2)
+ open_id_authentication (1.2.0)
rack-openid (~> 1.3)
- pg (0.16.0)
+ pg (0.17.0)
polyglot (0.3.3)
prototype-rails (3.2.1)
rails (~> 3.2)
rack (1.4.5)
rack-cache (1.2)
rack (>= 0.4)
- rack-openid (1.3.1)
+ rack-openid (1.4.0)
rack (>= 1.1.0)
ruby-openid (>= 2.1.8)
rack-ssl (1.3.3)
@@ -87,7 +86,7 @@ GEM
activesupport (= 3.2.14)
bundler (~> 1.0)
railties (= 3.2.14)
- rails_autolink (1.1.0)
+ rails_autolink (1.1.4)
rails (> 3.1)
railties (3.2.14)
actionpack (= 3.2.14)
@@ -100,8 +99,8 @@ GEM
rdoc (3.12.2)
json (~> 1.4)
ref (1.0.5)
- ruby-openid (2.2.3)
- sass (3.2.10)
+ ruby-openid (2.3.0)
+ sass (3.2.12)
sass-rails (3.2.6)
railties (~> 3.2.0)
sass (>= 3.1.10)
@@ -111,19 +110,19 @@ GEM
multi_json (~> 1.0)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
- therubyracer (0.11.4)
- libv8 (~> 3.11.8.12)
+ therubyracer (0.12.0)
+ libv8 (~> 3.16.14.0)
ref
thor (0.18.1)
tilt (1.4.1)
- treetop (1.4.14)
+ treetop (1.4.15)
polyglot
polyglot (>= 0.3.1)
- tzinfo (0.3.37)
- uglifier (2.1.2)
+ tzinfo (0.3.38)
+ uglifier (2.2.1)
execjs (>= 0.3.0)
multi_json (~> 1.0, >= 1.0.2)
- will_paginate (3.0.4)
+ will_paginate (3.0.5)
PLATFORMS
ruby
@@ -135,12 +134,12 @@ DEPENDENCIES
coffee-rails
dynamic_form
json
- open_id_authentication
+ open_id_authentication (~> 1.2)
pg (>= 0.16)
prototype-rails
rails (= 3.2.14)
rails_autolink
- ruby-openid (~> 2.2)
+ ruby-openid (~> 2.3)
sass-rails
therubyracer
uglifier
Oops, something went wrong.

0 comments on commit 0db4015

Please sign in to comment.