2
0
mirror of https://github.com/inventree/inventree-app.git synced 2025-06-17 04:35:26 +00:00

Label fix (#411)

* Cleanup label printing options

- Improve calls to setState()
- Should fix potential race conditions

* Use name if description not available

* Code simplification

* Fetch plugins even if the server reports "plugins enabled"

- Builtin plugins are still a thing!

* Use name *and* description to display label
This commit is contained in:
Oliver
2023-08-12 20:41:11 +10:00
committed by GitHub
parent d81f0d532d
commit 8200140976
5 changed files with 40 additions and 30 deletions

View File

@ -40,8 +40,6 @@ class _LocationDisplayState extends RefreshableState<LocationDisplayWidget> {
final InvenTreeStockLocation? location;
bool allowLabelPrinting = true;
List<Map<String, dynamic>> labels = [];
@override
@ -169,7 +167,7 @@ class _LocationDisplayState extends RefreshableState<LocationDisplayWidget> {
);
}
if (widget.location != null && allowLabelPrinting && labels.isNotEmpty) {
if (widget.location != null && labels.isNotEmpty) {
actions.add(
SpeedDialChild(
child: FaIcon(FontAwesomeIcons.print),
@ -225,21 +223,23 @@ class _LocationDisplayState extends RefreshableState<LocationDisplayWidget> {
}
}
allowLabelPrinting = await InvenTreeSettingsManager().getBool(INV_ENABLE_LABEL_PRINTING, true);
allowLabelPrinting &= api.getPlugins(mixin: "labels").isNotEmpty;
List<Map<String, dynamic>> _labels = [];
bool allowLabelPrinting = await InvenTreeSettingsManager().getBool(INV_ENABLE_LABEL_PRINTING, true);
allowLabelPrinting &= api.supportsMixin("labels");
if (allowLabelPrinting) {
labels.clear();
if (widget.location != null) {
labels = await getLabelTemplates("location", {
_labels = await getLabelTemplates("location", {
"location": widget.location!.pk.toString()
});
}
}
if (mounted) {
setState(() {});
setState(() {
labels = _labels;
});
}
}