1
0
mirror of https://github.com/meineerde/redmine.git synced 2026-01-31 11:37:14 +00:00

Avoid exception during validation if the spent_on date of a time entry was removed (#39079).

Patch by Holger Just.


git-svn-id: https://svn.redmine.org/redmine/trunk@22311 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Go MAEDA 2023-09-20 04:43:20 +00:00
parent c9aed18ee5
commit 3928d82ee1
2 changed files with 11 additions and 1 deletions

View File

@ -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

View File

@ -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 = ''