diff --git a/pkg/models/kanban.go b/pkg/models/kanban.go index 3cf007a82..69cd39ff3 100644 --- a/pkg/models/kanban.go +++ b/pkg/models/kanban.go @@ -175,9 +175,8 @@ func (b *Bucket) ReadAll(s *xorm.Session, auth web.Auth, search string, page int opts.page = page opts.perPage = perPage opts.search = search - opts.filterConcat = filterConcatAnd - for _, filter := range opts.filters { + for _, filter := range opts.parsedFilters { if filter.field == taskPropertyBucketID { // Limiting the map to the one filter we're looking for is the easiest way to ensure we only @@ -201,7 +200,7 @@ func (b *Bucket) ReadAll(s *xorm.Session, auth web.Auth, search string, page int } else { filterString = "(" + originalFilter + ") && bucket_id = " + strconv.FormatInt(id, 10) } - opts.filters, err = getTaskFiltersFromFilterString(filterString) + opts.parsedFilters, err = getTaskFiltersFromFilterString(filterString) if err != nil { return } diff --git a/pkg/models/task_collection.go b/pkg/models/task_collection.go index ab2f65321..345a00608 100644 --- a/pkg/models/task_collection.go +++ b/pkg/models/task_collection.go @@ -105,7 +105,7 @@ func getTaskFilterOptsFromCollection(tf *TaskCollection) (opts *taskSearchOption filter: tf.Filter, } - opts.filters, err = getTaskFiltersFromFilterString(tf.Filter) + opts.parsedFilters, err = getTaskFiltersFromFilterString(tf.Filter) return opts, err } diff --git a/pkg/models/task_collection_test.go b/pkg/models/task_collection_test.go index 9b1c95134..7f97f2ef1 100644 --- a/pkg/models/task_collection_test.go +++ b/pkg/models/task_collection_test.go @@ -1387,6 +1387,8 @@ func TestTaskCollection_ReadAll(t *testing.T) { task9, }, }, + // TODO unix dates + // TODO date magic } for _, tt := range tests { diff --git a/pkg/models/task_search.go b/pkg/models/task_search.go index aa2fae24c..b66021f18 100644 --- a/pkg/models/task_search.go +++ b/pkg/models/task_search.go @@ -204,7 +204,7 @@ func (d *dbTaskSearcher) Search(opts *taskSearchOptions) (tasks []*Task, totalCo return nil, 0, err } - filterCond, err := convertFiltersToDBFilterCond(opts.filters, opts.filterIncludeNulls) + filterCond, err := convertFiltersToDBFilterCond(opts.parsedFilters, opts.filterIncludeNulls) if err != nil { return nil, 0, err } @@ -348,7 +348,7 @@ func (t *typesenseTaskSearcher) Search(opts *taskSearchOptions) (tasks []*Task, "project_id: [" + strings.Join(projectIDStrings, ", ") + "]", } - for _, f := range opts.filters { + for _, f := range opts.parsedFilters { if f.field == "reminders" { f.field = "reminders.reminder" diff --git a/pkg/models/tasks.go b/pkg/models/tasks.go index 613e41246..c00ce0d00 100644 --- a/pkg/models/tasks.go +++ b/pkg/models/tasks.go @@ -167,13 +167,11 @@ const ( ) type taskSearchOptions struct { - search string - page int - perPage int - sortby []*sortParam - filters []*taskFilter - // deprecated: concat should live in filters directly - filterConcat taskFilterConcatinator + search string + page int + perPage int + sortby []*sortParam + parsedFilters []*taskFilter filterIncludeNulls bool filter string projectIDs []int64 @@ -267,11 +265,6 @@ func getRawTasksForProjects(s *xorm.Session, projects []*Project, a web.Auth, op return nil, 0, 0, nil } - // Set the default concatinator of filter variables to or if none was provided - if opts.filterConcat == "" { - opts.filterConcat = filterConcatOr - } - // Get all project IDs and get the tasks opts.projectIDs = []int64{} var hasFavoritesProject bool