fix(filters): make sure filters are replaced case-insensitively before filtering on the server
Resolves https://community.vikunja.io/t/filtering-startdate-now-is-invalid/2613
This commit is contained in:
parent
12474e5be6
commit
dd8be14fdb
@ -137,6 +137,16 @@ describe('Filter Transformation', () => {
|
||||
|
||||
expect(transformed).toBe('labels in 2 || labels in l')
|
||||
})
|
||||
|
||||
it('should correctly transform the cases of fields', () => {
|
||||
const transformed = transformFilterStringForApi(
|
||||
'startdate > now',
|
||||
nullTitleToIdResolver,
|
||||
nullTitleToIdResolver,
|
||||
)
|
||||
|
||||
expect(transformed).toBe('start_date > now')
|
||||
})
|
||||
})
|
||||
|
||||
describe('To API', () => {
|
||||
|
@ -67,10 +67,16 @@ export function transformFilterStringForApi(
|
||||
projectResolver: (title: string) => number | null,
|
||||
): string {
|
||||
|
||||
if (filter.trim() === '') {
|
||||
filter = filter.trim()
|
||||
|
||||
if (filter === '') {
|
||||
return ''
|
||||
}
|
||||
|
||||
AVAILABLE_FILTER_FIELDS.forEach(f => {
|
||||
filter = filter.replace(new RegExp(f, 'ig'), f)
|
||||
})
|
||||
|
||||
// Transform labels to ids
|
||||
LABEL_FIELDS.forEach(field => {
|
||||
const pattern = getFilterFieldRegexPattern(field)
|
||||
|
Loading…
x
Reference in New Issue
Block a user