diff options
-rw-r--r-- | app/models/time_entry.rb | 2 | ||||
-rw-r--r-- | test/unit/time_entry_test.rb | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/app/models/time_entry.rb b/app/models/time_entry.rb index b327f861f..38504b774 100644 --- a/app/models/time_entry.rb +++ b/app/models/time_entry.rb @@ -179,7 +179,7 @@ class TimeEntry < ActiveRecord::Base end errors.add :issue_id, :invalid if (issue_id && !issue) || (issue && project!=issue.project) || @invalid_issue_id errors.add :activity_id, :inclusion if activity_id_changed? && project && !project.activities.include?(activity) - if spent_on_changed? && user + if spent_on && spent_on_changed? && user errors.add :base, I18n.t(:error_spent_on_future_date) if !Setting.timelog_accept_future_dates? && (spent_on > user.today) end end diff --git a/test/unit/time_entry_test.rb b/test/unit/time_entry_test.rb index 7f992e970..e1013afd7 100644 --- a/test/unit/time_entry_test.rb +++ b/test/unit/time_entry_test.rb @@ -171,6 +171,16 @@ class TimeEntryTest < ActiveSupport::TestCase end end + def test_should_require_spent_on + with_settings :timelog_accept_future_dates => '0' do + entry = TimeEntry.find(1) + entry.spent_on = '' + + assert !entry.save + assert entry.errors[:spent_on].present? + end + end + def test_spent_on_with_blank c = TimeEntry.new c.spent_on = '' |