Skip to content

Commit 622552b

Browse files
lunnyandreynering
authored andcommitted
Fix deleted milestone bug (#1942) (#2300)
* Fix deleted milestone bug * Use locale for ghost milestone name * Fix pointer bug
1 parent 1709297 commit 622552b

File tree

3 files changed

+15
-10
lines changed

3 files changed

+15
-10
lines changed

models/issue_comment.go

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -231,25 +231,19 @@ func (c *Comment) LoadMilestone() error {
231231
has, err := x.ID(c.OldMilestoneID).Get(&oldMilestone)
232232
if err != nil {
233233
return err
234-
} else if !has {
235-
return ErrMilestoneNotExist{
236-
ID: c.OldMilestoneID,
237-
}
234+
} else if has {
235+
c.OldMilestone = &oldMilestone
238236
}
239-
c.OldMilestone = &oldMilestone
240237
}
241238

242239
if c.MilestoneID > 0 {
243240
var milestone Milestone
244241
has, err := x.ID(c.MilestoneID).Get(&milestone)
245242
if err != nil {
246243
return err
247-
} else if !has {
248-
return ErrMilestoneNotExist{
249-
ID: c.MilestoneID,
250-
}
244+
} else if has {
245+
c.Milestone = &milestone
251246
}
252-
c.Milestone = &milestone
253247
}
254248
return nil
255249
}

options/locale/locale_en-US.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -558,6 +558,7 @@ issues.remove_label_at = `removed the <div class="ui label" style="color: %s; ba
558558
issues.add_milestone_at = `added this to the <b>%s</b> milestone %s`
559559
issues.change_milestone_at = `modified the milestone from <b>%s</b> to <b>%s</b> %s`
560560
issues.remove_milestone_at = `removed this from the <b>%s</b> milestone %s`
561+
issues.deleted_milestone = `(deleted)`
561562
issues.self_assign_at = `self-assigned this %s`
562563
issues.add_assignee_at = `was assigned by <b>%s</b> %s`
563564
issues.remove_assignee_at = `removed their assignment %s`

routers/repo/issue.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -596,6 +596,16 @@ func ViewIssue(ctx *context.Context) {
596596
ctx.Handle(500, "LoadMilestone", err)
597597
return
598598
}
599+
ghostMilestone := &models.Milestone{
600+
ID: -1,
601+
Name: ctx.Tr("repo.issues.deleted_milestone"),
602+
}
603+
if comment.OldMilestoneID > 0 && comment.OldMilestone == nil {
604+
comment.OldMilestone = ghostMilestone
605+
}
606+
if comment.MilestoneID > 0 && comment.Milestone == nil {
607+
comment.Milestone = ghostMilestone
608+
}
599609
} else if comment.Type == models.CommentTypeAssignees {
600610
if err = comment.LoadAssignees(); err != nil {
601611
ctx.Handle(500, "LoadAssignees", err)

0 commit comments

Comments
 (0)