diff --git a/models/issue.go b/models/issue.go index 7ca839102..1b634ed9e 100644 --- a/models/issue.go +++ b/models/issue.go @@ -97,6 +97,9 @@ func (issue *Issue) loadTotalTimes(e Engine) (err error) { // IsOverdue checks if the issue is overdue func (issue *Issue) IsOverdue() bool { + if issue.IsClosed { + return issue.ClosedUnix >= issue.DeadlineUnix + } return timeutil.TimeStampNow() >= issue.DeadlineUnix } diff --git a/models/issue_milestone.go b/models/issue_milestone.go index 5c34834e2..d3d9f7702 100644 --- a/models/issue_milestone.go +++ b/models/issue_milestone.go @@ -63,8 +63,10 @@ func (m *Milestone) AfterLoad() { } m.DeadlineString = m.DeadlineUnix.Format("2006-01-02") - if timeutil.TimeStampNow() >= m.DeadlineUnix { - m.IsOverdue = true + if m.IsClosed { + m.IsOverdue = m.ClosedDateUnix >= m.DeadlineUnix + } else { + m.IsOverdue = timeutil.TimeStampNow() >= m.DeadlineUnix } }