fix(tasks): allow sorting by task index

This commit is contained in:
kolaente 2022-11-09 14:43:31 +01:00
parent 15828df041
commit a9e6776abf
Signed by untrusted user: konrad
GPG Key ID: F40E70337AB24C9B
3 changed files with 5 additions and 3 deletions

View File

@ -74,7 +74,8 @@ func validateTaskField(fieldName string) error {
taskPropertyUpdated,
taskPropertyPosition,
taskPropertyKanbanPosition,
taskPropertyBucketID:
taskPropertyBucketID,
taskPropertyIndex:
return nil
}
return ErrInvalidTaskField{TaskField: fieldName}

View File

@ -46,6 +46,7 @@ const (
taskPropertyPosition string = "position"
taskPropertyKanbanPosition string = "kanban_position"
taskPropertyBucketID string = "bucket_id"
taskPropertyIndex string = "index"
)
const (

View File

@ -309,10 +309,10 @@ func getRawTasksForLists(s *xorm.Session, lists []*List, a web.Auth, opts *taskO
// Because it does not have support for NULLS FIRST or NULLS LAST we work around this by
// first sorting for null (or not null) values and then the order we actually want to.
if db.Type() == schemas.MYSQL {
orderby += param.sortBy + " IS NULL, "
orderby += "`" + param.sortBy + "` IS NULL, "
}
orderby += param.sortBy + " " + param.orderBy.String()
orderby += "`" + param.sortBy + "` " + param.orderBy.String()
// Postgres and sqlite allow us to control how columns with null values are sorted.
// To make that consistent with the sort order we have and other dbms, we're adding a separate clause here.