Transfer order (#854)

* Add API version check

* Implement basic transfer order support

* add link to drawer

* Adjust dashboard display order

* Support transfer order allocation detail

* Add progress bar

* Enable scan of transfer order
This commit is contained in:
Oliver
2026-07-14 15:37:43 +10:00
committed by GitHub
parent 8568187b38
commit 0fe2bdd507
13 changed files with 1565 additions and 0 deletions
+23
View File
@@ -6,10 +6,12 @@ import "package:inventree/helpers.dart";
import "package:inventree/inventree/build.dart";
import "package:inventree/inventree/sales_order.dart";
import "package:inventree/inventree/sentry.dart";
import "package:inventree/inventree/transfer_order.dart";
import "package:inventree/preferences.dart";
import "package:inventree/widget/build/build_detail.dart";
import "package:inventree/widget/company/manufacturer_part_detail.dart";
import "package:inventree/widget/order/sales_order_detail.dart";
import "package:inventree/widget/order/transfer_order_detail.dart";
import "package:one_context/one_context.dart";
import "package:inventree/api.dart";
@@ -230,6 +232,23 @@ class BarcodeScanHandler extends BarcodeHandler {
}
}
/*
* Response when a "TransferOrder" instance is scanned
*/
Future<void> handleTransferOrder(int pk) async {
var order = await InvenTreeTransferOrder().get(pk);
if (order is InvenTreeTransferOrder &&
InvenTreeAPI().supportsTransferOrders) {
OneContext().pop();
OneContext().push(
MaterialPageRoute(
builder: (context) => TransferOrderDetailWidget(order),
),
);
}
}
/*
* Response when a "PurchaseOrder" instance is scanned
*/
@@ -273,6 +292,7 @@ class BarcodeScanHandler extends BarcodeHandler {
InvenTreeStockLocation.MODEL_TYPE,
InvenTreeCompany.MODEL_TYPE,
InvenTreeBuildOrder.MODEL_TYPE,
InvenTreeTransferOrder.MODEL_TYPE,
InvenTreePurchaseOrder.MODEL_TYPE,
InvenTreeSalesOrder.MODEL_TYPE,
];
@@ -304,6 +324,9 @@ class BarcodeScanHandler extends BarcodeHandler {
case InvenTreeBuildOrder.MODEL_TYPE:
await handleBuildOrder(pk);
return;
case InvenTreeTransferOrder.MODEL_TYPE:
await handleTransferOrder(pk);
return;
case InvenTreePurchaseOrder.MODEL_TYPE:
await handlePurchaseOrder(pk);
return;