mirror of
https://github.com/inventree/InvenTree.git
synced 2025-06-18 04:55:44 +00:00
Tree query improvements (#3443)
* Allow part category table to be ordered by part count * Add queryset annotation for part-category part-count - Uses subquery to annotate the part-count for sub-categories - Huge reduction in number of queries * Update 'pathstring' property of PartCategory and StockLocation - No longer a dynamically calculated value - Constructed when the model is saved, and then written to the database - Limited to 250 characters * Data migration to re-construct pathstring for PartCategory objects * Fix for tree model save() method * Add unit tests for pathstring construction * Data migration for StockLocation pathstring values * Update part API - Add new annotation to PartLocationDetail view * Update API version * Apply similar annotation to StockLocation API endpoints * Extra tests for PartCategory API * Unit test fixes * Allow PartCategory and StockLocation lists to be sorted by 'pathstring' * Further unit test fixes
This commit is contained in:
@ -1778,6 +1778,7 @@ function loadPartCategoryTable(table, options) {
|
||||
name: 'category',
|
||||
original: original,
|
||||
showColumns: true,
|
||||
sortable: true,
|
||||
buttons: options.allowTreeView ? [
|
||||
{
|
||||
icon: 'fas fa-bars',
|
||||
@ -1882,13 +1883,13 @@ function loadPartCategoryTable(table, options) {
|
||||
title: '{% trans "Path" %}',
|
||||
switchable: !tree_view,
|
||||
visible: !tree_view,
|
||||
sortable: false,
|
||||
sortable: true,
|
||||
},
|
||||
{
|
||||
field: 'parts',
|
||||
field: 'part_count',
|
||||
title: '{% trans "Parts" %}',
|
||||
switchable: true,
|
||||
sortable: false,
|
||||
sortable: true,
|
||||
}
|
||||
]
|
||||
});
|
||||
|
@ -2264,6 +2264,7 @@ function loadStockLocationTable(table, options) {
|
||||
queryParams: filters,
|
||||
name: 'location',
|
||||
original: original,
|
||||
sortable: true,
|
||||
showColumns: true,
|
||||
onPostBody: function() {
|
||||
|
||||
@ -2360,14 +2361,13 @@ function loadStockLocationTable(table, options) {
|
||||
field: 'pathstring',
|
||||
title: '{% trans "Path" %}',
|
||||
switchable: true,
|
||||
sortable: false,
|
||||
sortable: true,
|
||||
},
|
||||
{
|
||||
field: 'items',
|
||||
title: '{% trans "Stock Items" %}',
|
||||
switchable: true,
|
||||
sortable: false,
|
||||
sortName: 'item_count',
|
||||
sortable: true,
|
||||
}
|
||||
]
|
||||
});
|
||||
|
Reference in New Issue
Block a user