diff --git a/pkg/models/task_comments.go b/pkg/models/task_comments.go index 429a0a8a147..c1ccd9ce30d 100644 --- a/pkg/models/task_comments.go +++ b/pkg/models/task_comments.go @@ -238,13 +238,17 @@ func (tc *TaskComment) ReadAll(s *xorm.Session, auth web.Auth, search string, pa limit, start := getLimitFromPageIndex(page, perPage) comments := []*TaskComment{} + where := []builder.Cond{ + builder.Eq{"task_id": tc.TaskID}, + } + + if search != "" { + where = append(where, db.ILIKE("comment", search)) + } query := s. - Where(builder.And( - builder.Eq{"task_id": tc.TaskID}, - db.ILIKE("comment", search), - )). + Where(builder.And(where...)). Join("LEFT", "users", "users.id = task_comments.author_id"). - OrderBy("id", "asc") + OrderBy("task_comments.id asc") if limit > 0 { query = query.Limit(limit, start) } diff --git a/pkg/models/task_comments_test.go b/pkg/models/task_comments_test.go index 5f7c6c640b8..7adff25416c 100644 --- a/pkg/models/task_comments_test.go +++ b/pkg/models/task_comments_test.go @@ -214,8 +214,8 @@ func TestTaskComment_ReadAll(t *testing.T) { tc := &TaskComment{TaskID: 1} u := &user.User{ID: 1} result, resultCount, total, err := tc.ReadAll(s, u, "", 0, -1) - resultComment := result.([]*TaskComment) assert.NoError(t, err) + resultComment := result.([]*TaskComment) assert.Equal(t, 1, resultCount) assert.Equal(t, int64(1), total) assert.Equal(t, int64(1), resultComment[0].ID) @@ -241,8 +241,8 @@ func TestTaskComment_ReadAll(t *testing.T) { tc := &TaskComment{TaskID: 35} u := &user.User{ID: 1} result, _, _, err := tc.ReadAll(s, u, "", 0, -1) - comments := result.([]*TaskComment) assert.NoError(t, err) + comments := result.([]*TaskComment) assert.Len(t, comments, 2) var foundComment bool for _, comment := range comments { @@ -261,8 +261,8 @@ func TestTaskComment_ReadAll(t *testing.T) { tc := &TaskComment{TaskID: 35} u := &user.User{ID: 1} result, _, _, err := tc.ReadAll(s, u, "COMMENT 15", 0, -1) - resultComment := result.([]*TaskComment) assert.NoError(t, err) + resultComment := result.([]*TaskComment) assert.Equal(t, int64(15), resultComment[0].ID) }) }