Fix failure on creating pull request with assignees (#4419) (#4583)

This commit is contained in:
SagePtr 2018-08-16 13:52:51 +02:00 committed by Lunny Xiao
parent 8273479b41
commit 50ce19eff7
2 changed files with 7 additions and 3 deletions

View File

@ -964,7 +964,7 @@ func newIssue(e *xorm.Session, doer *User, opts NewIssueOptions) (err error) {
// Insert the assignees // Insert the assignees
for _, assigneeID := range opts.AssigneeIDs { for _, assigneeID := range opts.AssigneeIDs {
err = opts.Issue.changeAssignee(e, doer, assigneeID) err = opts.Issue.changeAssignee(e, doer, assigneeID, true)
if err != nil { if err != nil {
return err return err
} }

View File

@ -134,14 +134,14 @@ func (issue *Issue) ChangeAssignee(doer *User, assigneeID int64) (err error) {
return err return err
} }
if err := issue.changeAssignee(sess, doer, assigneeID); err != nil { if err := issue.changeAssignee(sess, doer, assigneeID, false); err != nil {
return err return err
} }
return sess.Commit() return sess.Commit()
} }
func (issue *Issue) changeAssignee(sess *xorm.Session, doer *User, assigneeID int64) (err error) { func (issue *Issue) changeAssignee(sess *xorm.Session, doer *User, assigneeID int64, isCreate bool) (err error) {
// Update the assignee // Update the assignee
removed, err := updateIssueAssignee(sess, issue, assigneeID) removed, err := updateIssueAssignee(sess, issue, assigneeID)
@ -161,6 +161,10 @@ func (issue *Issue) changeAssignee(sess *xorm.Session, doer *User, assigneeID in
mode, _ := accessLevel(sess, doer.ID, issue.Repo) mode, _ := accessLevel(sess, doer.ID, issue.Repo)
if issue.IsPull { if issue.IsPull {
// if pull request is in the middle of creation - don't call webhook
if isCreate {
return nil
}
if err = issue.loadPullRequest(sess); err != nil { if err = issue.loadPullRequest(sess); err != nil {
return fmt.Errorf("loadPullRequest: %v", err) return fmt.Errorf("loadPullRequest: %v", err)
} }