]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
allow commas in non-multi rules query params 923/head
authorMichael Shamoon <4887959+shamoon@users.noreply.github.com>
Wed, 11 May 2022 17:26:17 +0000 (10:26 -0700)
committerMichael Shamoon <4887959+shamoon@users.noreply.github.com>
Wed, 11 May 2022 17:26:17 +0000 (10:26 -0700)
src-ui/src/app/services/query-params.service.ts

index 1528dca576858ee6d0b4a2d320beda8d838ac8f2..da014a0a4572704d47fa97f5837fbbae275567c9 100644 (file)
@@ -1,7 +1,7 @@
 import { Injectable } from '@angular/core'
 import { ParamMap, Params, Router } from '@angular/router'
 import { FilterRule } from '../data/filter-rule'
-import { FILTER_RULE_TYPES } from '../data/filter-rule-type'
+import { FilterRuleType, FILTER_RULE_TYPES } from '../data/filter-rule-type'
 import { PaperlessSavedView } from '../data/paperless-saved-view'
 import { DocumentListViewService } from './document-list-view.service'
 
@@ -135,17 +135,19 @@ export function filterRulesFromQueryParams(queryParams: ParamMap) {
   allFilterRuleQueryParams
     .filter((frqp) => queryParams.has(frqp))
     .forEach((filterQueryParamName) => {
-      const filterQueryParamValues: string[] = queryParams
-        .get(filterQueryParamName)
-        .split(',')
+      const rule_type: FilterRuleType = FILTER_RULE_TYPES.find(
+        (rt) => rt.filtervar == filterQueryParamName
+      )
+      const valueURIComponent: string = queryParams.get(filterQueryParamName)
+      const filterQueryParamValues: string[] = rule_type.multi
+        ? valueURIComponent.split(',')
+        : [valueURIComponent]
 
       filterRulesFromQueryParams = filterRulesFromQueryParams.concat(
         // map all values to filter rules
         filterQueryParamValues.map((val) => {
           return {
-            rule_type: FILTER_RULE_TYPES.find(
-              (rt) => rt.filtervar == filterQueryParamName
-            ).id,
+            rule_type: rule_type.id,
             value: val,
           }
         })