|
|
|
@ -779,7 +779,7 @@ func (issue *Issue) ChangeAssignee(doer *User, assigneeID int64) (err error) { |
|
|
|
|
type NewIssueOptions struct { |
|
|
|
|
Repo *Repository |
|
|
|
|
Issue *Issue |
|
|
|
|
LableIDs []int64 |
|
|
|
|
LabelIDs []int64 |
|
|
|
|
Attachments []string // In UUID format.
|
|
|
|
|
IsPull bool |
|
|
|
|
} |
|
|
|
@ -851,12 +851,12 @@ func newIssue(e *xorm.Session, doer *User, opts NewIssueOptions) (err error) { |
|
|
|
|
return err |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if len(opts.LableIDs) > 0 { |
|
|
|
|
if len(opts.LabelIDs) > 0 { |
|
|
|
|
// During the session, SQLite3 driver cannot handle retrieve objects after update something.
|
|
|
|
|
// So we have to get all needed labels first.
|
|
|
|
|
labels := make([]*Label, 0, len(opts.LableIDs)) |
|
|
|
|
if err = e.In("id", opts.LableIDs).Find(&labels); err != nil { |
|
|
|
|
return fmt.Errorf("find all labels [label_ids: %v]: %v", opts.LableIDs, err) |
|
|
|
|
labels := make([]*Label, 0, len(opts.LabelIDs)) |
|
|
|
|
if err = e.In("id", opts.LabelIDs).Find(&labels); err != nil { |
|
|
|
|
return fmt.Errorf("find all labels [label_ids: %v]: %v", opts.LabelIDs, err) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if err = opts.Issue.loadPoster(e); err != nil { |
|
|
|
@ -909,7 +909,7 @@ func NewIssue(repo *Repository, issue *Issue, labelIDs []int64, uuids []string) |
|
|
|
|
if err = newIssue(sess, issue.Poster, NewIssueOptions{ |
|
|
|
|
Repo: repo, |
|
|
|
|
Issue: issue, |
|
|
|
|
LableIDs: labelIDs, |
|
|
|
|
LabelIDs: labelIDs, |
|
|
|
|
Attachments: uuids, |
|
|
|
|
}); err != nil { |
|
|
|
|
return fmt.Errorf("newIssue: %v", err) |
|
|
|
|