diff --git a/Kitodo/src/main/java/org/kitodo/production/enums/FilterString.java b/Kitodo/src/main/java/org/kitodo/production/enums/FilterString.java index e4729ceec6b..c498286e841 100644 --- a/Kitodo/src/main/java/org/kitodo/production/enums/FilterString.java +++ b/Kitodo/src/main/java/org/kitodo/production/enums/FilterString.java @@ -25,6 +25,7 @@ public enum FilterString { ID("id:", "id:"), PARENTPROCESSID("parentprocessid:", "elternprozessid:"), PROCESS("process:", "prozess:"), + PROCESS_LOOSE("process_loose:", "prozess_unscharf:"), BATCH("batch:", "gruppe:"), TASKAUTOMATIC("stepautomatic:", "schrittautomatisch:"), PROPERTY("property:","eigenschaft:"), diff --git a/Kitodo/src/main/java/org/kitodo/production/filters/FilterMenu.java b/Kitodo/src/main/java/org/kitodo/production/filters/FilterMenu.java index 49c53faad06..c24bd67f7af 100644 --- a/Kitodo/src/main/java/org/kitodo/production/filters/FilterMenu.java +++ b/Kitodo/src/main/java/org/kitodo/production/filters/FilterMenu.java @@ -44,6 +44,7 @@ public class FilterMenu { FilterString.ID, FilterString.PARENTPROCESSID, FilterString.PROCESS, + FilterString.PROCESS_LOOSE, FilterString.BATCH, FilterString.PROPERTY ); @@ -55,6 +56,7 @@ public class FilterMenu { FilterString.PROJECT_LOOSE, FilterString.ID, FilterString.PROCESS, + FilterString.PROCESS_LOOSE, FilterString.BATCH, FilterString.PROPERTY ); diff --git a/Kitodo/src/main/java/org/kitodo/production/services/data/FilterField.java b/Kitodo/src/main/java/org/kitodo/production/services/data/FilterField.java index b5eae27ca59..395cf682dda 100644 --- a/Kitodo/src/main/java/org/kitodo/production/services/data/FilterField.java +++ b/Kitodo/src/main/java/org/kitodo/production/services/data/FilterField.java @@ -25,7 +25,8 @@ enum FilterField { SEARCH(null, null, null, null, null, null, "search", ProcessKeywords.LENGTH_MIN_REASONABLE), PROCESS_ID(null, null, null, "id", "process.id", null, null, -1), PARENT_PROCESS_ID(null, null, null, "parent.id", "process.parent.id", null, null, -1), - PROCESS_TITLE("title", "process.title", LikeSearch.NO, null, null, null, "searchTitle", + PROCESS_TITLE("title", "process.title",LikeSearch.NO,"id", "process.id", null, null, -1), + PROCESS_TITLE_LOOSE("title", "process.title", LikeSearch.NO, null, null, null, "searchTitle", ProcessKeywords.LENGTH_MIN_DEFAULT), PROJECT("project.title", "process.project.title", LikeSearch.ALLOWED, "project.id", "process.project.id", null, null, -1), @@ -80,6 +81,7 @@ static FilterField ofString(String fieldName) { case "parentprocessid": return PARENT_PROCESS_ID; case "process": return PROCESS_TITLE; + case "process_loose": return PROCESS_TITLE_LOOSE; case "search": return SEARCH; case "project": return PROJECT; case "project_loose": diff --git a/Kitodo/src/main/java/org/kitodo/production/services/data/FilterService.java b/Kitodo/src/main/java/org/kitodo/production/services/data/FilterService.java index dc4050ad01a..7c426a3c89e 100644 --- a/Kitodo/src/main/java/org/kitodo/production/services/data/FilterService.java +++ b/Kitodo/src/main/java/org/kitodo/production/services/data/FilterService.java @@ -410,7 +410,8 @@ private static UserSpecifiedFilter parseQueryPart(String item, boolean indexed) } Matcher idSearch = ID_SEARCH_PATTERN.matcher(value); - if (idSearch.matches() && !filterField.equals(FilterField.PROCESS_TITLE)) { + if (idSearch.matches() && (!filterField.equals(FilterField.PROCESS_TITLE) + && !filterField.equals(FilterField.PROCESS_TITLE_LOOSE))) { return new DatabaseIdQueryPart(filterField, idSearch.group(1), idSearch.group(2), operand); }