aboutsummaryrefslogtreecommitdiffstats
path: root/routers/repo/issue.go
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 /routers/repo/issue.go
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 'routers/repo/issue.go')
-rw-r--r--routers/repo/issue.go26
1 files changed, 25 insertions, 1 deletions
diff --git a/routers/repo/issue.go b/routers/repo/issue.go
index 4c745ed5d7..4fc83719fd 100644
--- a/routers/repo/issue.go
+++ b/routers/repo/issue.go
@@ -1244,7 +1244,7 @@ func ViewIssue(ctx *context.Context) {
ctx.Data["Participants"] = participants
ctx.Data["NumParticipants"] = len(participants)
ctx.Data["Issue"] = issue
- ctx.Data["ReadOnly"] = true
+ ctx.Data["ReadOnly"] = false
ctx.Data["SignInLink"] = setting.AppSubURL + "/user/login?redirect_to=" + ctx.Data["Link"].(string)
ctx.Data["IsIssuePoster"] = ctx.IsSigned && issue.IsPoster(ctx.User.ID)
ctx.Data["HasIssuesOrPullsWritePermission"] = ctx.Repo.CanWriteIssuesOrPulls(issue.IsPull)
@@ -1344,6 +1344,30 @@ func UpdateIssueTitle(ctx *context.Context) {
})
}
+// UpdateIssueRef change issue's ref (branch)
+func UpdateIssueRef(ctx *context.Context) {
+ issue := GetActionIssue(ctx)
+ if ctx.Written() {
+ return
+ }
+
+ if !ctx.IsSigned || (!issue.IsPoster(ctx.User.ID) && !ctx.Repo.CanWriteIssuesOrPulls(issue.IsPull)) || issue.IsPull {
+ ctx.Error(403)
+ return
+ }
+
+ ref := ctx.QueryTrim("ref")
+
+ if err := issue_service.ChangeIssueRef(issue, ctx.User, ref); err != nil {
+ ctx.ServerError("ChangeRef", err)
+ return
+ }
+
+ ctx.JSON(200, map[string]interface{}{
+ "ref": ref,
+ })
+}
+
// UpdateIssueContent change issue's content
func UpdateIssueContent(ctx *context.Context) {
issue := GetActionIssue(ctx)