Add notify watcher action
This commit is contained in:
parent
c5ff58272b
commit
d3b8e9daa1
8 changed files with 119 additions and 95 deletions
|
@ -23,13 +23,33 @@ func Issues(ctx *middleware.Context, params martini.Params) {
|
|||
milestoneId, _ := base.StrTo(params["milestone"]).Int()
|
||||
page, _ := base.StrTo(params["page"]).Int()
|
||||
|
||||
var err error
|
||||
ctx.Data["Issues"], err = models.GetIssues(0, ctx.Repo.Repository.Id, 0,
|
||||
// Get issues.
|
||||
issues, err := models.GetIssues(0, ctx.Repo.Repository.Id, 0,
|
||||
int64(milestoneId), page, params["state"] == "closed", false, params["labels"], params["sortType"])
|
||||
if err != nil {
|
||||
ctx.Handle(200, "issue.Issues: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
var closedCount int
|
||||
// Get posters.
|
||||
for i := range issues {
|
||||
u, err := models.GetUserById(issues[i].PosterId)
|
||||
if err != nil {
|
||||
ctx.Handle(200, "issue.Issues(get poster): %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
if issues[i].IsClosed {
|
||||
closedCount++
|
||||
}
|
||||
issues[i].Poster = u
|
||||
}
|
||||
|
||||
ctx.Data["Issues"] = issues
|
||||
ctx.Data["IssueCount"] = len(issues)
|
||||
ctx.Data["OpenCount"] = len(issues) - closedCount
|
||||
ctx.Data["ClosedCount"] = closedCount
|
||||
ctx.HTML(200, "issue/list")
|
||||
}
|
||||
|
||||
|
@ -54,12 +74,20 @@ func CreateIssue(ctx *middleware.Context, params martini.Params, form auth.Creat
|
|||
|
||||
issue, err := models.CreateIssue(ctx.User.Id, ctx.Repo.Repository.Id, form.MilestoneId, form.AssigneeId,
|
||||
form.IssueName, form.Labels, form.Content, false)
|
||||
if err == nil {
|
||||
log.Trace("%d Issue created: %d", ctx.Repo.Repository.Id, issue.Id)
|
||||
ctx.Redirect(fmt.Sprintf("/%s/%s/issues/%d", params["username"], params["reponame"], issue.Index))
|
||||
if err != nil {
|
||||
ctx.Handle(200, "issue.CreateIssue", err)
|
||||
return
|
||||
}
|
||||
ctx.Handle(200, "issue.CreateIssue", err)
|
||||
|
||||
// Notify watchers.
|
||||
if err = models.NotifyWatchers(ctx.User.Id, ctx.Repo.Repository.Id, models.OP_CREATE_ISSUE,
|
||||
ctx.User.Name, ctx.Repo.Repository.Name, "", fmt.Sprintf("%d|%s", issue.Index, issue.Name)); err != nil {
|
||||
ctx.Handle(200, "issue.CreateIssue", err)
|
||||
return
|
||||
}
|
||||
|
||||
log.Trace("%d Issue created: %d", ctx.Repo.Repository.Id, issue.Id)
|
||||
ctx.Redirect(fmt.Sprintf("/%s/%s/issues/%d", params["username"], params["reponame"], issue.Index))
|
||||
}
|
||||
|
||||
func ViewIssue(ctx *middleware.Context, params martini.Params) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue