mirror of
https://github.com/inventree/inventree-app.git
synced 2025-08-05 12:11:30 +00:00
Stock barcode fix (#232)
* API: Provide more info in error messages * Fix support for legacy stock item custom barcodes * Refresh display after assigning barcode * Update release notes * Fix for scanning unkown barcode - Modern API returns slightly different data * Fix for scanning unkown barcode - Modern API returns slightly different data * Update release notes
This commit is contained in:
@@ -185,10 +185,10 @@ Future<void> showServerError(String url, String title, String description) async
|
||||
/*
|
||||
* Displays an error indicating that the server returned an unexpected status code
|
||||
*/
|
||||
Future<void> showStatusCodeError(String url, int status) async {
|
||||
Future<void> showStatusCodeError(String url, int status, {String details=""}) async {
|
||||
|
||||
String msg = L10().responseInvalid;
|
||||
String extra = "${L10().statusCode}: ${status}";
|
||||
String extra = url + "\n" + "${L10().statusCode}: ${status}";
|
||||
|
||||
switch (status) {
|
||||
case 400:
|
||||
@@ -231,6 +231,11 @@ Future<void> showStatusCodeError(String url, int status) async {
|
||||
break;
|
||||
}
|
||||
|
||||
if (details.isNotEmpty) {
|
||||
extra += "\n";
|
||||
extra += details;
|
||||
}
|
||||
|
||||
showServerError(
|
||||
url,
|
||||
msg,
|
||||
|
@@ -456,7 +456,7 @@ class _LocationDisplayState extends RefreshableState<LocationDisplayWidget> {
|
||||
|
||||
if (InvenTreeAPI().supportModernBarcodes) {
|
||||
tiles.add(
|
||||
customBarcodeActionTile(context, location!.customBarcode, "stocklocation", location!.pk)
|
||||
customBarcodeActionTile(context, this, location!.customBarcode, "stocklocation", location!.pk)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@@ -698,7 +698,7 @@ class _PartDisplayState extends RefreshableState<PartDetailWidget> {
|
||||
|
||||
if (InvenTreeAPI().supportModernBarcodes) {
|
||||
tiles.add(
|
||||
customBarcodeActionTile(context, part.customBarcode, "part", part.pk)
|
||||
customBarcodeActionTile(context, this, part.customBarcode, "part", part.pk)
|
||||
);
|
||||
}
|
||||
|
||||
|
@@ -802,10 +802,23 @@ class _StockItemDisplayState extends RefreshableState<StockDetailWidget> {
|
||||
)
|
||||
);
|
||||
|
||||
if (InvenTreeAPI().supportModernBarcodes) {
|
||||
tiles.add(customBarcodeActionTile(context, item.customBarcode, "stockitem", item.pk));
|
||||
if (InvenTreeAPI().supportModernBarcodes || item.customBarcode.isEmpty) {
|
||||
tiles.add(customBarcodeActionTile(context, this, item.customBarcode, "stockitem", item.pk));
|
||||
} else {
|
||||
// Note: Custom legacy barcodes (only for StockItem model) are handled differently
|
||||
tiles.add(
|
||||
ListTile(
|
||||
title: Text(L10().barcodeUnassign),
|
||||
leading: Icon(Icons.qr_code, color: COLOR_CLICK),
|
||||
onTap: () async {
|
||||
await item.update(values: {"uid": ""});
|
||||
refresh(context);
|
||||
}
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
// Print label (if label printing plugins exist)
|
||||
if (labels.isNotEmpty) {
|
||||
tiles.add(
|
||||
|
Reference in New Issue
Block a user