From 5644130f012901975e4b1eca79b997d7350f0463 Mon Sep 17 00:00:00 2001 From: kolaente Date: Thu, 11 Jul 2024 12:29:09 +0200 Subject: [PATCH] fix(filters): do not create a default filter for list view when creating a saved filter Because a default filter in a filter is highly unexpected, it can lead to these filters cancelling each other out, resulting in confusing behaviour. See https://kolaente.dev/vikunja/vikunja/issues/2547#issuecomment-65180 --- pkg/models/project.go | 2 +- pkg/models/project_view.go | 6 ++++-- pkg/models/saved_filters.go | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/pkg/models/project.go b/pkg/models/project.go index ecd0c936e..430acfd6e 100644 --- a/pkg/models/project.go +++ b/pkg/models/project.go @@ -822,7 +822,7 @@ func CreateProject(s *xorm.Session, project *Project, auth web.Auth, createBackl } if createDefaultViews { - err = CreateDefaultViewsForProject(s, project, auth, createBacklogBucket) + err = CreateDefaultViewsForProject(s, project, auth, createBacklogBucket, true) if err != nil { return } diff --git a/pkg/models/project_view.go b/pkg/models/project_view.go index 96d0d7adf..a686a9a7f 100644 --- a/pkg/models/project_view.go +++ b/pkg/models/project_view.go @@ -398,13 +398,15 @@ func GetProjectViewByID(s *xorm.Session, id int64) (view *ProjectView, err error return } -func CreateDefaultViewsForProject(s *xorm.Session, project *Project, a web.Auth, createBacklogBucket bool) (err error) { +func CreateDefaultViewsForProject(s *xorm.Session, project *Project, a web.Auth, createBacklogBucket bool, createDefaultListFilter bool) (err error) { list := &ProjectView{ ProjectID: project.ID, Title: "List", ViewKind: ProjectViewKindList, Position: 100, - Filter: "done = false", + } + if createDefaultListFilter { + list.Filter = "done = false" } err = createProjectView(s, list, a, createBacklogBucket) if err != nil { diff --git a/pkg/models/saved_filters.go b/pkg/models/saved_filters.go index e4ee322be..e58d2f5bd 100644 --- a/pkg/models/saved_filters.go +++ b/pkg/models/saved_filters.go @@ -123,7 +123,7 @@ func (sf *SavedFilter) Create(s *xorm.Session, auth web.Auth) (err error) { return } - err = CreateDefaultViewsForProject(s, &Project{ID: getProjectIDFromSavedFilterID(sf.ID)}, auth, true) + err = CreateDefaultViewsForProject(s, &Project{ID: getProjectIDFromSavedFilterID(sf.ID)}, auth, true, false) return err }