move some milestone functions to a standalone package (#8213)
parent
99f3ee3bf3
commit
29454733b4
@ -0,0 +1,59 @@ |
||||
// Copyright 2019 The Gitea Authors. All rights reserved.
|
||||
// Use of this source code is governed by a MIT-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package models |
||||
|
||||
import ( |
||||
"code.gitea.io/gitea/models" |
||||
"code.gitea.io/gitea/modules/log" |
||||
api "code.gitea.io/gitea/modules/structs" |
||||
) |
||||
|
||||
// ChangeMilestoneAssign changes assignment of milestone for issue.
|
||||
func ChangeMilestoneAssign(issue *models.Issue, doer *models.User, oldMilestoneID int64) (err error) { |
||||
if err = models.ChangeMilestoneAssign(issue, doer, oldMilestoneID); err != nil { |
||||
return |
||||
} |
||||
|
||||
var hookAction api.HookIssueAction |
||||
if issue.MilestoneID > 0 { |
||||
hookAction = api.HookIssueMilestoned |
||||
} else { |
||||
hookAction = api.HookIssueDemilestoned |
||||
} |
||||
|
||||
if err = issue.LoadAttributes(); err != nil { |
||||
return err |
||||
} |
||||
|
||||
mode, _ := models.AccessLevel(doer, issue.Repo) |
||||
if issue.IsPull { |
||||
err = issue.PullRequest.LoadIssue() |
||||
if err != nil { |
||||
log.Error("LoadIssue: %v", err) |
||||
return |
||||
} |
||||
err = models.PrepareWebhooks(issue.Repo, models.HookEventPullRequest, &api.PullRequestPayload{ |
||||
Action: hookAction, |
||||
Index: issue.Index, |
||||
PullRequest: issue.PullRequest.APIFormat(), |
||||
Repository: issue.Repo.APIFormat(mode), |
||||
Sender: doer.APIFormat(), |
||||
}) |
||||
} else { |
||||
err = models.PrepareWebhooks(issue.Repo, models.HookEventIssues, &api.IssuePayload{ |
||||
Action: hookAction, |
||||
Index: issue.Index, |
||||
Issue: issue.APIFormat(), |
||||
Repository: issue.Repo.APIFormat(mode), |
||||
Sender: doer.APIFormat(), |
||||
}) |
||||
} |
||||
if err != nil { |
||||
log.Error("PrepareWebhooks [is_pull: %v]: %v", issue.IsPull, err) |
||||
} else { |
||||
go models.HookQueue.Add(issue.RepoID) |
||||
} |
||||
return nil |
||||
} |
Loading…
Reference in new issue