From 1569043fbaeed33794e8bf643d7963af26051328 Mon Sep 17 00:00:00 2001
From: "j.luginger" <j.luginger@JLuginger.aditosoftware.local>
Date: Wed, 27 Feb 2019 14:05:23 +0100
Subject: [PATCH] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][TicketNr.:?=
 =?UTF-8?q?=201035026][[Person]:=20Anrede=20und=20Titel]=20Abh=C3=A4ngigke?=
 =?UTF-8?q?it=20von=20Land?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 aliasDefinition/Data_alias/Data_alias.aod        |  6 +++---
 entity/Person_entity/Person_entity.aod           |  5 +++--
 .../entityfields/gender/displayValueProcess.js   |  1 -
 .../entityfields/language/valueProcess.js        |  7 +++++++
 .../onValidation.js}                             |  0
 .../entityfields/salutation/onValueChange.js     |  0
 .../salutation/possibleItemsProcess.js           | 10 +++++++++-
 .../entityfields/salutation/valueProcess.js      | 16 ++++++++++++++++
 .../language.displayvalue/expression.js          |  1 +
 .../SalesprojectPreview_view.aod                 | 12 +-----------
 .../data_alias/struct/create_salutation.xml      |  2 +-
 11 files changed, 41 insertions(+), 19 deletions(-)
 create mode 100644 entity/Person_entity/entityfields/language/valueProcess.js
 rename entity/Person_entity/entityfields/{gender/onValueChange.js => salutation/onValidation.js} (100%)
 delete mode 100644 entity/Person_entity/entityfields/salutation/onValueChange.js
 create mode 100644 entity/Person_entity/entityfields/salutation/valueProcess.js

diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod
index 5705ff7923..a51593d0ad 100644
--- a/aliasDefinition/Data_alias/Data_alias.aod
+++ b/aliasDefinition/Data_alias/Data_alias.aod
@@ -4656,7 +4656,7 @@
                 <dbName></dbName>
                 <primaryKey v="false" />
                 <columnType v="1" />
-                <size v="36" />
+                <size v="3" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
@@ -4683,8 +4683,8 @@
                 <name>SEX</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="30" />
+                <columnType v="1" />
+                <size v="36" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod
index a23bb04ef6..1350415190 100644
--- a/entity/Person_entity/Person_entity.aod
+++ b/entity/Person_entity/Person_entity.aod
@@ -26,7 +26,6 @@
       <consumer>KeywordGenders</consumer>
       <valueProcess>%aditoprj%/entity/Person_entity/entityfields/gender/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/Person_entity/entityfields/gender/displayValueProcess.js</displayValueProcess>
-      <onValueChange>%aditoprj%/entity/Person_entity/entityfields/gender/onValueChange.js</onValueChange>
       <onValueChangeTypes>
         <element>MASK</element>
         <element>PROCESS</element>
@@ -51,7 +50,8 @@
       <name>SALUTATION</name>
       <title>Salutation</title>
       <possibleItemsProcess>%aditoprj%/entity/Person_entity/entityfields/salutation/possibleItemsProcess.js</possibleItemsProcess>
-      <onValueChange>%aditoprj%/entity/Person_entity/entityfields/salutation/onValueChange.js</onValueChange>
+      <valueProcess>%aditoprj%/entity/Person_entity/entityfields/salutation/valueProcess.js</valueProcess>
+      <onValidation>%aditoprj%/entity/Person_entity/entityfields/salutation/onValidation.js</onValidation>
       <onValueChangeTypes>
         <element>MASK</element>
         <element>PROCESS</element>
@@ -296,6 +296,7 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
       <title>Language</title>
       <consumer>Languages</consumer>
       <mandatory v="true" />
+      <valueProcess>%aditoprj%/entity/Person_entity/entityfields/language/valueProcess.js</valueProcess>
     </entityField>
     <entityConsumer>
       <name>Documents</name>
diff --git a/entity/Person_entity/entityfields/gender/displayValueProcess.js b/entity/Person_entity/entityfields/gender/displayValueProcess.js
index c3977892e6..c117e59213 100644
--- a/entity/Person_entity/entityfields/gender/displayValueProcess.js
+++ b/entity/Person_entity/entityfields/gender/displayValueProcess.js
@@ -7,7 +7,6 @@ import("system.vars");
 import("system.neon");
 import("Sql_lib");
 
-var salutation = vars.get("$field.SALUTATION");
 
 var cond = SqlCondition.begin()
 
