refactor: remove default filter from frontend, apply by default to new list views instead

This commit is contained in:
Daniel Herrmann 2024-03-29 17:24:04 +01:00 committed by konrad
parent 95276ceebe
commit f542c55448
3 changed files with 65 additions and 1 deletions

View File

@ -18,7 +18,7 @@ export function getDefaultTaskFilterParams(): TaskFilterParams {
return {
sort_by: ['position', 'id'],
order_by: ['asc', 'desc'],
filter: 'done = false',
filter: '',
filter_include_nulls: false,
filter_timezone: '',
s: '',

View File

@ -0,0 +1,63 @@
// Vikunja is a to-do list application to facilitate your life.
// Copyright 2018-present Vikunja and contributors. All rights reserved.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public Licensee as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public Licensee for more details.
//
// You should have received a copy of the GNU Affero General Public Licensee
// along with this program. If not, see <https://www.gnu.org/licenses/>.
package migration
import (
"src.techknowlogick.com/xormigrate"
"xorm.io/xorm"
)
type projectView20240329170952 struct {
ID int64 `xorm:"autoincr not null unique pk" json:"id" param:"view"`
Filter string `xorm:"text null default null" query:"filter" json:"filter"`
ViewKind int `xorm:"not null" json:"view_kind"`
}
func (projectView20240329170952) TableName() string {
return "project_views"
}
func init() {
migrations = append(migrations, &xormigrate.Migration{
ID: "20240329170952",
Description: "Update default filter for list views to hide completed tasks",
Migrate: func(tx *xorm.Engine) error {
// Use ORM to get all project views
projectViews := []*projectView20240329170952{}
err := tx.Find(&projectViews)
if err != nil {
return err
}
// Update the filter for all list views to hide completed tasks unless the filter is already set
for _, view := range projectViews {
if view.ViewKind == 0 && view.Filter == "" {
view.Filter = "done = false"
_, err := tx.ID(view.ID).Update(view)
if err != nil {
return err
}
}
}
return nil
},
Rollback: func(tx *xorm.Engine) error {
return nil
},
})
}

View File

@ -391,6 +391,7 @@ func CreateDefaultViewsForProject(s *xorm.Session, project *Project, a web.Auth,
Title: "List",
ViewKind: ProjectViewKindList,
Position: 100,
Filter: "done = false",
}
err = createProjectView(s, list, a, createBacklogBucket)
if err != nil {