]> source.dussan.org Git - gitea.git/commitdiff
Fix overdue marking of closed issues and milestones (#14923)
authorzeripath <art27@cantab.net>
Mon, 8 Mar 2021 01:55:57 +0000 (01:55 +0000)
committerGitHub <noreply@github.com>
Mon, 8 Mar 2021 01:55:57 +0000 (02:55 +0100)
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>
models/issue.go
models/issue_milestone.go

index 7ca83910292644ee9fde034d2625aa3d1445ac19..1b634ed9e8d3cfdfb17529dcacca8a8e97306858 100644 (file)
@@ -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
 }
 
index 5c34834e2a5024df5c901b1107d940e9085c6a44..d3d9f7702f9afd97f39a6783f81a451905dab74f 100644 (file)
@@ -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
        }
 }