From 3a4e8033fdd4366621c1c01e34d85c2e9dea1ea0 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Fri, 22 Nov 2019 14:46:36 +0100
Subject: [PATCH] Address: adjust visibility of region and repositioning of
 region and state fields

---
 entity/Address_entity/Address_entity.aod         |  2 ++
 .../entityfields/region/stateProcess.js          | 13 +++++++++++++
 neonView/AddressList_view/AddressList_view.aod   | 16 ++++++++--------
 .../AddressOrgMultiEdit_view.aod                 | 16 ++++++++--------
 .../AdressMultiEdit_view.aod                     | 16 ++++++++--------
 5 files changed, 39 insertions(+), 24 deletions(-)
 create mode 100644 entity/Address_entity/entityfields/region/stateProcess.js

diff --git a/entity/Address_entity/Address_entity.aod b/entity/Address_entity/Address_entity.aod
index 96ba5dac3d..962f370669 100644
--- a/entity/Address_entity/Address_entity.aod
+++ b/entity/Address_entity/Address_entity.aod
@@ -68,6 +68,8 @@
     <entityField>
       <name>REGION</name>
       <title>Region</title>
+      <state>INVISIBLE</state>
+      <stateProcess>%aditoprj%/entity/Address_entity/entityfields/region/stateProcess.js</stateProcess>
     </entityField>
     <entityField>
       <name>CONTACT_ID</name>
diff --git a/entity/Address_entity/entityfields/region/stateProcess.js b/entity/Address_entity/entityfields/region/stateProcess.js
new file mode 100644
index 0000000000..03e049f633
--- /dev/null
+++ b/entity/Address_entity/entityfields/region/stateProcess.js
@@ -0,0 +1,13 @@
+import("system.vars");
+import("system.neon");
+import("system.result");
+
+var fieldState;
+//requested change: since it's difficult to the user how to fill the REGION of an address it's only displayed in viewmode and hidden in edit mode
+//This results in the behaviour that a stored region can never be edited by the user by design
+if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW || vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT)
+    fieldState = neon.COMPONENTSTATE_INVISIBLE;
+else
+    fieldState = neon.COMPONENTSTATE_AUTO;
+
+result.string(fieldState);
\ No newline at end of file
diff --git a/neonView/AddressList_view/AddressList_view.aod b/neonView/AddressList_view/AddressList_view.aod
index 837fbef0f5..5380f0c5eb 100644
--- a/neonView/AddressList_view/AddressList_view.aod
+++ b/neonView/AddressList_view/AddressList_view.aod
@@ -27,14 +27,6 @@
           <width v="100" />
           <expandRatio v="100" />
         </neonTableColumn>
-        <neonTableColumn>
-          <name>aafc58cf-7dbb-42cb-b04c-d0869e58d09a</name>
-          <entityField>STATE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>29dbb3f5-6f80-4100-aed3-334ac0b9cc48</name>
-          <entityField>REGION</entityField>
-        </neonTableColumn>
         <neonTableColumn>
           <name>e809ff52-e8f7-443a-bf34-7e36daa2de42</name>
           <entityField>Zip_ws</entityField>
@@ -63,6 +55,14 @@
           <name>935bcecf-fdd9-4e82-a53f-3c3082c85340</name>
           <entityField>BUILDINGNO</entityField>
         </neonTableColumn>
+        <neonTableColumn>
+          <name>aafc58cf-7dbb-42cb-b04c-d0869e58d09a</name>
+          <entityField>STATE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>29dbb3f5-6f80-4100-aed3-334ac0b9cc48</name>
+          <entityField>REGION</entityField>
+        </neonTableColumn>
         <neonTableColumn>
           <name>6e369a01-965f-41d9-9b0a-6128a3827e47</name>
           <entityField>ADDRESSADDITION</entityField>
diff --git a/neonView/AddressOrgMultiEdit_view/AddressOrgMultiEdit_view.aod b/neonView/AddressOrgMultiEdit_view/AddressOrgMultiEdit_view.aod
index af43f7293e..55365aecdc 100644
--- a/neonView/AddressOrgMultiEdit_view/AddressOrgMultiEdit_view.aod
+++ b/neonView/AddressOrgMultiEdit_view/AddressOrgMultiEdit_view.aod
@@ -26,14 +26,6 @@
           <entityField>AddressSearch</entityField>
           <width v="100" />
         </neonTableColumn>
-        <neonTableColumn>
-          <name>66ae75ca-7a5c-4cf0-b768-6c2900f7b7c6</name>
-          <entityField>STATE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>b62515bf-e89d-44a9-94ff-933766657fe5</name>
-          <entityField>REGION</entityField>
-        </neonTableColumn>
         <neonTableColumn>
           <name>b9379fcc-3212-488b-8f90-cade09c00f3c</name>
           <entityField>Zip_ws</entityField>
@@ -63,6 +55,14 @@
           <name>61261845-740e-4f4b-a1f8-5e6aeac2deba</name>
           <entityField>BUILDINGNO</entityField>
         </neonTableColumn>
+        <neonTableColumn>
+          <name>66ae75ca-7a5c-4cf0-b768-6c2900f7b7c6</name>
+          <entityField>STATE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>b62515bf-e89d-44a9-94ff-933766657fe5</name>
+          <entityField>REGION</entityField>
+        </neonTableColumn>
         <neonTableColumn>
           <name>37df9198-cb7b-4080-a040-21ed32e26948</name>
           <entityField>ADDRESSADDITION</entityField>
diff --git a/neonView/AdressMultiEdit_view/AdressMultiEdit_view.aod b/neonView/AdressMultiEdit_view/AdressMultiEdit_view.aod
index b9829c6ab7..c55881ccdb 100644
--- a/neonView/AdressMultiEdit_view/AdressMultiEdit_view.aod
+++ b/neonView/AdressMultiEdit_view/AdressMultiEdit_view.aod
@@ -25,14 +25,6 @@
           <entityField>AddressSearch</entityField>
           <width v="100" />
         </neonTableColumn>
-        <neonTableColumn>
-          <name>66ae75ca-7a5c-4cf0-b768-6c2900f7b7c6</name>
-          <entityField>STATE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>b62515bf-e89d-44a9-94ff-933766657fe5</name>
-          <entityField>REGION</entityField>
-        </neonTableColumn>
         <neonTableColumn>
           <name>b9379fcc-3212-488b-8f90-cade09c00f3c</name>
           <entityField>Zip_ws</entityField>
@@ -62,6 +54,14 @@
           <name>61261845-740e-4f4b-a1f8-5e6aeac2deba</name>
           <entityField>BUILDINGNO</entityField>
         </neonTableColumn>
+        <neonTableColumn>
+          <name>66ae75ca-7a5c-4cf0-b768-6c2900f7b7c6</name>
+          <entityField>STATE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>b62515bf-e89d-44a9-94ff-933766657fe5</name>
+          <entityField>REGION</entityField>
+        </neonTableColumn>
         <neonTableColumn>
           <name>37df9198-cb7b-4080-a040-21ed32e26948</name>
           <entityField>ADDRESSADDITION</entityField>
-- 
GitLab