From 922f3f306239aca309279dbdf1bdedfb9788b6e8 Mon Sep 17 00:00:00 2001 From: Unknwon Date: Mon, 10 Aug 2015 16:52:08 +0800 Subject: finish create issue with labels --- models/issue.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'models') diff --git a/models/issue.go b/models/issue.go index 892b9928c0..de8a4f5346 100644 --- a/models/issue.go +++ b/models/issue.go @@ -144,8 +144,8 @@ func (i *Issue) AfterDelete() { } } -// CreateIssue creates new issue for repository. -func NewIssue(issue *Issue) (err error) { +// CreateIssue creates new issue with labels for repository. +func NewIssue(issue *Issue, labelIDs []int64) (err error) { sess := x.NewSession() defer sessionRelease(sess) if err = sess.Begin(); err != nil { @@ -158,6 +158,12 @@ func NewIssue(issue *Issue) (err error) { return err } + for _, id := range labelIDs { + if err = issue.addLabel(sess, id); err != nil { + return fmt.Errorf("addLabel: %v", err) + } + } + if err = sess.Commit(); err != nil { return err } @@ -688,6 +694,10 @@ func HasIssueLabel(issueID, labelID int64) bool { } func newIssueLabel(e Engine, issueID, labelID int64) error { + if issueID == 0 || labelID == 0 { + return nil + } + _, err := e.Insert(&IssueLabel{ IssueID: issueID, LabelID: labelID, -- cgit v1.2.3