From ca611dcf8ad6d948ab6a630914f2415051b6fe2c Mon Sep 17 00:00:00 2001 From: Gusted Date: Tue, 16 Nov 2021 22:08:17 +0100 Subject: [PATCH 1/4] Added comment for changing issue ref - Add a comment when someone changes the ref(erence?) of a issue. --- models/issue.go | 16 ++++++++++++++++ models/issue_comment.go | 4 +++- modules/templates/helper.go | 4 ++++ options/locale/locale_en-US.ini | 3 +++ templates/repo/issue/view_content/comments.tmpl | 17 +++++++++++++++++ 5 files changed, 43 insertions(+), 1 deletion(-) diff --git a/models/issue.go b/models/issue.go index 983fb7aa8dc9a..d1438e9b35a8b 100644 --- a/models/issue.go +++ b/models/issue.go @@ -753,6 +753,22 @@ func (issue *Issue) ChangeRef(doer *User, oldRef string) (err error) { return fmt.Errorf("updateIssueCols: %v", err) } + if err = issue.loadRepo(db.GetEngine(ctx)); err != nil { + return fmt.Errorf("loadRepo: %v", err) + } + + opts := &CreateCommentOptions{ + Type: CommentTypeChangeIssueRef, + Doer: doer, + Repo: issue.Repo, + Issue: issue, + OldRef: oldRef, + NewRef: issue.Ref, + } + if _, err = createComment(db.GetEngine(ctx), opts); err != nil { + return fmt.Errorf("createComment: %v", err) + } + return committer.Commit() } diff --git a/models/issue_comment.go b/models/issue_comment.go index a41f4cb298a46..1936695732158 100644 --- a/models/issue_comment.go +++ b/models/issue_comment.go @@ -101,8 +101,10 @@ const ( CommentTypeProject // 31 Project board changed CommentTypeProjectBoard - // Dismiss Review + // 32 Dismiss Review CommentTypeDismissReview + // 33 Change issue ref + CommentTypeChangeIssueRef ) // RoleDescriptor defines comment tag type diff --git a/modules/templates/helper.go b/modules/templates/helper.go index 8b46ed40cec8e..ba0b0a28579b1 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -377,6 +377,10 @@ func NewFuncMap() []template.FuncMap { return setting.MermaidMaxSourceCharacters }, "QueryEscape": url.QueryEscape, + "BeautifyRef": func(ref string) string { + splitted := strings.Split(ref, "/") + return splitted[len(splitted)-1] + }, }} } diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 062ce029323e9..f93319fc33737 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -1172,6 +1172,9 @@ issues.add_assignee_at = `was assigned by %s %s` issues.remove_assignee_at = `was unassigned by %s %s` issues.remove_self_assignment = `removed their assignment %s` issues.change_title_at = `changed title from %s to %s %s` +issues.change_ref_at = `changed reference from %s to %s %s` +issues.remove_ref_at = `removed reference %s %s` +issues.add_ref_at = `added reference %s %s` issues.delete_branch_at = `deleted branch %s %s` issues.open_tab = %d Open issues.close_tab = %d Closed diff --git a/templates/repo/issue/view_content/comments.tmpl b/templates/repo/issue/view_content/comments.tmpl index 9907246d9f403..58464a4e77ee0 100644 --- a/templates/repo/issue/view_content/comments.tmpl +++ b/templates/repo/issue/view_content/comments.tmpl @@ -781,5 +781,22 @@ {{end}} + {{else if eq .Type 33}} +
+ {{svg "octicon-git-branch"}} + + {{avatar .Poster}} + + + {{.Poster.GetDisplayName}} + {{if and .OldRef .NewRef}} + {{$.i18n.Tr "repo.issues.change_ref_at" (.OldRef|BeautifyRef|RenderEmoji) (.NewRef|BeautifyRef|RenderEmoji) $createdStr | Safe}} + {{else if .OldRef}} + {{$.i18n.Tr "repo.issues.remove_ref_at" (.OldRef|BeautifyRef|RenderEmoji) $createdStr | Safe}} + {{else}} + {{$.i18n.Tr "repo.issues.add_ref_at" (.NewRef|BeautifyRef|RenderEmoji) $createdStr | Safe}} + {{end}} + +
{{end}} {{end}} From d87c38f1e9bf2bc4f4d74abd696aba7400953693 Mon Sep 17 00:00:00 2001 From: Gusted Date: Wed, 17 Nov 2021 22:11:49 +0100 Subject: [PATCH 2/4] Better beautify --- models/issue.go | 4 +++- templates/repo/issue/view_content/comments.tmpl | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/models/issue.go b/models/issue.go index d1438e9b35a8b..b452f3e1ae661 100644 --- a/models/issue.go +++ b/models/issue.go @@ -756,6 +756,8 @@ func (issue *Issue) ChangeRef(doer *User, oldRef string) (err error) { if err = issue.loadRepo(db.GetEngine(ctx)); err != nil { return fmt.Errorf("loadRepo: %v", err) } + oldRef = strings.TrimPrefix(oldRef, "refs/heads/") + newRef := strings.TrimPrefix(issue.Ref, "refs/heads/") opts := &CreateCommentOptions{ Type: CommentTypeChangeIssueRef, @@ -763,7 +765,7 @@ func (issue *Issue) ChangeRef(doer *User, oldRef string) (err error) { Repo: issue.Repo, Issue: issue, OldRef: oldRef, - NewRef: issue.Ref, + NewRef: newRef, } if _, err = createComment(db.GetEngine(ctx), opts); err != nil { return fmt.Errorf("createComment: %v", err) diff --git a/templates/repo/issue/view_content/comments.tmpl b/templates/repo/issue/view_content/comments.tmpl index 58464a4e77ee0..77925d8e29efe 100644 --- a/templates/repo/issue/view_content/comments.tmpl +++ b/templates/repo/issue/view_content/comments.tmpl @@ -790,11 +790,11 @@ {{.Poster.GetDisplayName}} {{if and .OldRef .NewRef}} - {{$.i18n.Tr "repo.issues.change_ref_at" (.OldRef|BeautifyRef|RenderEmoji) (.NewRef|BeautifyRef|RenderEmoji) $createdStr | Safe}} + {{$.i18n.Tr "repo.issues.change_ref_at" (.OldRef|Escape) (.NewRef|Escape) $createdStr | Safe}} {{else if .OldRef}} - {{$.i18n.Tr "repo.issues.remove_ref_at" (.OldRef|BeautifyRef|RenderEmoji) $createdStr | Safe}} + {{$.i18n.Tr "repo.issues.remove_ref_at" (.OldRef|Escape) $createdStr | Safe}} {{else}} - {{$.i18n.Tr "repo.issues.add_ref_at" (.NewRef|BeautifyRef|RenderEmoji) $createdStr | Safe}} + {{$.i18n.Tr "repo.issues.add_ref_at" (.NewRef|Escape) $createdStr | Safe}} {{end}} From ae77a57f2dd1cba506250ab3535f00478cf42e4e Mon Sep 17 00:00:00 2001 From: Gusted Date: Wed, 17 Nov 2021 23:09:43 +0100 Subject: [PATCH 3/4] Remove unused function --- modules/templates/helper.go | 4 ---- 1 file changed, 4 deletions(-) diff --git a/modules/templates/helper.go b/modules/templates/helper.go index ba0b0a28579b1..8b46ed40cec8e 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -377,10 +377,6 @@ func NewFuncMap() []template.FuncMap { return setting.MermaidMaxSourceCharacters }, "QueryEscape": url.QueryEscape, - "BeautifyRef": func(ref string) string { - splitted := strings.Split(ref, "/") - return splitted[len(splitted)-1] - }, }} } From 3b448a91b3632fc510c70dd6ba89633dfc772ca8 Mon Sep 17 00:00:00 2001 From: Gusted Date: Thu, 18 Nov 2021 02:00:44 +0000 Subject: [PATCH 4/4] Update models/issue.go Co-authored-by: wxiaoguang --- models/issue.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/models/issue.go b/models/issue.go index b452f3e1ae661..d486419c22399 100644 --- a/models/issue.go +++ b/models/issue.go @@ -756,16 +756,16 @@ func (issue *Issue) ChangeRef(doer *User, oldRef string) (err error) { if err = issue.loadRepo(db.GetEngine(ctx)); err != nil { return fmt.Errorf("loadRepo: %v", err) } - oldRef = strings.TrimPrefix(oldRef, "refs/heads/") - newRef := strings.TrimPrefix(issue.Ref, "refs/heads/") + oldRefFriendly := strings.TrimPrefix(oldRef, "refs/heads/") + newRefFriendly := strings.TrimPrefix(issue.Ref, "refs/heads/") opts := &CreateCommentOptions{ Type: CommentTypeChangeIssueRef, Doer: doer, Repo: issue.Repo, Issue: issue, - OldRef: oldRef, - NewRef: newRef, + OldRef: oldRefFriendly, + NewRef: newRefFriendly, } if _, err = createComment(db.GetEngine(ctx), opts); err != nil { return fmt.Errorf("createComment: %v", err)