1
0
Fork 0
forked from forgejo/forgejo

Move issue change status from models to service (#8691)

This commit is contained in:
Lunny Xiao 2019-10-28 13:26:46 +08:00 committed by GitHub
parent 495d5e4329
commit c66c9dabc7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 68 additions and 54 deletions

View file

@ -1185,7 +1185,7 @@ func UpdateIssueStatus(ctx *context.Context) {
}
for _, issue := range issues {
if issue.IsClosed != isClosed {
if err := issue.ChangeStatus(ctx.User, isClosed); err != nil {
if err := issue_service.ChangeStatus(issue, ctx.User, isClosed); err != nil {
if models.IsErrDependenciesLeft(err) {
ctx.JSON(http.StatusPreconditionFailed, map[string]interface{}{
"error": "cannot close this issue because it still has open dependencies",
@ -1195,8 +1195,6 @@ func UpdateIssueStatus(ctx *context.Context) {
ctx.ServerError("ChangeStatus", err)
return
}
notification.NotifyIssueChangeStatus(ctx.User, issue, isClosed)
}
}
ctx.JSON(200, map[string]interface{}{
@ -1286,7 +1284,7 @@ func NewComment(ctx *context.Context, form auth.CreateCommentForm) {
ctx.Flash.Info(ctx.Tr("repo.pulls.open_unmerged_pull_exists", pr.Index))
} else {
isClosed := form.Status == "close"
if err := issue.ChangeStatus(ctx.User, isClosed); err != nil {
if err := issue_service.ChangeStatus(issue, ctx.User, isClosed); err != nil {
log.Error("ChangeStatus: %v", err)
if models.IsErrDependenciesLeft(err) {
@ -1300,15 +1298,12 @@ func NewComment(ctx *context.Context, form auth.CreateCommentForm) {
return
}
} else {
if err := stopTimerIfAvailable(ctx.User, issue); err != nil {
ctx.ServerError("CreateOrStopIssueStopwatch", err)
return
}
log.Trace("Issue [%d] status changed to closed: %v", issue.ID, issue.IsClosed)
notification.NotifyIssueChangeStatus(ctx.User, issue, isClosed)
}
}
}