From 585d6d892f4d150165b8f83e420a13062d1ede90 Mon Sep 17 00:00:00 2001
From: Tor-Einar Skog <tor-einar.skog@nibio.no>
Date: Tue, 9 Apr 2024 16:35:55 +0200
Subject: [PATCH] Handle organism "Missing in database"

---
 .../no/nibio/vips/logic/util/HierarchyCategoryLocaleNames.java | 2 +-
 src/main/webapp/templates/observationForm.ftl                  | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/main/java/no/nibio/vips/logic/util/HierarchyCategoryLocaleNames.java b/src/main/java/no/nibio/vips/logic/util/HierarchyCategoryLocaleNames.java
index 3918f9d8..9d3583ca 100755
--- a/src/main/java/no/nibio/vips/logic/util/HierarchyCategoryLocaleNames.java
+++ b/src/main/java/no/nibio/vips/logic/util/HierarchyCategoryLocaleNames.java
@@ -33,7 +33,7 @@ public class HierarchyCategoryLocaleNames {
     
     public String getName(Integer hierarchyCategoryId)
     {
-        return this.nameMap.get(hierarchyCategoryId);
+        return this.nameMap.get(hierarchyCategoryId) != null ? this.nameMap.get(hierarchyCategoryId) : "";
     }
     
     public List<Integer> getHierarchyCategoryIds()
diff --git a/src/main/webapp/templates/observationForm.ftl b/src/main/webapp/templates/observationForm.ftl
index 43590675..d34ca3f4 100755
--- a/src/main/webapp/templates/observationForm.ftl
+++ b/src/main/webapp/templates/observationForm.ftl
@@ -447,8 +447,9 @@
                 </#if>
                 var cropList = [
                     <#if ! observation.observationId?has_content || user.isSuperUser() || user.isOrganizationAdmin()>
+                        {organismId: -10, displayName: "${i18nBundle.missingInDatabase}", hierarchyCategoryId: -1},
                         <#list allCrops as cropOrganism>
-                        {organismId: ${cropOrganism.organismId}, displayName: "${cropOrganism.getLocalName(currentLocale.language)!""} (${cropOrganism.latinName!""}) ${hierarchyCategories.getName(cropOrganism.hierarchyCategoryId)?upper_case}", hierarchyCategoryId: ${cropOrganism.hierarchyCategoryId}}<#sep>,
+                        {organismId: ${cropOrganism.organismId?c}, displayName: "${cropOrganism.getLocalName(currentLocale.language)!""} (${cropOrganism.latinName!""}) ${hierarchyCategories.getName(cropOrganism.hierarchyCategoryId)?upper_case}", hierarchyCategoryId: ${cropOrganism.hierarchyCategoryId!"-1"}}<#sep>,
                         </#list>
                     <#else>
                         <#list allCrops as cropOrganism>
-- 
GitLab