From fa137b1ffc5ab9ae7ae3f583a032004e6c9589dd Mon Sep 17 00:00:00 2001 From: kolaente Date: Tue, 19 Mar 2024 17:05:12 +0100 Subject: [PATCH] fix(views): include order by fields in distinct clause when sorting by task position --- pkg/models/task_search.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/models/task_search.go b/pkg/models/task_search.go index 0425cbf5e..190fd150d 100644 --- a/pkg/models/task_search.go +++ b/pkg/models/task_search.go @@ -261,8 +261,13 @@ func (d *dbTaskSearcher) Search(opts *taskSearchOptions) (tasks []*Task, totalCo limit, start := getLimitFromPageIndex(opts.page, opts.perPage) cond := builder.And(builder.Or(projectIDCond, favoritesCond), where, filterCond) + var distinct = "tasks.*" + if strings.Contains(orderby, "task_positions.") { + distinct += ", task_positions.position" + } + query := d.s. - Distinct("tasks.*"). + Distinct(distinct). Where(cond) if limit > 0 { query = query.Limit(limit, start)