From 25701c0c1c13ca766ed35c11bc1092ee4e3d18a3 Mon Sep 17 00:00:00 2001
From: Oliver <oliver.henry.walters@gmail.com>
Date: Wed, 5 Jan 2022 14:58:04 +1100
Subject: [PATCH] Bug fix for stock item creation form

---
 assets/release_notes.md    | 5 +++++
 lib/api_form.dart          | 9 ++++++++-
 lib/widget/part_list.dart  | 3 ++-
 lib/widget/stock_list.dart | 2 +-
 4 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/assets/release_notes.md b/assets/release_notes.md
index f8de631c..aec2611e 100644
--- a/assets/release_notes.md
+++ b/assets/release_notes.md
@@ -1,6 +1,11 @@
 ## InvenTree App Release Notes
 ---
 
+### 0.5.5 - January 2022
+---
+
+- Fixes bug in stock item creation form
+
 ### 0.5.4 - January 2022
 ---
 
diff --git a/lib/api_form.dart b/lib/api_form.dart
index 432c2d75..75a6a089 100644
--- a/lib/api_form.dart
+++ b/lib/api_form.dart
@@ -873,8 +873,15 @@ Future<void> launchApiForm(
     }
 
     // Add instance value to the field
-    field.data["instance_value"] = modelData[fieldName];
+    dynamic model_value = modelData[fieldName];
 
+    if (model_value != null) {
+      field.data["instance_value"] = model_value;
+
+      if (field.data["value"] == null) {
+        field.data["value"] = model_value;
+      }
+    }
     formFields.add(field);
   }
 
diff --git a/lib/widget/part_list.dart b/lib/widget/part_list.dart
index a6fb6fef..7c1233f6 100644
--- a/lib/widget/part_list.dart
+++ b/lib/widget/part_list.dart
@@ -59,7 +59,8 @@ class _PaginatedPartListState extends PaginatedSearchState<PaginatedPartList> {
 
   @override
   Future<InvenTreePageResponse?> requestPage(int limit, int offset, Map<String, String> params) async {
-    final bool cascade = await InvenTreeSettingsManager().getBool("partSubcategory", true);
+
+    final bool cascade = await InvenTreeSettingsManager().getBool(INV_PART_SUBCATEGORY, true);
 
     params["cascade"] = "${cascade}";
 
diff --git a/lib/widget/stock_list.dart b/lib/widget/stock_list.dart
index 9364f23f..f34a87f5 100644
--- a/lib/widget/stock_list.dart
+++ b/lib/widget/stock_list.dart
@@ -57,7 +57,7 @@ class _PaginatedStockItemListState extends PaginatedSearchState<PaginatedStockIt
   Future<InvenTreePageResponse?> requestPage(int limit, int offset, Map<String, String> params) async {
 
     // Do we include stock items from sub-locations?
-    final bool cascade = await InvenTreeSettingsManager().getBool("stockSublocation", true);
+    final bool cascade = await InvenTreeSettingsManager().getBool(INV_STOCK_SUBLOCATION, true);
 
     params["cascade"] = "${cascade}";