mirror of
				https://github.com/inventree/inventree-app.git
				synced 2025-10-31 13:25:40 +00:00 
			
		
		
		
	Filter fix (#473)
* Add check for "null" top level locations and categories * Fix API - Top level location and category broken after API 174 - Ref: https://github.com/inventree/InvenTree/pull/6536
This commit is contained in:
		| @@ -339,6 +339,9 @@ class InvenTreeAPI { | ||||
|   // Does the server support allocating stock to sales order using barcodes? | ||||
|   bool get supportsBarcodeSOAllocateEndpoint => isConnected() && apiVersion >= 160; | ||||
|  | ||||
|   // Does the server support "null" top-level filtering for PartCategory and StockLocation endpoints? | ||||
|   bool get supportsNullTopLevelFiltering => isConnected() && apiVersion < 174; | ||||
|  | ||||
|   // Cached list of plugins (refreshed when we connect to the server) | ||||
|   List<InvenTreePlugin> _plugins = []; | ||||
|  | ||||
|   | ||||
| @@ -200,13 +200,21 @@ class _CategoryDisplayState extends RefreshableState<CategoryDisplayWidget> { | ||||
|   // Construct the "details" panel | ||||
|   List<Widget> detailTiles() { | ||||
|  | ||||
|     Map<String, String> filters = {}; | ||||
|  | ||||
|     int? parent = widget.category?.pk; | ||||
|  | ||||
|     if (parent != null) { | ||||
|       filters["parent"] = parent.toString(); | ||||
|     } else if (api.supportsNullTopLevelFiltering) { | ||||
|       filters["parent"] = "null"; | ||||
|     } | ||||
|  | ||||
|     List<Widget> tiles = <Widget>[ | ||||
|       getCategoryDescriptionCard(), | ||||
|       Expanded( | ||||
|         child: PaginatedPartCategoryList( | ||||
|           { | ||||
|             "parent": widget.category?.pk.toString() ?? "null" | ||||
|           }, | ||||
|           filters, | ||||
|           title: L10().subcategories, | ||||
|         ), | ||||
|         flex: 10, | ||||
|   | ||||
| @@ -393,13 +393,22 @@ class _LocationDisplayState extends RefreshableState<LocationDisplayWidget> { | ||||
|  | ||||
|   // Construct the "details" panel | ||||
|   List<Widget> detailTiles() { | ||||
|  | ||||
|     Map<String, String> filters = {}; | ||||
|  | ||||
|     int? parent = location?.pk; | ||||
|  | ||||
|     if (parent != null) { | ||||
|       filters["parent"] = parent.toString(); | ||||
|     } else if (api.supportsNullTopLevelFiltering) { | ||||
|       filters["parent"] = "null"; | ||||
|     } | ||||
|  | ||||
|     List<Widget> tiles = [ | ||||
|       locationDescriptionCard(), | ||||
|       Expanded( | ||||
|         child: PaginatedStockLocationList( | ||||
|           { | ||||
|             "parent": location?.pk.toString() ?? "null", | ||||
|           }, | ||||
|           filters, | ||||
|           title: L10().sublocations, | ||||
|         ), | ||||
|         flex: 10, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user