kopia lustrzana https://github.com/wagtail/wagtail
rodzic
fff70ad2f9
commit
a51f9250b3
|
@ -78,6 +78,13 @@ class TestImageIndexView(WagtailTestUtils, TestCase):
|
|||
self.assertContains(response, "a cute kitten")
|
||||
self.assertNotContains(response, "a cute puppy")
|
||||
|
||||
def test_search_partial_match(self):
|
||||
response = self.get({"q": "kit"})
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(response.context["query_string"], "kit")
|
||||
self.assertContains(response, "a cute kitten")
|
||||
self.assertNotContains(response, "a cute puppy")
|
||||
|
||||
def test_collection_query_search(self):
|
||||
root_collection = Collection.get_first_root_node()
|
||||
child_collection = [
|
||||
|
|
|
@ -26,6 +26,7 @@ from wagtail.images.models import Filter, SourceImageIOError
|
|||
from wagtail.images.permissions import permission_policy
|
||||
from wagtail.images.utils import generate_signature
|
||||
from wagtail.models import Collection, Site
|
||||
from wagtail.search.backends import get_search_backend
|
||||
|
||||
permission_checker = PermissionPolicyChecker(permission_policy)
|
||||
|
||||
|
@ -104,7 +105,18 @@ class BaseListingView(TemplateView):
|
|||
if self.form.is_valid():
|
||||
query_string = self.form.cleaned_data["q"]
|
||||
if query_string:
|
||||
images = images.search(query_string)
|
||||
search_backend = get_search_backend()
|
||||
if images.model.get_autocomplete_search_fields():
|
||||
try:
|
||||
images = search_backend.autocomplete(query_string, images)
|
||||
except NotImplementedError:
|
||||
images = search_backend.search(
|
||||
query_string, images, partial_match=True
|
||||
)
|
||||
else:
|
||||
images = search_backend.search(
|
||||
query_string, images, partial_match=True
|
||||
)
|
||||
else:
|
||||
self.form = SearchForm(placeholder=_("Search images"))
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue