diff --git a/lib/app_settings.dart b/lib/app_settings.dart index 88145bd2..7d97b9c4 100644 --- a/lib/app_settings.dart +++ b/lib/app_settings.dart @@ -18,6 +18,7 @@ const String INV_SOUNDS_SERVER = "serverSounds"; const String INV_PART_SUBCATEGORY = "partSubcategory"; const String INV_STOCK_SUBLOCATION = "stockSublocation"; +const String INV_STOCK_SHOW_HISTORY = "stockShowHistory"; const String INV_REPORT_ERRORS = "reportErrors"; diff --git a/lib/l10n b/lib/l10n index a66dab99..10ae8c64 160000 --- a/lib/l10n +++ b/lib/l10n @@ -1 +1 @@ -Subproject commit a66dab998bc92b3cceed70aaffc92ffa8b5da836 +Subproject commit 10ae8c64e0754206e21b06531186375e247c796d diff --git a/lib/settings/app_settings.dart b/lib/settings/app_settings.dart index 2431b630..46306bbe 100644 --- a/lib/settings/app_settings.dart +++ b/lib/settings/app_settings.dart @@ -28,6 +28,7 @@ class _InvenTreeAppSettingsState extends State { // Stock settings bool stockSublocation = false; + bool stockShowHistory = false; bool reportErrors = true; @@ -48,6 +49,7 @@ class _InvenTreeAppSettingsState extends State { partSubcategory = await InvenTreeSettingsManager().getValue(INV_PART_SUBCATEGORY, true) as bool; stockSublocation = await InvenTreeSettingsManager().getValue(INV_STOCK_SUBLOCATION, true) as bool; + stockShowHistory = await InvenTreeSettingsManager().getValue(INV_STOCK_SHOW_HISTORY, false) as bool; reportErrors = await InvenTreeSettingsManager().getValue(INV_REPORT_ERRORS, true) as bool; @@ -109,6 +111,20 @@ class _InvenTreeAppSettingsState extends State { }, ), ), + ListTile( + title: Text(L10().stockItemHistory), + subtitle: Text(L10().stockItemHistoryDetail), + leading: FaIcon(FontAwesomeIcons.history), + trailing: Switch( + value: stockShowHistory, + onChanged: (bool value) { + InvenTreeSettingsManager().setValue(INV_STOCK_SHOW_HISTORY, value); + setState(() { + stockShowHistory = value; + }); + }, + ), + ), /* Sound Settings */ Divider(height: 3), ListTile( diff --git a/lib/widget/stock_detail.dart b/lib/widget/stock_detail.dart index 330d55e1..389abfe5 100644 --- a/lib/widget/stock_detail.dart +++ b/lib/widget/stock_detail.dart @@ -16,13 +16,14 @@ import "package:inventree/widget/part_detail.dart"; import "package:inventree/widget/progress.dart"; import "package:inventree/widget/refreshable_state.dart"; import "package:inventree/widget/snacks.dart"; -import 'package:inventree/widget/stock_item_history.dart'; +import "package:inventree/widget/stock_item_history.dart"; import "package:inventree/widget/stock_item_test_results.dart"; import "package:inventree/widget/stock_notes.dart"; import "package:inventree/l10.dart"; import "package:inventree/helpers.dart"; import "package:inventree/api.dart"; import "package:inventree/api_form.dart"; +import "package:inventree/app_settings.dart"; class StockDetailWidget extends StatefulWidget { @@ -51,6 +52,8 @@ class _StockItemDisplayState extends RefreshableState { final _countStockKey = GlobalKey(); final _moveStockKey = GlobalKey(); + bool stockShowHistory = false; + @override List getAppBarActions(BuildContext context) { @@ -106,6 +109,8 @@ class _StockItemDisplayState extends RefreshableState { final bool result = await item.reload(); + stockShowHistory = await InvenTreeSettingsManager().getValue(INV_STOCK_SHOW_HISTORY, false) as bool; + // Could not load this stock item for some reason // Perhaps it has been depleted? if (!result || item.pk == -1) { @@ -862,11 +867,11 @@ class _StockItemDisplayState extends RefreshableState { // TODO - Is this stock item linked to a PurchaseOrder? - if (item.trackingItemCount > 0) { + if (stockShowHistory && item.trackingItemCount > 0) { tiles.add( ListTile( title: Text(L10().history), - leading: FaIcon(FontAwesomeIcons.history), + leading: FaIcon(FontAwesomeIcons.history, color: COLOR_CLICK), trailing: Text("${item.trackingItemCount}"), onTap: () { Navigator.push(