From c99be189bb394417e4cb2b9b2db14033f8fd5f3a Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 20 Jul 2021 19:32:48 +1000 Subject: [PATCH] Updates! - Add "last update date" to StockDetail view - Add 'stocktake date" to StockDetail view --- lib/inventree/stock.dart | 45 ++++++++++++++++++++++++++++-------- lib/l10n | 2 +- lib/widget/stock_detail.dart | 25 ++++++++++++++++++++ 3 files changed, 62 insertions(+), 10 deletions(-) diff --git a/lib/inventree/stock.dart b/lib/inventree/stock.dart index 865aa88b..678fa83e 100644 --- a/lib/inventree/stock.dart +++ b/lib/inventree/stock.dart @@ -1,3 +1,4 @@ +import 'package:intl/intl.dart'; import 'package:inventree/inventree/part.dart'; import 'package:flutter/cupertino.dart'; import 'package:http/http.dart' as http; @@ -222,20 +223,46 @@ class InvenTreeStockItem extends InvenTreeModel { int get trackingItemCount => (jsondata['tracking_items'] ?? 0) as int; // Date of last update - String get updated => jsondata["updated"] ?? ""; - - DateTime? get stocktakeDate { - if (jsondata.containsKey("stocktake_date")) { - if (jsondata["stocktake_date"] == null) { - return null; - } - - return DateTime.tryParse(jsondata["stocktake_date"]) ?? null; + DateTime? get updatedDate { + if (jsondata.containsKey("updated")) { + return DateTime.tryParse(jsondata["updated"] ?? ''); } else { return null; } } + String? get updatedDateString { + var _updated = updatedDate; + + if (_updated == null) { + return null; + } + + final DateFormat _format = DateFormat("yyyy-MM-dd"); + + return _format.format(_updated); + } + + DateTime? get stocktakeDate { + if (jsondata.containsKey("stocktake_date")) { + return DateTime.tryParse(jsondata["stocktake_date"] ?? ''); + } else { + return null; + } + } + + String? get stocktakeDateString { + var _stocktake = stocktakeDate; + + if (_stocktake == null) { + return null; + } + + final DateFormat _format = DateFormat("yyyy-MM-dd"); + + return _format.format(_stocktake); + } + String get partName { String nm = ''; diff --git a/lib/l10n b/lib/l10n index 84f6ed3f..af4cd902 160000 --- a/lib/l10n +++ b/lib/l10n @@ -1 +1 @@ -Subproject commit 84f6ed3faf63cbf371016e134196400e5f822759 +Subproject commit af4cd9026a96d44d60f9187119f5ce19c74738d3 diff --git a/lib/widget/stock_detail.dart b/lib/widget/stock_detail.dart index fd50798c..1029b021 100644 --- a/lib/widget/stock_detail.dart +++ b/lib/widget/stock_detail.dart @@ -418,7 +418,32 @@ class _StockItemDisplayState extends RefreshableState { ); } + // Last update? + var update_date = item.updatedDateString; + + if (update_date != null) { + + tiles.add( + ListTile( + title: Text(L10().lastUpdated), + subtitle: Text(update_date), + leading: FaIcon(FontAwesomeIcons.calendarAlt) + ) + ); + } + // Stocktake? + var stocktake_date = item.stocktakeDateString; + + if (stocktake_date != null) { + tiles.add( + ListTile( + title: Text(L10().lastStocktake), + subtitle: Text(stocktake_date), + leading: FaIcon(FontAwesomeIcons.calendarAlt) + ) + ); + } // Supplier part? // TODO: Display supplier part info page?