summaryrefslogtreecommitdiffstats
path: root/services/issue
diff options
context:
space:
mode:
authorVedran <vedran.mikov@protonmail.com>2020-09-08 18:29:51 +0200
committerGitHub <noreply@github.com>2020-09-08 12:29:51 -0400
commite2043987543d6b1e94afc22d145d70ddaf814898 (patch)
treef8e952b03163cdc28ede50bf6598bf549bbed632 /services/issue
parent0ed8d268ad10fcf24a6cc578fc24c457d62f4fab (diff)
downloadgitea-e2043987543d6b1e94afc22d145d70ddaf814898.tar.gz
gitea-e2043987543d6b1e94afc22d145d70ddaf814898.zip
Change/remove a branch of an open issue (#9080)
* Add field with isIssueWriter to front end * Make branch field editable * Switch frontend to form and POST from javascript * Add /issue/id/ref endpoint to routes * Use UpdateIssueTitle model to change ref in backend * Removed crossreference check and adding comments on branch change * Use ref returned from POST to update the field * Prevent calling loadRepo from models/ * Branch/tag refreshed without page reload * Remove filter for empty branch name * Add clear option to tag list as well * Delete button translation and coloring * Fix for not showing selected branch name in new issue * Check that branch is not being changed on a PR * Change logic * Notification when changing issue ref * Fix for renamed permission parameter * Fix for failing build * Apply suggestions from code review Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: Gitea <gitea@fake.local> Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
Diffstat (limited to 'services/issue')
-rw-r--r--services/issue/issue.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/services/issue/issue.go b/services/issue/issue.go
index 64d69119b7..0f90a2bcd0 100644
--- a/services/issue/issue.go
+++ b/services/issue/issue.go
@@ -42,6 +42,20 @@ func ChangeTitle(issue *models.Issue, doer *models.User, title string) (err erro
return nil
}
+// ChangeIssueRef changes the branch of this issue, as the given user.
+func ChangeIssueRef(issue *models.Issue, doer *models.User, ref string) error {
+ oldRef := issue.Ref
+ issue.Ref = ref
+
+ if err := issue.ChangeRef(doer, oldRef); err != nil {
+ return err
+ }
+
+ notification.NotifyIssueChangeRef(doer, issue, oldRef)
+
+ return nil
+}
+
// UpdateAssignees is a helper function to add or delete one or multiple issue assignee(s)
// Deleting is done the GitHub way (quote from their api documentation):
// https://developer.github.com/v3/issues/#edit-an-issue