|
|
|
@ -239,20 +239,12 @@ func ViewIssue(ctx *middleware.Context, params martini.Params) {
|
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Update assignee.
|
|
|
|
|
if ctx.Repo.IsOwner { |
|
|
|
|
aid, _ := base.StrTo(ctx.Query("assignneid")).Int64() |
|
|
|
|
if aid > 0 { |
|
|
|
|
// Not check for invalid assignne id and give responsibility to owners.
|
|
|
|
|
issue.AssigneeId = aid |
|
|
|
|
if err = models.UpdateIssueUserPairByAssignee(aid, issue.Id); err != nil { |
|
|
|
|
ctx.Handle(500, "issue.ViewIssue(UpdateIssueUserPairByAssignee): %v", err) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
ctx.Redirect(fmt.Sprintf("%s/issues/%d", ctx.Repo.RepoLink, issue.Index)) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
us, err := models.GetCollaborators(strings.TrimPrefix(ctx.Repo.RepoLink, "/")) |
|
|
|
|
if err != nil { |
|
|
|
|
ctx.Handle(500, "issue.CreateIssue(GetCollaborators)", err) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
ctx.Data["Collaborators"] = us |
|
|
|
|
|
|
|
|
|
if ctx.IsSigned { |
|
|
|
|
// Update issue-user.
|
|
|
|
@ -300,18 +292,18 @@ func ViewIssue(ctx *middleware.Context, params martini.Params) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func UpdateIssue(ctx *middleware.Context, params martini.Params, form auth.CreateIssueForm) { |
|
|
|
|
index, err := base.StrTo(params["index"]).Int() |
|
|
|
|
idx, err := base.StrTo(params["index"]).Int() |
|
|
|
|
if err != nil { |
|
|
|
|
ctx.Handle(404, "issue.UpdateIssue", err) |
|
|
|
|
ctx.Error(404) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
issue, err := models.GetIssueByIndex(ctx.Repo.Repository.Id, int64(index)) |
|
|
|
|
issue, err := models.GetIssueByIndex(ctx.Repo.Repository.Id, int64(idx)) |
|
|
|
|
if err != nil { |
|
|
|
|
if err == models.ErrIssueNotExist { |
|
|
|
|
ctx.Handle(404, "issue.UpdateIssue", err) |
|
|
|
|
} else { |
|
|
|
|
ctx.Handle(200, "issue.UpdateIssue(get issue)", err) |
|
|
|
|
ctx.Handle(500, "issue.UpdateIssue(GetIssueByIndex)", err) |
|
|
|
|
} |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
@ -327,7 +319,7 @@ func UpdateIssue(ctx *middleware.Context, params martini.Params, form auth.Creat
|
|
|
|
|
issue.Labels = form.Labels |
|
|
|
|
issue.Content = form.Content |
|
|
|
|
if err = models.UpdateIssue(issue); err != nil { |
|
|
|
|
ctx.Handle(200, "issue.UpdateIssue(update issue)", err) |
|
|
|
|
ctx.Handle(500, "issue.UpdateIssue(UpdateIssue)", err) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -338,6 +330,44 @@ func UpdateIssue(ctx *middleware.Context, params martini.Params, form auth.Creat
|
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func UpdateAssignee(ctx *middleware.Context) { |
|
|
|
|
if !ctx.Repo.IsOwner { |
|
|
|
|
ctx.Error(403) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
idx, err := base.StrTo(ctx.Query("issue")).Int64() |
|
|
|
|
if err != nil { |
|
|
|
|
ctx.Error(404) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
issue, err := models.GetIssueByIndex(ctx.Repo.Repository.Id, idx) |
|
|
|
|
if err != nil { |
|
|
|
|
if err == models.ErrIssueNotExist { |
|
|
|
|
ctx.Handle(404, "issue.UpdateAssignee", err) |
|
|
|
|
} else { |
|
|
|
|
ctx.Handle(500, "issue.UpdateAssignee(GetIssueByIndex)", err) |
|
|
|
|
} |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
aid, _ := base.StrTo(ctx.Query("assigneeid")).Int64() |
|
|
|
|
// Not check for invalid assignne id and give responsibility to owners.
|
|
|
|
|
issue.AssigneeId = aid |
|
|
|
|
if err = models.UpdateIssueUserPairByAssignee(aid, issue.Id); err != nil { |
|
|
|
|
ctx.Handle(500, "issue.UpdateAssignee(UpdateIssueUserPairByAssignee): %v", err) |
|
|
|
|
return |
|
|
|
|
} else if err = models.UpdateIssue(issue); err != nil { |
|
|
|
|
ctx.Handle(500, "issue.UpdateAssignee(UpdateIssue)", err) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ctx.JSON(200, map[string]interface{}{ |
|
|
|
|
"ok": true, |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func Comment(ctx *middleware.Context, params martini.Params) { |
|
|
|
|
index, err := base.StrTo(ctx.Query("issueIndex")).Int64() |
|
|
|
|
if err != nil { |
|
|
|
|