mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
switching back to using extensive apis for search
This commit is contained in:
parent
4013abe4de
commit
43f1e2b8f9
@ -83,7 +83,24 @@ function inventreeDocReady() {
|
||||
|
||||
// Add autocomplete to the search-bar
|
||||
$("#search-bar" ).autocomplete({
|
||||
source: "{% url 'search-api' %}",
|
||||
source: function (request, response) {
|
||||
$.ajax({
|
||||
url: '/api/part/',
|
||||
data: { search: request.term },
|
||||
success: function (data) {
|
||||
var transformed = $.map(data, function (el) {
|
||||
return {
|
||||
label: el.name,
|
||||
id: el.pk
|
||||
};
|
||||
});
|
||||
response(transformed);
|
||||
},
|
||||
error: function () {
|
||||
response([]);
|
||||
}
|
||||
});
|
||||
},
|
||||
minLength: 2,
|
||||
classes: {'ui-autocomplete': 'dropdown-menu'},
|
||||
select: function( event, ui ) {
|
||||
|
@ -37,7 +37,7 @@ from django.views.generic.base import RedirectView
|
||||
from rest_framework.documentation import include_docs_urls
|
||||
|
||||
from .views import auth_request
|
||||
from .views import IndexView, SearchView, SearchResultView, DatabaseStatsView
|
||||
from .views import IndexView, SearchView, DatabaseStatsView
|
||||
from .views import SettingsView, EditUserView, SetPasswordView
|
||||
from .views import CurrencySettingsView, CurrencyRefreshView
|
||||
from .views import AppearanceSelectView, SettingCategorySelectView
|
||||
@ -157,7 +157,6 @@ urlpatterns = [
|
||||
|
||||
url(r'^index/', IndexView.as_view(), name='index'),
|
||||
url(r'^search/', SearchView.as_view(), name='search'),
|
||||
url(r'^searchresult/', SearchResultView.as_view(), name='search-api'),
|
||||
url(r'^stats/', DatabaseStatsView.as_view(), name='stats'),
|
||||
|
||||
url(r'^auth/?', auth_request),
|
||||
|
@ -765,19 +765,6 @@ class SearchView(TemplateView):
|
||||
return super(TemplateView, self).render_to_response(context)
|
||||
|
||||
|
||||
class SearchResultView(TemplateView):
|
||||
"""Endpoint for search auto-complete
|
||||
"""
|
||||
|
||||
def get(self, request, *args, **kwargs):
|
||||
query = request.GET.get('term', '')
|
||||
if len(query) > 2:
|
||||
objects = Part.objects.filter(Q(name__icontains=query) | Q(description__icontains=query) | Q(IPN__icontains=query)
|
||||
| Q(keywords__icontains=query) | Q(category__name__icontains=query)).order_by('name')
|
||||
return JsonResponse([{'id': a.pk, 'value': a.name} for a in objects[0:5]], safe=False)
|
||||
return JsonResponse({})
|
||||
|
||||
|
||||
class DynamicJsView(TemplateView):
|
||||
"""
|
||||
View for returning javacsript files,
|
||||
|
Loading…
Reference in New Issue
Block a user