Commit Graph
21 Commits
Author SHA1 Message Date
Eric Davis 1cd24e451b Sorting the Project column by project name now
* Including projects in Rate.history_for_user
* Moved the valid sort options to a constant on the RatesController
* Changed the ValidSortOptions to use the Project name for project_id
* Updated admin view to use RatesController::ValidSortOptions instead of a
  duplicated string.

  #1915
2009-01-20 10:46:16 -08:00
Eric Davis f870a6019e Hacked some column sorting onto RatesController
* Added SortHelper to RatesController
* Init and updating the sorting (pre 0.8 sort_update)
* RatesController#index will only render the layout on non-xhr requests
* Changed Rate.history_for_user to take an order clause
* Added rate_sort_header_tag and rate_sort_link to the SortHelper in order
  to get the correct parameters for sorting Rates
* Added rate_sort_header_tags to the Rate lists

  #1915
2009-01-19 14:43:54 -08:00
Eric Davis b993a5ae2f Refactored the date checks into a separate methods. #1920 2009-01-16 17:03:24 -08:00
Eric Davis 2950051383 Checking date input for Rate#for. #1920 2009-01-16 16:59:49 -08:00
Eric Davis 7bca02b511 Instead of returning nil, which could get confused with No Rate, passing
incorrect objects to Rate#for will now throw a Rate::InvalidParameterException
back to the caller.

Normally you don't need to be this strict but this is a public API that will
be consumed by several third parties so we need to be very clear what happened.

  #1920
2009-01-16 16:53:00 -08:00
Eric Davis 94e8aad493 Rate#for should handle invalid projects. #1920 2009-01-16 16:43:26 -08:00
Eric Davis 08b267741b Rate#for should handle invalid users. #1920 2009-01-16 16:40:50 -08:00
Eric Davis da891cc607 Refactored Rate#for_user_project_and_date to allow nil projects. #1920 2009-01-16 16:34:38 -08:00
Eric Davis 3451286011 Typo, don't need two rates. Rate.rate_for... #1920 2009-01-16 16:21:18 -08:00
Eric Davis 06f8258b38 Extracted an ugly finder method from Rate#for to a private method. #1920 2009-01-16 16:16:39 -08:00
Eric Davis 69d922a029 Refactored Rate#for to only get one record. #1920 2009-01-16 16:08:13 -08:00
Eric Davis 6a211c3e5e Rate#for will now return the most current rate for the user matching the parameters. #1920 2009-01-16 16:06:12 -08:00
Eric Davis b59c87b1f6 Implementing Rate#for's internal logic. #1920 2009-01-16 16:03:15 -08:00
Eric Davis 0d9c7e50de Added specs for the Rate#for parameter. #1920 2009-01-16 15:54:14 -08:00
Eric Davis 0e8bd2153c Prevent Rates from being destroyed if they are locked. #1919 2009-01-16 15:33:42 -08:00
Eric Davis 3ffb31fafc Require that a Rate be unlocked before saving it. #1919 2009-01-16 15:28:34 -08:00
Eric Davis 9b0332bf78 Added a Rate#locked? check. #1919 2009-01-16 15:23:30 -08:00
Eric Davis 33d1f84878 Added a named scope to make history lookups easier, Rate.history_for_user(user). #1915 2009-01-16 15:09:46 -08:00
Eric Davis 48d394704a Added data validation for Rates. #1917 2009-01-16 14:14:21 -08:00
Eric Davis 3f39bdaa6b Added associations to Rate. #1917 2009-01-16 14:00:11 -08:00
Eric Davis a3c12fed19 Added basic rate model and it's database schema 2009-01-16 13:56:04 -08:00