diff --git a/entity/Person_entity/entityfields/language/valueProcess.js b/entity/Person_entity/entityfields/language/valueProcess.js
new file mode 100644
index 0000000000..741d521c5f
--- /dev/null
+++ b/entity/Person_entity/entityfields/language/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.neon");
+import("system.vars");
+import("system.db");
+import("system.result");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    result.string("deu");
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/gender/onValueChange.js b/entity/Person_entity/entityfields/salutation/onValidation.js
similarity index 100%
rename from entity/Person_entity/entityfields/gender/onValueChange.js
rename to entity/Person_entity/entityfields/salutation/onValidation.js
diff --git a/entity/Person_entity/entityfields/salutation/onValueChange.js b/entity/Person_entity/entityfields/salutation/onValueChange.js
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/entity/Person_entity/entityfields/salutation/possibleItemsProcess.js b/entity/Person_entity/entityfields/salutation/possibleItemsProcess.js
index 9fc8e487f3..b0ae277de8 100644
--- a/entity/Person_entity/entityfields/salutation/possibleItemsProcess.js
+++ b/entity/Person_entity/entityfields/salutation/possibleItemsProcess.js
@@ -1,7 +1,15 @@
+import("system.logging");
+import("system.vars");
 import("system.result");
 import("system.db");
+import("Sql_lib");
 
 
-var salutation = db.table("select distinct SALUTATION, SALUTATION from SALUTATION where SALUTATION is not NULL");
+var cond = SqlCondition.begin()
+    .and("SALUTATION is not NULL")
+    .andPrepareVars("SALUTATION.LANGUAGE", "$field.LANGUAGE")
+    .buildSql("select distinct SALUTATION, SALUTATION from SALUTATION", "1=2");
+
+var salutation = db.table(cond);
 
 result.object(salutation);
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/salutation/valueProcess.js b/entity/Person_entity/entityfields/salutation/valueProcess.js
new file mode 100644
index 0000000000..0287816000
--- /dev/null
+++ b/entity/Person_entity/entityfields/salutation/valueProcess.js
@@ -0,0 +1,16 @@
+import("system.logging");
+import("system.result");
+import("system.db");
+import("system.vars");
+import("Sql_lib");
+
+
+var language = vars.get("$field.LANGUAGE");
+var cond = SqlCondition.begin();
+var salLanguage = db.cell(cond.andPrepareVars("SALUTATION.SALUTATION", "$field.SALUTATION").buildSql("select distinct LANGUAGE from SALUTATION", "1=2"));
+
+
+if(language != salLanguage)
+    {
+        result.string("");
+    }
\ No newline at end of file
diff --git a/entity/Person_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js b/entity/Person_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js
index 9b7d38b00d..56aa5aa75d 100644
--- a/entity/Person_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js
+++ b/entity/Person_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js
@@ -2,4 +2,5 @@ import("system.result");
 import("Keyword_lib");
 
 var sql = LanguageKeywordUtils.getResolvedTitleSqlPart("CONTACT.LANGUAGE");
+
 result.string(sql);
diff --git a/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod b/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
index b36c8a2373..1fa433506d 100644
--- a/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
+++ b/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
@@ -23,7 +23,7 @@
       <fields>
         <entityFieldLink>
           <name>f2b33601-12e8-463f-a920-6e1ae9745491</name>
-          <entityField>CONTACT_ID</entityField>
+          <entityField>RELATION_ID</entityField>
         </entityFieldLink>
         <entityFieldLink>
           <name>4e3d7a37-f55b-4c18-9ba1-ab4ab0bbb442</name>
@@ -76,15 +76,5 @@
       <entityField>MainDocuments</entityField>
       <view>DocumentList_view</view>
     </neonViewReference>
-    <scoreCardViewTemplate>
-      <name>SalesprojectScore_template</name>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>79490331-6be4-422f-9450-da0db56f0654</name>
-          <entityField>DAYS_NOTACTIVE</entityField>
-        </entityFieldLink>
-      </fields>
-    </scoreCardViewTemplate>
   </children>
 </neonView>
diff --git a/others/db_changes/data_alias/struct/create_salutation.xml b/others/db_changes/data_alias/struct/create_salutation.xml
index 5073e4b526..52ec7e8e9c 100644
--- a/others/db_changes/data_alias/struct/create_salutation.xml
+++ b/others/db_changes/data_alias/struct/create_salutation.xml
@@ -6,7 +6,7 @@
 			<constraints primaryKey="true" primaryKeyName="PK_SALUTATION_SALUTATIONID"/>
 		</column>   
                 <column name="HEADLINE" type="NVARCHAR(50)"/>                       
-                <column name="LANGUAGE" type="CHAR(36)"/>
+                <column name="LANGUAGE" type="CHAR(3)"/>
 		<column name="LETTERSALUTATION" type="NVARCHAR(50)"/>
                 <column name="SALUTATION" type="NVARCHAR(50)"/>
                 <column name="SEX" type="CHAR(36)"/>
-- 
GitLab