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
+3
View File
@@ -308,6 +308,9 @@ class InvenTreeAPI {
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?
// Ref: https://github.com/inventree/InvenTree/pull/8403
bool get supportsPurchaseOrderDestination => apiVersion >= 276;
+6
View File
@@ -752,6 +752,12 @@ class InvenTreeModel {
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
InvenTreePageResponse page = InvenTreePageResponse();
+6 -1
View File
@@ -1,6 +1,7 @@
import "package:flutter/material.dart";
import "package:flutter_speed_dial/flutter_speed_dial.dart";
import "package:flutter_tabler_icons/flutter_tabler_icons.dart";
import "package:inventree/api.dart";
import "package:inventree/app_colors.dart";
import "package:inventree/l10.dart";
@@ -193,7 +194,11 @@ class _CategoryDisplayState extends RefreshableState<CategoryDisplayWidget> {
if (parent != null) {
filters["parent"] = parent.toString();
} else {
filters["parent"] = "null";
if (InvenTreeAPI().supportsTopLevelFiltering) {
filters["top_level"] = "true";
} else {
filters["parent"] = "null";
}
}
List<Widget> tiles = <Widget>[
+6 -1
View File
@@ -1,6 +1,7 @@
import "package:flutter/material.dart";
import "package:flutter_speed_dial/flutter_speed_dial.dart";
import "package:flutter_tabler_icons/flutter_tabler_icons.dart";
import "package:inventree/api.dart";
import "package:inventree/app_colors.dart";
import "package:inventree/barcode/barcode.dart";
@@ -361,7 +362,11 @@ class _LocationDisplayState extends RefreshableState<LocationDisplayWidget> {
if (parent != null) {
filters["parent"] = parent.toString();
} else {
filters["parent"] = "null";
if (InvenTreeAPI().supportsTopLevelFiltering) {
filters["top_level"] = "true";
} else {
filters["parent"] = "null";
}
}
List<Widget> tiles = [