Fixes TimeEntry#spent_on= so that datetimes don't get stored in SQLite3 (#7258).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4708 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
7a35682cd9
commit
88d847a1d5
|
@ -66,6 +66,9 @@ class TimeEntry < ActiveRecord::Base
|
|||
# these attributes make time aggregations easier
|
||||
def spent_on=(date)
|
||||
super
|
||||
if spent_on.is_a?(Time)
|
||||
self.spent_on = spent_on.to_date
|
||||
end
|
||||
self.tyear = spent_on ? spent_on.year : nil
|
||||
self.tmonth = spent_on ? spent_on.month : nil
|
||||
self.tweek = spent_on ? Date.civil(spent_on.year, spent_on.month, spent_on.day).cweek : nil
|
||||
|
|
|
@ -48,6 +48,36 @@ class TimeEntryTest < ActiveSupport::TestCase
|
|||
def test_hours_should_default_to_nil
|
||||
assert_nil TimeEntry.new.hours
|
||||
end
|
||||
|
||||
def test_spent_on_with_blank
|
||||
c = TimeEntry.new
|
||||
c.spent_on = ''
|
||||
assert_nil c.spent_on
|
||||
end
|
||||
|
||||
def test_spent_on_with_nil
|
||||
c = TimeEntry.new
|
||||
c.spent_on = nil
|
||||
assert_nil c.spent_on
|
||||
end
|
||||
|
||||
def test_spent_on_with_string
|
||||
c = TimeEntry.new
|
||||
c.spent_on = "2011-01-14"
|
||||
assert_equal Date.parse("2011-01-14"), c.spent_on
|
||||
end
|
||||
|
||||
def test_spent_on_with_date
|
||||
c = TimeEntry.new
|
||||
c.spent_on = Date.today
|
||||
assert_equal Date.today, c.spent_on
|
||||
end
|
||||
|
||||
def test_spent_on_with_time
|
||||
c = TimeEntry.new
|
||||
c.spent_on = Time.now
|
||||
assert_equal Date.today, c.spent_on
|
||||
end
|
||||
|
||||
context "#earilest_date_for_project" do
|
||||
setup do
|
||||
|
|
Loading…
Reference in New Issue