Fix overdue marking of closed issues and milestones (#14923)

Closed milestones and issues should only be marked overdue if they were
closed after their deadline.

Fix: #14536

Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
zeripath 2021-03-08 01:55:57 +00:00 committed by GitHub
parent 09fe0abb32
commit 78b7529cd4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 2 deletions

View file

@ -97,6 +97,9 @@ func (issue *Issue) loadTotalTimes(e Engine) (err error) {
// IsOverdue checks if the issue is overdue // IsOverdue checks if the issue is overdue
func (issue *Issue) IsOverdue() bool { func (issue *Issue) IsOverdue() bool {
if issue.IsClosed {
return issue.ClosedUnix >= issue.DeadlineUnix
}
return timeutil.TimeStampNow() >= issue.DeadlineUnix return timeutil.TimeStampNow() >= issue.DeadlineUnix
} }

View file

@ -63,8 +63,10 @@ func (m *Milestone) AfterLoad() {
} }
m.DeadlineString = m.DeadlineUnix.Format("2006-01-02") m.DeadlineString = m.DeadlineUnix.Format("2006-01-02")
if timeutil.TimeStampNow() >= m.DeadlineUnix { if m.IsClosed {
m.IsOverdue = true m.IsOverdue = m.ClosedDateUnix >= m.DeadlineUnix
} else {
m.IsOverdue = timeutil.TimeStampNow() >= m.DeadlineUnix
} }
} }