diff --git a/InvenTree/build/api.py b/InvenTree/build/api.py index cb6b3f6b2b..e6331f2b6a 100644 --- a/InvenTree/build/api.py +++ b/InvenTree/build/api.py @@ -38,6 +38,22 @@ class BuildList(generics.ListCreateAPIView): 'sales_order', ] + ordering_fields = [ + 'reference', + 'part__name', + 'status', + 'creation_date', + 'target_date', + 'completion_date', + 'quantity', + ] + + search_fields = [ + 'reference', + 'part__name', + 'title', + ] + def get_queryset(self): """ Override the queryset filtering, diff --git a/InvenTree/build/templates/build/build_children.html b/InvenTree/build/templates/build/build_children.html index 034bc6d98f..3bab257d81 100644 --- a/InvenTree/build/templates/build/build_children.html +++ b/InvenTree/build/templates/build/build_children.html @@ -33,7 +33,6 @@ loadBuildTable($('#sub-build-table'), { url: '{% url "api-build-list" %}', filterTarget: "#filter-list-sub-build", params: { - part_detail: true, ancestor: {{ build.pk }}, } }); diff --git a/InvenTree/build/templates/build/index.html b/InvenTree/build/templates/build/index.html index 05864cd780..75dc497b4b 100644 --- a/InvenTree/build/templates/build/index.html +++ b/InvenTree/build/templates/build/index.html @@ -179,9 +179,6 @@ $("#new-build").click(function() { loadBuildTable($("#build-table"), { url: "{% url 'api-build-list' %}", - params: { - part_detail: "true", - }, }); $('#multi-build-print').click(function() { diff --git a/InvenTree/company/api.py b/InvenTree/company/api.py index 3398760d45..ebf2924d16 100644 --- a/InvenTree/company/api.py +++ b/InvenTree/company/api.py @@ -56,10 +56,13 @@ class CompanyList(generics.ListCreateAPIView): search_fields = [ 'name', 'description', + 'website', ] ordering_fields = [ 'name', + 'parts_supplied', + 'parts_manufactured', ] ordering = 'name' diff --git a/InvenTree/order/api.py b/InvenTree/order/api.py index db4c4dcc50..7eda59eacb 100644 --- a/InvenTree/order/api.py +++ b/InvenTree/order/api.py @@ -137,9 +137,20 @@ class POList(generics.ListCreateAPIView): 'supplier', ] + search_fields = [ + 'reference', + 'supplier__name', + 'supplier_reference', + 'description', + ] + ordering_fields = [ 'creation_date', 'reference', + 'supplier__name', + 'target_date', + 'line_items', + 'status', ] ordering = '-creation_date' @@ -351,7 +362,20 @@ class SOList(generics.ListCreateAPIView): ordering_fields = [ 'creation_date', - 'reference' + 'reference', + 'customer__name', + 'customer_reference', + 'status', + 'target_date', + 'line_items', + 'shipment_date', + ] + + search_fields = [ + 'customer__name', + 'reference', + 'description', + 'customer_reference', ] ordering = '-creation_date' diff --git a/InvenTree/order/templates/order/so_builds.html b/InvenTree/order/templates/order/so_builds.html index 91461136a0..e29a76b64d 100644 --- a/InvenTree/order/templates/order/so_builds.html +++ b/InvenTree/order/templates/order/so_builds.html @@ -27,7 +27,6 @@ loadBuildTable($("#builds-table"), { url: "{% url 'api-build-list' %}", params: { sales_order: {{ order.id }}, - part_detail: true, }, }); diff --git a/InvenTree/part/templates/part/build.html b/InvenTree/part/templates/part/build.html index 0e7b5d4d8f..4f0bd3a0c6 100644 --- a/InvenTree/part/templates/part/build.html +++ b/InvenTree/part/templates/part/build.html @@ -43,7 +43,6 @@ loadBuildTable($("#build-table"), { url: "{% url 'api-build-list' %}", params: { - part_detail: "true", part: {{ part.id }}, } }); diff --git a/InvenTree/templates/InvenTree/index.html b/InvenTree/templates/InvenTree/index.html index 2023227bce..b7807840c5 100644 --- a/InvenTree/templates/InvenTree/index.html +++ b/InvenTree/templates/InvenTree/index.html @@ -185,7 +185,6 @@ addHeaderAction('build-overdue', '{% trans "Overdue Build Orders" %}', 'fa-calen loadBuildTable("#table-build-pending", { url: "{% url 'api-build-list' %}", params: { - part_detail: true, active: true, }, disableFilters: true, @@ -194,7 +193,6 @@ loadBuildTable("#table-build-pending", { loadBuildTable("#table-build-overdue", { url: "{% url 'api-build-list' %}", params: { - part_detail: true, overdue: true, }, disableFilters: true, diff --git a/InvenTree/templates/InvenTree/search.html b/InvenTree/templates/InvenTree/search.html index 4fc7442856..5eb755dcb2 100644 --- a/InvenTree/templates/InvenTree/search.html +++ b/InvenTree/templates/InvenTree/search.html @@ -162,6 +162,20 @@ InvenTree | {% trans "Search Results" %} {% endif %} + {% if roles.build.view %} + + addItemTitle('{% trans "Build" %}'); + + addItem('build-order', '{% trans "Build Orders" %}', 'fa-tools'); + + loadBuildTable('#table-build-order', { + params: { + search: '{{ query }}', + } + }); + + {% endif %} + {% if roles.stock.view %} addItemTitle('{% trans "Stock" %}'); @@ -283,6 +297,14 @@ InvenTree | {% trans "Search Results" %} } }); + addItem('purchase-order', '{% trans "Purchase Orders" %}', 'fa-shopping-cart'); + + loadPurchaseOrderTable('#table-purchase-order', { + params: { + search: '{{ query }}', + } + }); + addItem('manufacturer', '{% trans "Manufacturers" %}', 'fa-industry'); loadCompanyTable('#table-manufacturer', "{% url 'api-company-list' %}", { @@ -305,6 +327,14 @@ InvenTree | {% trans "Search Results" %} } }); + addItem('sales-orders', '{% trans "Sales Orders" %}', 'fa-truck'); + + loadSalesOrderTable('#table-sales-orders', { + params: { + search: '{{ query }}', + } + }); + {% endif %} {% endif %} diff --git a/InvenTree/templates/js/build.js b/InvenTree/templates/js/build.js index 45ebd133d1..539d1565aa 100644 --- a/InvenTree/templates/js/build.js +++ b/InvenTree/templates/js/build.js @@ -609,6 +609,8 @@ function loadBuildTable(table, options) { var params = options.params || {}; var filters = {}; + + params['part_detail'] = true; if (!options.disableFilters) { filters = loadTableFilters("build"); @@ -618,6 +620,8 @@ function loadBuildTable(table, options) { filters[key] = params[key]; } + options.url = options.url || '{% url "api-build-list" %}'; + var filterTarget = options.filterTarget || null; setupFilterList("build", table, filterTarget); @@ -671,12 +675,12 @@ function loadBuildTable(table, options) { { field: 'title', title: '{% trans "Description" %}', - sortable: true, }, { field: 'part', title: '{% trans "Part" %}', sortable: true, + sortName: 'part__name', formatter: function(value, row, index, field) { var html = imageHoverIcon(row.part_detail.thumbnail); diff --git a/InvenTree/templates/js/company.js b/InvenTree/templates/js/company.js index b497609db1..601d4a5370 100644 --- a/InvenTree/templates/js/company.js +++ b/InvenTree/templates/js/company.js @@ -54,7 +54,6 @@ function loadCompanyTable(table, url, options={}) { { field: 'description', title: '{% trans "Description" %}', - sortable: true, }, { field: 'website', diff --git a/InvenTree/templates/js/order.js b/InvenTree/templates/js/order.js index c4ca4acd08..6a07c998ec 100644 --- a/InvenTree/templates/js/order.js +++ b/InvenTree/templates/js/order.js @@ -124,6 +124,8 @@ function loadPurchaseOrderTable(table, options) { filters[key] = options.params[key]; } + options.url = options.url || '{% url "api-po-list" %}'; + setupFilterList("purchaseorder", $(table)); $(table).inventreeTable({ @@ -167,6 +169,7 @@ function loadPurchaseOrderTable(table, options) { field: 'supplier_detail', title: '{% trans "Supplier" %}', sortable: true, + sortName: 'supplier__name', formatter: function(value, row, index, field) { return imageHoverIcon(row.supplier_detail.image) + renderLink(row.supplier_detail.name, `/company/${row.supplier}/purchase-orders/`); } @@ -174,12 +177,10 @@ function loadPurchaseOrderTable(table, options) { { field: 'supplier_reference', title: '{% trans "Supplier Reference" %}', - sortable: true, }, { field: 'description', title: '{% trans "Description" %}', - sortable: true, }, { field: 'status', @@ -219,6 +220,8 @@ function loadSalesOrderTable(table, options) { filters[key] = options.params[key]; } + options.url = options.url || '{% url "api-so-list" %}'; + setupFilterList("salesorder", $(table)); $(table).inventreeTable({ @@ -259,6 +262,7 @@ function loadSalesOrderTable(table, options) { }, { sortable: true, + sortName: 'customer__name', field: 'customer_detail', title: '{% trans "Customer" %}', formatter: function(value, row, index, field) { @@ -266,12 +270,12 @@ function loadSalesOrderTable(table, options) { } }, { + sortable: true, field: 'customer_reference', title: '{% trans "Customer Reference" %}', - sotrable: true, }, { - sortable: true, + sortable: false, field: 'description', title: '{% trans "Description" %}', },