1
1
mirror of https://github.com/go-gitea/gitea synced 2025-07-03 09:07:19 +00:00

Move more issue assignee code from models to issue service (#8690)

* Move more issue assignee code from models to issue service

* fix test
This commit is contained in:
Lunny Xiao
2019-10-28 10:11:50 +08:00
committed by GitHub
parent 018b0e8180
commit 495d5e4329
8 changed files with 193 additions and 129 deletions

View File

@ -56,44 +56,7 @@ func ChangeTitle(issue *models.Issue, doer *models.User, title string) (err erro
return
}
mode, _ := models.AccessLevel(issue.Poster, issue.Repo)
if issue.IsPull {
if err = issue.LoadPullRequest(); err != nil {
return fmt.Errorf("loadPullRequest: %v", err)
}
issue.PullRequest.Issue = issue
err = models.PrepareWebhooks(issue.Repo, models.HookEventPullRequest, &api.PullRequestPayload{
Action: api.HookIssueEdited,
Index: issue.Index,
Changes: &api.ChangesPayload{
Title: &api.ChangesFromPayload{
From: oldTitle,
},
},
PullRequest: issue.PullRequest.APIFormat(),
Repository: issue.Repo.APIFormat(mode),
Sender: doer.APIFormat(),
})
} else {
err = models.PrepareWebhooks(issue.Repo, models.HookEventIssues, &api.IssuePayload{
Action: api.HookIssueEdited,
Index: issue.Index,
Changes: &api.ChangesPayload{
Title: &api.ChangesFromPayload{
From: oldTitle,
},
},
Issue: issue.APIFormat(),
Repository: issue.Repo.APIFormat(mode),
Sender: issue.Poster.APIFormat(),
})
}
if err != nil {
log.Error("PrepareWebhooks [is_pull: %v]: %v", issue.IsPull, err)
} else {
go models.HookQueue.Add(issue.RepoID)
}
notification.NotifyIssueChangeTitle(doer, issue, oldTitle)
return nil
}
@ -134,7 +97,7 @@ func UpdateAssignees(issue *models.Issue, oneAssignee string, multipleAssignees
}
// Delete all old assignees not passed
if err = models.DeleteNotPassedAssignee(issue, doer, allNewAssignees); err != nil {
if err = DeleteNotPassedAssignee(issue, doer, allNewAssignees); err != nil {
return err
}
@ -179,13 +142,11 @@ func AddAssigneeIfNotAssigned(issue *models.Issue, doer *models.User, assigneeID
return models.ErrUserDoesNotHaveAccessToRepo{UserID: assigneeID, RepoName: issue.Repo.Name}
}
removed, comment, err := issue.ToggleAssignee(doer, assigneeID)
_, _, err = ToggleAssignee(issue, doer, assigneeID)
if err != nil {
return err
}
notification.NotifyIssueChangeAssignee(doer, issue, assignee, removed, comment)
return nil
}