mirror of
https://github.com/inventree/InvenTree.git
synced 2025-08-10 05:40:55 +00:00
Enable regex search (#4566)
* Adds custom search filter to allow 'regex' searching of results * Specify if "shell" can access database for certain commands * Bug fix for settings API - Do not allow cache on detail endpoints - Was causing strange error conditions with missing or duplicate PK values * Adds user setting to control regex search * Enable regex for search queries - bootstrap tables - search preview * Pass search options through bettererer * Refactor API endpoints to use new filter approach * Bump API version * Add "whole word" search - Closes https://github.com/inventree/InvenTree/issues/4510 * Handle case where existing fields are empty * pop > get
This commit is contained in:
@@ -17,7 +17,7 @@ import order.models
|
||||
from build.models import Build, BuildItem
|
||||
from InvenTree.api import (APIDownloadMixin, AttachmentMixin,
|
||||
ListCreateDestroyAPIView, MetadataView)
|
||||
from InvenTree.filters import InvenTreeOrderingFilter
|
||||
from InvenTree.filters import InvenTreeOrderingFilter, InvenTreeSearchFilter
|
||||
from InvenTree.helpers import (DownloadFile, increment_serial_number, isNull,
|
||||
str2bool, str2int)
|
||||
from InvenTree.mixins import (CreateAPI, CustomRetrieveUpdateDestroyAPI,
|
||||
@@ -154,7 +154,7 @@ class CategoryList(CategoryMixin, APIDownloadMixin, ListCreateAPI):
|
||||
|
||||
filter_backends = [
|
||||
DjangoFilterBackend,
|
||||
filters.SearchFilter,
|
||||
InvenTreeSearchFilter,
|
||||
filters.OrderingFilter,
|
||||
]
|
||||
|
||||
@@ -387,7 +387,7 @@ class PartTestTemplateList(ListCreateAPI):
|
||||
filter_backends = [
|
||||
DjangoFilterBackend,
|
||||
filters.OrderingFilter,
|
||||
filters.SearchFilter,
|
||||
InvenTreeSearchFilter,
|
||||
]
|
||||
|
||||
|
||||
@@ -421,7 +421,7 @@ class PartThumbs(ListAPI):
|
||||
return Response(data)
|
||||
|
||||
filter_backends = [
|
||||
filters.SearchFilter,
|
||||
InvenTreeSearchFilter,
|
||||
]
|
||||
|
||||
search_fields = [
|
||||
@@ -1226,7 +1226,7 @@ class PartList(PartMixin, APIDownloadMixin, ListCreateAPI):
|
||||
|
||||
filter_backends = [
|
||||
DjangoFilterBackend,
|
||||
filters.SearchFilter,
|
||||
InvenTreeSearchFilter,
|
||||
InvenTreeOrderingFilter,
|
||||
]
|
||||
|
||||
@@ -1340,7 +1340,7 @@ class PartParameterTemplateList(ListCreateAPI):
|
||||
filter_backends = [
|
||||
DjangoFilterBackend,
|
||||
filters.OrderingFilter,
|
||||
filters.SearchFilter,
|
||||
InvenTreeSearchFilter,
|
||||
]
|
||||
|
||||
filterset_fields = [
|
||||
@@ -1733,7 +1733,7 @@ class BomList(BomMixin, ListCreateDestroyAPIView):
|
||||
|
||||
filter_backends = [
|
||||
DjangoFilterBackend,
|
||||
filters.SearchFilter,
|
||||
InvenTreeSearchFilter,
|
||||
InvenTreeOrderingFilter,
|
||||
]
|
||||
|
||||
@@ -1838,7 +1838,7 @@ class BomItemSubstituteList(ListCreateAPI):
|
||||
|
||||
filter_backends = [
|
||||
DjangoFilterBackend,
|
||||
filters.SearchFilter,
|
||||
InvenTreeSearchFilter,
|
||||
filters.OrderingFilter,
|
||||
]
|
||||
|
||||
|
@@ -328,13 +328,14 @@ def setting_object(key, *args, **kwargs):
|
||||
|
||||
return PluginSetting.get_setting_object(key, plugin=plugin, cache=cache)
|
||||
|
||||
if 'method' in kwargs:
|
||||
elif 'method' in kwargs:
|
||||
return NotificationUserSetting.get_setting_object(key, user=kwargs['user'], method=kwargs['method'], cache=cache)
|
||||
|
||||
if 'user' in kwargs:
|
||||
elif 'user' in kwargs:
|
||||
return InvenTreeUserSetting.get_setting_object(key, user=kwargs['user'], cache=cache)
|
||||
|
||||
return InvenTreeSetting.get_setting_object(key, cache=cache)
|
||||
else:
|
||||
return InvenTreeSetting.get_setting_object(key, cache=cache)
|
||||
|
||||
|
||||
@register.simple_tag()
|
||||
|
Reference in New Issue
Block a user