Bug fix for viewing supplier parts (#870)

This commit is contained in:
Oliver
2026-08-30 11:56:30 +10:00
committed by GitHub
parent effe9cc8e4
commit 4f60eec18e
2 changed files with 17 additions and 4 deletions
-2
View File
@@ -254,8 +254,6 @@ class InvenTreePart extends InvenTreeModel {
return null; return null;
} }
int get supplierCount => getInt("suppliers", backup: 0);
// Request supplier parts for this part // Request supplier parts for this part
Future<List<InvenTreeSupplierPart>> getSupplierParts() async { Future<List<InvenTreeSupplierPart>> getSupplierParts() async {
List<InvenTreeSupplierPart> _supplierParts = []; List<InvenTreeSupplierPart> _supplierParts = [];
+17 -2
View File
@@ -10,6 +10,7 @@ import "package:inventree/l10.dart";
import "package:inventree/helpers.dart"; import "package:inventree/helpers.dart";
import "package:inventree/inventree/bom.dart"; import "package:inventree/inventree/bom.dart";
import "package:inventree/inventree/company.dart";
import "package:inventree/inventree/part.dart"; import "package:inventree/inventree/part.dart";
import "package:inventree/inventree/stock.dart"; import "package:inventree/inventree/stock.dart";
import "package:inventree/labels.dart"; import "package:inventree/labels.dart";
@@ -61,6 +62,7 @@ class _PartDisplayState extends RefreshableState<PartDetailWidget> {
int bomCount = 0; int bomCount = 0;
int usedInCount = 0; int usedInCount = 0;
int variantCount = 0; int variantCount = 0;
int supplierPartCount = 0;
InvenTreePartPricing? partPricing; InvenTreePartPricing? partPricing;
InvenTreePartRequirements? partRequirements; InvenTreePartRequirements? partRequirements;
@@ -307,6 +309,19 @@ class _PartDisplayState extends RefreshableState<PartDetailWidget> {
}); });
} }
}); });
// Request the number of supplier parts
if (part.isPurchaseable) {
InvenTreeSupplierPart().count(filters: {"part": part.pk.toString()}).then(
(int value) {
if (mounted) {
setState(() {
supplierPartCount = value;
});
}
},
);
}
} }
void _editPartDialog(BuildContext context) { void _editPartDialog(BuildContext context) {
@@ -690,12 +705,12 @@ class _PartDisplayState extends RefreshableState<PartDetailWidget> {
} }
if (part.isPurchaseable) { if (part.isPurchaseable) {
if (part.supplierCount > 0) { if (supplierPartCount > 0) {
tiles.add( tiles.add(
ListTile( ListTile(
title: Text(L10().suppliers), title: Text(L10().suppliers),
leading: Icon(TablerIcons.building_factory, color: COLOR_ACTION), leading: Icon(TablerIcons.building_factory, color: COLOR_ACTION),
trailing: LinkIcon(text: "${part.supplierCount}"), trailing: LinkIcon(text: "${supplierPartCount}"),
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, context,