Skip to content

Commit

Permalink
Load label ID in NewLabels (#2045)
Browse files Browse the repository at this point in the history
  • Loading branch information
ethantkoenig authored and lunny committed Jun 25, 2017
1 parent f64c232 commit 2559a34
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 6 deletions.
25 changes: 22 additions & 3 deletions models/issue_label.go
Original file line number Diff line number Diff line change
Expand Up @@ -96,12 +96,31 @@ func (label *Label) ForegroundColor() template.CSS {
return template.CSS("#000")
}

// NewLabels creates new label(s) for a repository.
func NewLabels(labels ...*Label) error {
_, err := x.Insert(labels)
func newLabel(e Engine, label *Label) error {
_, err := e.Insert(label)
return err
}

// NewLabel creates a new label for a repository
func NewLabel(label *Label) error {
return newLabel(x, label)
}

// NewLabels creates new labels for a repository.
func NewLabels(labels ...*Label) error {
sess := x.NewSession()
defer sess.Close()
if err := sess.Begin(); err != nil {
return err
}
for _, label := range labels {
if err := newLabel(sess, label); err != nil {
return err
}
}
return sess.Commit()
}

// getLabelInRepoByName returns a label by Name in given repository.
// If pass repoID as 0, then ORM will ignore limitation of repository
// and can return arbitrary label with any valid ID.
Expand Down
2 changes: 1 addition & 1 deletion models/issue_label_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ func TestNewLabels(t *testing.T) {
}
assert.NoError(t, NewLabels(labels...))
for _, label := range labels {
AssertExistsAndLoadBean(t, label)
AssertExistsAndLoadBean(t, label, Cond("id = ?", label.ID))
}
CheckConsistencyFor(t, &Label{}, &Repository{})
}
Expand Down
2 changes: 1 addition & 1 deletion routers/api/v1/repo/label.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ func CreateLabel(ctx *context.APIContext, form api.CreateLabelOption) {
Color: form.Color,
RepoID: ctx.Repo.Repository.ID,
}
if err := models.NewLabels(label); err != nil {
if err := models.NewLabel(label); err != nil {
ctx.Error(500, "NewLabel", err)
return
}
Expand Down
2 changes: 1 addition & 1 deletion routers/repo/issue_label.go
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ func NewLabel(ctx *context.Context, form auth.CreateLabelForm) {
Name: form.Title,
Color: form.Color,
}
if err := models.NewLabels(l); err != nil {
if err := models.NewLabel(l); err != nil {
ctx.Handle(500, "NewLabel", err)
return
}
Expand Down

0 comments on commit 2559a34

Please sign in to comment.