From 10f71c29b207410eebd074df1b78b70e1cee8356 Mon Sep 17 00:00:00 2001 From: kolaente Date: Fri, 14 Apr 2023 11:01:31 +0200 Subject: [PATCH] fix(saved filters): don't let query parameters override saved sorting parameters Resolves https://kolaente.dev/vikunja/frontend/issues/3380 --- pkg/models/task_collection.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkg/models/task_collection.go b/pkg/models/task_collection.go index 52263c5dd..b5e526f98 100644 --- a/pkg/models/task_collection.go +++ b/pkg/models/task_collection.go @@ -150,10 +150,13 @@ func (tf *TaskCollection) ReadAll(s *xorm.Session, a web.Auth, search string, pa return nil, 0, 0, err } - sf.Filters.SortByArr = tf.SortByArr - sf.Filters.SortBy = tf.SortBy + sf.Filters.SortByArr = append(sf.Filters.SortByArr, tf.SortByArr...) + sf.Filters.SortBy = append(sf.Filters.SortBy, tf.SortBy...) + if len(sf.Filters.OrderBy) > len(sf.Filters.SortBy) { + sf.Filters.OrderBy = sf.Filters.OrderBy[:len(sf.Filters.SortBy)] + } + sf.Filters.OrderBy = append(sf.Filters.OrderBy, tf.OrderBy...) sf.Filters.OrderByArr = tf.OrderByArr - sf.Filters.OrderBy = tf.OrderBy return sf.getTaskCollection().ReadAll(s, a, search, page, perPage) }