diff options
Diffstat (limited to 'models/issue.go')
-rw-r--r-- | models/issue.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/models/issue.go b/models/issue.go index c370af363e..6253837237 100644 --- a/models/issue.go +++ b/models/issue.go @@ -19,6 +19,7 @@ var ( ErrIssueNotExist = errors.New("Issue does not exist") ErrLabelNotExist = errors.New("Label does not exist") ErrMilestoneNotExist = errors.New("Milestone does not exist") + ErrWrongIssueCounter = errors.New("Invalid number of issues for this milestone") ) // Issue represents an issue or pull request of repository. @@ -713,6 +714,11 @@ func ChangeMilestoneAssign(oldMid, mid int64, issue *Issue) (err error) { if issue.IsClosed { m.NumClosedIssues++ } + + if m.NumIssues == 0 { + return ErrWrongIssueCounter + } + m.Completeness = m.NumClosedIssues * 100 / m.NumIssues if _, err = sess.Id(m.Id).Update(m); err != nil { sess.Rollback() |