Top level fix (#874)

* Fix top-level items

* Show pagination error messages

* Update release notes

* Check API version
This commit is contained in:
Oliver
2026-09-01 23:55:01 +10:00
committed by GitHub
parent 0b5c14c7ae
commit 5418a71207
6 changed files with 29 additions and 3 deletions
+7
View File
@@ -1,3 +1,10 @@
## 0.25.2 - August 2026
---
- Bug fix for part location display
- Bug fix for stock location display
- Updated translations
## 0.25.1 - August 2026 ## 0.25.1 - August 2026
--- ---
+3
View File
@@ -308,6 +308,9 @@ class InvenTreeAPI {
bool get supportsUserPermissions => apiVersion >= 207; bool get supportsUserPermissions => apiVersion >= 207;
// Ref: https://github.com/inventree/InvenTree/pull/7514
bool get supportsTopLevelFiltering => apiVersion >= 209;
// Does the server support the "destination" field on the PurchaseOrder model? // Does the server support the "destination" field on the PurchaseOrder model?
// Ref: https://github.com/inventree/InvenTree/pull/8403 // Ref: https://github.com/inventree/InvenTree/pull/8403
bool get supportsPurchaseOrderDestination => apiVersion >= 276; bool get supportsPurchaseOrderDestination => apiVersion >= 276;
+6
View File
@@ -752,6 +752,12 @@ class InvenTreeModel {
return null; return null;
} }
// A client error (e.g. 400 Bad Request) was returned - notify the user
if (response.clientError()) {
showStatusCodeError(URL, response.statusCode, details: response.data);
return null;
}
// Construct the response // Construct the response
InvenTreePageResponse page = InvenTreePageResponse(); InvenTreePageResponse page = InvenTreePageResponse();
+6 -1
View File
@@ -1,6 +1,7 @@
import "package:flutter/material.dart"; import "package:flutter/material.dart";
import "package:flutter_speed_dial/flutter_speed_dial.dart"; import "package:flutter_speed_dial/flutter_speed_dial.dart";
import "package:flutter_tabler_icons/flutter_tabler_icons.dart"; import "package:flutter_tabler_icons/flutter_tabler_icons.dart";
import "package:inventree/api.dart";
import "package:inventree/app_colors.dart"; import "package:inventree/app_colors.dart";
import "package:inventree/l10.dart"; import "package:inventree/l10.dart";
@@ -193,7 +194,11 @@ class _CategoryDisplayState extends RefreshableState<CategoryDisplayWidget> {
if (parent != null) { if (parent != null) {
filters["parent"] = parent.toString(); filters["parent"] = parent.toString();
} else { } else {
filters["parent"] = "null"; if (InvenTreeAPI().supportsTopLevelFiltering) {
filters["top_level"] = "true";
} else {
filters["parent"] = "null";
}
} }
List<Widget> tiles = <Widget>[ List<Widget> tiles = <Widget>[
+6 -1
View File
@@ -1,6 +1,7 @@
import "package:flutter/material.dart"; import "package:flutter/material.dart";
import "package:flutter_speed_dial/flutter_speed_dial.dart"; import "package:flutter_speed_dial/flutter_speed_dial.dart";
import "package:flutter_tabler_icons/flutter_tabler_icons.dart"; import "package:flutter_tabler_icons/flutter_tabler_icons.dart";
import "package:inventree/api.dart";
import "package:inventree/app_colors.dart"; import "package:inventree/app_colors.dart";
import "package:inventree/barcode/barcode.dart"; import "package:inventree/barcode/barcode.dart";
@@ -361,7 +362,11 @@ class _LocationDisplayState extends RefreshableState<LocationDisplayWidget> {
if (parent != null) { if (parent != null) {
filters["parent"] = parent.toString(); filters["parent"] = parent.toString();
} else { } else {
filters["parent"] = "null"; if (InvenTreeAPI().supportsTopLevelFiltering) {
filters["top_level"] = "true";
} else {
filters["parent"] = "null";
}
} }
List<Widget> tiles = [ List<Widget> tiles = [
+1 -1
View File
@@ -1,7 +1,7 @@
name: inventree name: inventree
description: InvenTree stock management description: InvenTree stock management
version: 0.25.1+124 version: 0.25.2+125
environment: environment:
sdk: ^3.8.1 sdk: ^3.8.1