Browse Source

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
tags/1.2.0
Jean-Philippe Lang 13 years ago
parent
commit
88d847a1d5
2 changed files with 33 additions and 0 deletions
  1. 3
    0
      app/models/time_entry.rb
  2. 30
    0
      test/unit/time_entry_test.rb

+ 3
- 0
app/models/time_entry.rb View File

# these attributes make time aggregations easier # these attributes make time aggregations easier
def spent_on=(date) def spent_on=(date)
super super
if spent_on.is_a?(Time)
self.spent_on = spent_on.to_date
end
self.tyear = spent_on ? spent_on.year : nil self.tyear = spent_on ? spent_on.year : nil
self.tmonth = spent_on ? spent_on.month : 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 self.tweek = spent_on ? Date.civil(spent_on.year, spent_on.month, spent_on.day).cweek : nil

+ 30
- 0
test/unit/time_entry_test.rb View File

def test_hours_should_default_to_nil def test_hours_should_default_to_nil
assert_nil TimeEntry.new.hours assert_nil TimeEntry.new.hours
end 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 context "#earilest_date_for_project" do
setup do setup do

Loading…
Cancel
Save