aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEthan Koenig <etk39@cornell.edu>2017-06-17 00:51:28 -0400
committerLunny Xiao <xiaolunwen@gmail.com>2017-06-17 12:51:28 +0800
commit8fc64741d95aa31665e4238fd7e20396a4cdf813 (patch)
tree613e6ec6f9d14e939e70345b18e4d115df7862e8
parentce9b86082c4824917023b1bb480648d0cc56dd04 (diff)
downloadgitea-8fc64741d95aa31665e4238fd7e20396a4cdf813.tar.gz
gitea-8fc64741d95aa31665e4238fd7e20396a4cdf813.zip
Fix deleted milestone bug (#1942)
* Fix deleted milestone bug * Use locale for ghost milestone name * Fix pointer bug
-rw-r--r--models/issue_comment.go14
-rw-r--r--options/locale/locale_en-US.ini1
-rw-r--r--routers/repo/issue.go10
3 files changed, 15 insertions, 10 deletions
diff --git a/models/issue_comment.go b/models/issue_comment.go
index 69edf28f54..91d8551518 100644
--- a/models/issue_comment.go
+++ b/models/issue_comment.go
@@ -231,12 +231,9 @@ func (c *Comment) LoadMilestone() error {
has, err := x.ID(c.OldMilestoneID).Get(&oldMilestone)
if err != nil {
return err
- } else if !has {
- return ErrMilestoneNotExist{
- ID: c.OldMilestoneID,
- }
+ } else if has {
+ c.OldMilestone = &oldMilestone
}
- c.OldMilestone = &oldMilestone
}
if c.MilestoneID > 0 {
@@ -244,12 +241,9 @@ func (c *Comment) LoadMilestone() error {
has, err := x.ID(c.MilestoneID).Get(&milestone)
if err != nil {
return err
- } else if !has {
- return ErrMilestoneNotExist{
- ID: c.MilestoneID,
- }
+ } else if has {
+ c.Milestone = &milestone
}
- c.Milestone = &milestone
}
return nil
}
diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini
index c2df7f27dc..c1aa44e8d7 100644
--- a/options/locale/locale_en-US.ini
+++ b/options/locale/locale_en-US.ini
@@ -612,6 +612,7 @@ issues.remove_label_at = `removed the <div class="ui label" style="color: %s; ba
issues.add_milestone_at = `added this to the <b>%s</b> milestone %s`
issues.change_milestone_at = `modified the milestone from <b>%s</b> to <b>%s</b> %s`
issues.remove_milestone_at = `removed this from the <b>%s</b> milestone %s`
+issues.deleted_milestone = `(deleted)`
issues.self_assign_at = `self-assigned this %s`
issues.add_assignee_at = `was assigned by <b>%s</b> %s`
issues.remove_assignee_at = `removed their assignment %s`
diff --git a/routers/repo/issue.go b/routers/repo/issue.go
index b94eddc4ef..b5b620dbb3 100644
--- a/routers/repo/issue.go
+++ b/routers/repo/issue.go
@@ -625,6 +625,16 @@ func ViewIssue(ctx *context.Context) {
ctx.Handle(500, "LoadMilestone", err)
return
}
+ ghostMilestone := &models.Milestone{
+ ID: -1,
+ Name: ctx.Tr("repo.issues.deleted_milestone"),
+ }
+ if comment.OldMilestoneID > 0 && comment.OldMilestone == nil {
+ comment.OldMilestone = ghostMilestone
+ }
+ if comment.MilestoneID > 0 && comment.Milestone == nil {
+ comment.Milestone = ghostMilestone
+ }
} else if comment.Type == models.CommentTypeAssignees {
if err = comment.LoadAssignees(); err != nil {
ctx.Handle(500, "LoadAssignees", err)