summaryrefslogtreecommitdiffstats
path: root/routers/repo/issue.go
diff options
context:
space:
mode:
Diffstat (limited to 'routers/repo/issue.go')
-rw-r--r--routers/repo/issue.go61
1 files changed, 24 insertions, 37 deletions
diff --git a/routers/repo/issue.go b/routers/repo/issue.go
index 2fa270f373..647b224d37 100644
--- a/routers/repo/issue.go
+++ b/routers/repo/issue.go
@@ -524,62 +524,49 @@ func ViewIssue(ctx *middleware.Context) {
ctx.HTML(200, ISSUE_VIEW)
}
-func UpdateIssue(ctx *middleware.Context, form auth.CreateIssueForm) {
- idx := com.StrTo(ctx.Params(":index")).MustInt64()
- if idx <= 0 {
- ctx.Error(404)
- return
- }
-
- issue, err := models.GetIssueByIndex(ctx.Repo.Repository.ID, idx)
+func getActionIssue(ctx *middleware.Context) *models.Issue {
+ issue, err := models.GetIssueByIndex(ctx.Repo.Repository.ID, ctx.ParamsInt64(":index"))
if err != nil {
if models.IsErrIssueNotExist(err) {
- ctx.Handle(404, "issue.UpdateIssue", err)
+ ctx.Error(404, "GetIssueByIndex")
} else {
- ctx.Handle(500, "issue.UpdateIssue(GetIssueByIndex)", err)
+ ctx.Handle(500, "GetIssueByIndex", err)
}
+ return nil
+ }
+ return issue
+}
+
+func UpdateIssueTitle(ctx *middleware.Context) {
+ issue := getActionIssue(ctx)
+ if ctx.Written() {
return
}
- if ctx.User.Id != issue.PosterID && !ctx.Repo.IsOwner() {
+ if !ctx.IsSigned || ctx.User.Id != issue.PosterID || !ctx.Repo.IsAdmin() {
ctx.Error(403)
return
}
- issue.Name = form.Title
- //issue.MilestoneId = form.MilestoneId
- //issue.AssigneeId = form.AssigneeId
- //issue.LabelIds = form.Labels
- issue.Content = form.Content
- // try get content from text, ignore conflict with preview ajax
- if form.Content == "" {
- issue.Content = ctx.Query("text")
+ title := ctx.Query("title")
+ if len(title) == 0 {
+ ctx.JSON(200, map[string]interface{}{
+ "title": issue.Name,
+ })
+ return
}
- if err = models.UpdateIssue(issue); err != nil {
- ctx.Handle(500, "issue.UpdateIssue(UpdateIssue)", err)
+ issue.Name = title
+
+ if err := models.UpdateIssue(issue); err != nil {
+ ctx.Handle(500, "UpdateIssue", err)
return
}
ctx.JSON(200, map[string]interface{}{
- "ok": true,
- "title": issue.Name,
- "content": string(base.RenderMarkdown([]byte(issue.Content), ctx.Repo.RepoLink)),
+ "title": issue.Name,
})
}
-func getActionIssue(ctx *middleware.Context) *models.Issue {
- issue, err := models.GetIssueByIndex(ctx.Repo.Repository.ID, ctx.ParamsInt64(":index"))
- if err != nil {
- if models.IsErrIssueNotExist(err) {
- ctx.Error(404, "GetIssueByIndex")
- } else {
- ctx.Handle(500, "GetIssueByIndex", err)
- }
- return nil
- }
- return issue
-}
-
func UpdateIssueLabel(ctx *middleware.Context) {
issue := getActionIssue(ctx)
if ctx.Written() {