summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/time_entry.rb2
-rw-r--r--test/unit/time_entry_test.rb10
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 = ''