From c2aa51ed95b3fd03fd22dc02dfd4807a755d296f Mon Sep 17 00:00:00 2001
From: Oliver Walters <oliver.henry.walters@gmail.com>
Date: Tue, 9 Feb 2021 20:10:36 +1100
Subject: [PATCH] Cleanup

---
 lib/inventree/part.dart           |  2 +-
 lib/inventree/stock.dart          |  5 +++++
 lib/settings/login.dart           |  2 --
 lib/widget/category_display.dart  |  4 ++--
 lib/widget/home.dart              | 21 +++++++++++++--------
 lib/widget/location_display.dart  |  4 ++--
 lib/widget/part_detail.dart       |  6 ++++--
 lib/widget/part_stock_detail.dart |  3 +--
 8 files changed, 28 insertions(+), 19 deletions(-)

diff --git a/lib/inventree/part.dart b/lib/inventree/part.dart
index ac98857b..ac5c469c 100644
--- a/lib/inventree/part.dart
+++ b/lib/inventree/part.dart
@@ -155,7 +155,7 @@ class InvenTreePart extends InvenTreeModel {
   // Request stock items for this part
   Future<void> getStockItems(BuildContext context, {bool showDialog=false}) async {
 
-    InvenTreeStockItem().list(
+    await InvenTreeStockItem().list(
       context,
       filters: {
         "part": "${pk}",
diff --git a/lib/inventree/stock.dart b/lib/inventree/stock.dart
index c174e048..60f2ee50 100644
--- a/lib/inventree/stock.dart
+++ b/lib/inventree/stock.dart
@@ -287,6 +287,11 @@ class InvenTreeStockItem extends InvenTreeModel {
       return 'SN ${serialNumber}';
     }
 
+    // Is an integer?
+    if (quantity.toInt() == quantity) {
+      return '${quantity.toInt()}';
+    }
+
     return '${quantity}';
   }
 
diff --git a/lib/settings/login.dart b/lib/settings/login.dart
index f5b6fe38..00032824 100644
--- a/lib/settings/login.dart
+++ b/lib/settings/login.dart
@@ -175,7 +175,6 @@ class _InvenTreeLoginSettingsState extends State<InvenTreeLoginSettingsWidget> {
 
     _reload();
 
-    print("CONNECT FROM A");
     // Attempt server login (this will load the newly selected profile
     InvenTreeAPI().connectToServer(context).then((result) {
       _reload();
@@ -210,7 +209,6 @@ class _InvenTreeLoginSettingsState extends State<InvenTreeLoginSettingsWidget> {
     if (InvenTreeAPI().isConnected() && profile.key == InvenTreeAPI().profile.key) {
       // Attempt server login (this will load the newly selected profile
 
-      print("Connect froM A");
       InvenTreeAPI().connectToServer(context).then((result) {
         _reload();
       });
diff --git a/lib/widget/category_display.dart b/lib/widget/category_display.dart
index 02a91527..ca0e4776 100644
--- a/lib/widget/category_display.dart
+++ b/lib/widget/category_display.dart
@@ -234,7 +234,7 @@ class SubcategoryList extends StatelessWidget {
     return ListView.separated(
         shrinkWrap: true,
         physics: ClampingScrollPhysics(),
-        separatorBuilder: (_, __) => const Divider(),
+        separatorBuilder: (_, __) => const Divider(height: 3),
         itemBuilder: _build, itemCount: _categories.length);
   }
 }
@@ -286,7 +286,7 @@ class PartList extends StatelessWidget {
     return ListView.separated(
         shrinkWrap: true,
         physics: ClampingScrollPhysics(),
-        separatorBuilder: (_, __) => const Divider(height: 1),
+        separatorBuilder: (_, __) => const Divider(height: 3),
         itemBuilder: _build, itemCount: _parts.length);
   }
 }
diff --git a/lib/widget/home.dart b/lib/widget/home.dart
index 636dc46b..44ae938b 100644
--- a/lib/widget/home.dart
+++ b/lib/widget/home.dart
@@ -45,19 +45,19 @@ class _InvenTreeHomePageState extends State<InvenTreeHomePage> {
 
   }
 
-  void _scan() {
+  void _scan(BuildContext context) {
     if (!InvenTreeAPI().checkConnection(context)) return;
 
     scanQrCode(context);
   }
 
-  void _parts() {
+  void _parts(BuildContext context) {
     if (!InvenTreeAPI().checkConnection(context)) return;
 
     Navigator.push(context, MaterialPageRoute(builder: (context) => CategoryDisplayWidget(null)));
   }
 
-  void _stock() {
+  void _stock(BuildContext context) {
     if (!InvenTreeAPI().checkConnection(context)) return;
 
     Navigator.push(context, MaterialPageRoute(builder: (context) => LocationDisplayWidget(null)));
@@ -82,7 +82,12 @@ class _InvenTreeHomePageState extends State<InvenTreeHomePage> {
   }
 
   void _selectProfile() {
-    Navigator.push(context, MaterialPageRoute(builder: (context) => InvenTreeLoginSettingsWidget()));
+    Navigator.push(
+        context, MaterialPageRoute(builder: (context) => InvenTreeLoginSettingsWidget())
+    ).then((context) {
+      // Once we return
+      _loadProfile();
+    });
   }
 
   void _unsupported() {
@@ -109,7 +114,7 @@ class _InvenTreeHomePageState extends State<InvenTreeHomePage> {
     if (_profile != null) {
       if (!InvenTreeAPI().isConnected() && !InvenTreeAPI().isConnecting()) {
 
-        print("Connect from C");
+        // Attempt server connection
         InvenTreeAPI().connectToServer(_context).then((result) {
           setState(() {});
         });
@@ -234,7 +239,7 @@ class _InvenTreeHomePageState extends State<InvenTreeHomePage> {
                     IconButton(
                       icon: new FaIcon(FontAwesomeIcons.barcode),
                       tooltip: I18N.of(context).scanBarcode,
-                      onPressed: _scan,
+                      onPressed: () { _scan(context); },
                     ),
                     Text(I18N.of(context).scanBarcode),
                   ],
@@ -250,7 +255,7 @@ class _InvenTreeHomePageState extends State<InvenTreeHomePage> {
                     IconButton(
                       icon: new FaIcon(FontAwesomeIcons.shapes),
                       tooltip: I18N.of(context).parts,
-                      onPressed: _parts,
+                      onPressed: () { _parts(context); },
                     ),
                     Text(I18N.of(context).parts),
                   ],
@@ -260,7 +265,7 @@ class _InvenTreeHomePageState extends State<InvenTreeHomePage> {
                     IconButton(
                       icon: new FaIcon(FontAwesomeIcons.boxes),
                       tooltip: I18N.of(context).stock,
-                      onPressed: _stock,
+                      onPressed: () { _stock(context); },
                     ),
                     Text(I18N.of(context).stock),
                   ],
diff --git a/lib/widget/location_display.dart b/lib/widget/location_display.dart
index b8fe8e06..c6a7ac3c 100644
--- a/lib/widget/location_display.dart
+++ b/lib/widget/location_display.dart
@@ -305,7 +305,7 @@ class SublocationList extends StatelessWidget {
         shrinkWrap: true,
         physics: ClampingScrollPhysics(),
         itemBuilder: _build,
-        separatorBuilder: (_, __) => const Divider(),
+        separatorBuilder: (_, __) => const Divider(height: 3),
         itemCount: _locations.length
     );
   }
@@ -349,7 +349,7 @@ class StockList extends StatelessWidget {
     return ListView.separated(
         shrinkWrap: true,
         physics: ClampingScrollPhysics(),
-        separatorBuilder: (_, __) => const Divider(),
+        separatorBuilder: (_, __) => const Divider(height: 3),
         itemBuilder: _build, itemCount: _items.length);
   }
 }
\ No newline at end of file
diff --git a/lib/widget/part_detail.dart b/lib/widget/part_detail.dart
index fbd91132..935c2f70 100644
--- a/lib/widget/part_detail.dart
+++ b/lib/widget/part_detail.dart
@@ -214,7 +214,7 @@ class _PartDisplayState extends RefreshableState<PartDetailWidget> {
     // Stock information
     tiles.add(
       ListTile(
-        title: Text("Stock"),
+        title: Text(I18N.of(context).stock),
         leading: FaIcon(FontAwesomeIcons.boxes),
         trailing: Text("${part.inStock}"),
         onTap: () {
@@ -230,7 +230,9 @@ class _PartDisplayState extends RefreshableState<PartDetailWidget> {
             title: Text("On Order"),
             leading: FaIcon(FontAwesomeIcons.shoppingCart),
             trailing: Text("${part.onOrder}"),
-            onTap: null,
+            onTap: () {
+              // TODO: Click through to show items on order
+            },
           )
       );
     }
diff --git a/lib/widget/part_stock_detail.dart b/lib/widget/part_stock_detail.dart
index e5b4f27f..521d7025 100644
--- a/lib/widget/part_stock_detail.dart
+++ b/lib/widget/part_stock_detail.dart
@@ -38,7 +38,6 @@ class _PartStockDisplayState extends RefreshableState<PartStockDetailWidget> {
   @override
   Future<void> onBuild(BuildContext context) async {
     refresh();
-    print("onBuild");
   }
 
   @override
@@ -104,7 +103,7 @@ class PartStockList extends StatelessWidget {
       shrinkWrap: true,
       physics: ClampingScrollPhysics(),
       itemBuilder: _build,
-      separatorBuilder: (_, __) => const Divider(height: 1),
+      separatorBuilder: (_, __) => const Divider(height: 3),
       itemCount: _items.length
     );
   }