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, taskPropertyUpdated,
taskPropertyPosition, taskPropertyPosition,
taskPropertyKanbanPosition, taskPropertyKanbanPosition,
taskPropertyBucketID: taskPropertyBucketID,
taskPropertyIndex:
return nil return nil
} }
return ErrInvalidTaskField{TaskField: fieldName} return ErrInvalidTaskField{TaskField: fieldName}

View File

@ -46,6 +46,7 @@ const (
taskPropertyPosition string = "position" taskPropertyPosition string = "position"
taskPropertyKanbanPosition string = "kanban_position" taskPropertyKanbanPosition string = "kanban_position"
taskPropertyBucketID string = "bucket_id" taskPropertyBucketID string = "bucket_id"
taskPropertyIndex string = "index"
) )
const ( 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 // 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. // first sorting for null (or not null) values and then the order we actually want to.
if db.Type() == schemas.MYSQL { 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. // 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. // To make that consistent with the sort order we have and other dbms, we're adding a separate clause here.