2
0
mirror of https://github.com/inventree/inventree-app.git synced 2025-06-13 10:45:29 +00:00

Adds attachment support for the StockItem model

This commit is contained in:
Oliver Walters
2022-06-04 00:23:10 +10:00
parent fcfda4ebff
commit ada64f3971
3 changed files with 54 additions and 1 deletions

View File

@ -7,6 +7,7 @@ import "package:inventree/barcode.dart";
import "package:inventree/inventree/stock.dart";
import "package:inventree/inventree/part.dart";
import "package:inventree/widget/dialogs.dart";
import "package:inventree/widget/attachment_widget.dart";
import "package:inventree/widget/location_display.dart";
import "package:inventree/widget/part_detail.dart";
import "package:inventree/widget/progress.dart";
@ -94,6 +95,8 @@ class _StockItemDisplayState extends RefreshableState<StockDetailWidget> {
// Part object
InvenTreePart? part;
int attachmentCount = 0;
@override
Future<void> onBuild(BuildContext context) async {
@ -126,6 +129,12 @@ class _StockItemDisplayState extends RefreshableState<StockDetailWidget> {
});
});
attachmentCount = await InvenTreeStockItemAttachment().count(
filters: {
"stock_item": item.pk.toString()
}
);
// Request information on labels available for this stock item
if (InvenTreeAPI().pluginsEnabled()) {
_getLabels();
@ -694,6 +703,25 @@ class _StockItemDisplayState extends RefreshableState<StockDetailWidget> {
)
);
tiles.add(
ListTile(
title: Text(L10().attachments),
leading: FaIcon(FontAwesomeIcons.fileAlt, color: COLOR_CLICK),
trailing: attachmentCount > 0 ? Text(attachmentCount.toString()) : null,
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => AttachmentWidget(
InvenTreeStockItemAttachment(),
item.pk,
InvenTreeAPI().checkPermission("stock", "change"))
)
);
},
)
);
return tiles;
}