From 5bdc1110fb22507c75a3426d30f2ab30427e467c Mon Sep 17 00:00:00 2001
From: "a.schindlbeck" <a.schindlbeck@adito.de>
Date: Fri, 15 Feb 2019 16:38:38 +0100
Subject: [PATCH] =?UTF-8?q?#1024211=20Per=20lookups=20type=20und=20object?=
 =?UTF-8?q?=20im=20Termin=20ausw=C3=A4hlbar?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 aliasDefinition/Data_alias/Data_alias.aod     | 14 +++++++++++
 .../AppointmentLink_entity.aod                |  7 ++++++
 .../Appointment_entity/Appointment_entity.aod | 25 +++++++++++++++++++
 .../contexts/children/contextid_param/code.js |  0
 .../objects/children/objecttype_param/code.js |  5 ++++
 entity/Object_entity/Object_entity.aod        | 10 ++++++++
 .../AppointmentEdit_view.aod                  |  1 +
 .../AppointmentLinkFilter_view.aod            | 16 +++---------
 .../struct/create_appointmentlink.xml         |  4 ++-
 .../struct/create_asys_calendarbackend.xml    |  8 +++---
 10 files changed, 72 insertions(+), 18 deletions(-)
 create mode 100644 entity/Appointment_entity/entityfields/contexts/children/contextid_param/code.js
 create mode 100644 entity/Appointment_entity/entityfields/objects/children/objecttype_param/code.js

diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod
index eb36678450..aec18dc841 100644
--- a/aliasDefinition/Data_alias/Data_alias.aod
+++ b/aliasDefinition/Data_alias/Data_alias.aod
@@ -4618,6 +4618,20 @@
                 <title></title>
                 <description></description>
               </entityFieldDb>
+              <entityFieldDb>
+                <name>OBJECT_TITLE</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="123" />
+                <scale v="0" />
+                <notNull v="true" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
             </entityFields>
           </entityDb>
           <entityDb>
diff --git a/entity/AppointmentLink_entity/AppointmentLink_entity.aod b/entity/AppointmentLink_entity/AppointmentLink_entity.aod
index 35cdd9cda3..a8e6a311a3 100644
--- a/entity/AppointmentLink_entity/AppointmentLink_entity.aod
+++ b/entity/AppointmentLink_entity/AppointmentLink_entity.aod
@@ -41,6 +41,9 @@
         </entityDependency>
       </dependencies>
     </entityProvider>
+    <entityField>
+      <name>OBJECT_TITLE</name>
+    </entityField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -73,6 +76,10 @@
           <name>OBJECTTYPE.value</name>
           <recordfield>APPOINTMENTLINK.OBJECT_TYPE</recordfield>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>OBJECT_TITLE.value</name>
+          <recordfield>APPOINTMENTLINK.OBJECT_TITLE</recordfield>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/Appointment_entity/Appointment_entity.aod b/entity/Appointment_entity/Appointment_entity.aod
index b948527dec..e10610e8e1 100644
--- a/entity/Appointment_entity/Appointment_entity.aod
+++ b/entity/Appointment_entity/Appointment_entity.aod
@@ -121,6 +121,9 @@
     </entityField>
     <entityField>
       <name>LINKS</name>
+      <title>Links</title>
+      <consumer>Objects</consumer>
+      <linkedContext>Object_context</linkedContext>
     </entityField>
     <entityField>
       <name>ICON</name>
@@ -164,10 +167,32 @@
       <children>
         <entityParameter>
           <name>ContextId_param</name>
+          <code>%aditoprj%/entity/Appointment_entity/entityfields/contexts/children/contextid_param/code.js</code>
           <documentation>%aditoprj%/entity/Appointment_entity/entityfields/contexts/children/contextid_param/documentation.adoc</documentation>
         </entityParameter>
       </children>
     </entityConsumer>
+    <entityConsumer>
+      <name>Objects</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Object_entity</entityName>
+        <fieldName>#PROVIDER</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ObjectType_param</name>
+          <code>%aditoprj%/entity/Appointment_entity/entityfields/objects/children/objecttype_param/code.js</code>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityField>
+      <name>LINKTYPE</name>
+      <title>Linktype</title>
+      <consumer>Contexts</consumer>
+      <linkedContext>Context_context</linkedContext>
+    </entityField>
   </entityFields>
   <recordContainers>
     <jDitoRecordContainer>
diff --git a/entity/Appointment_entity/entityfields/contexts/children/contextid_param/code.js b/entity/Appointment_entity/entityfields/contexts/children/contextid_param/code.js
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/entity/Appointment_entity/entityfields/objects/children/objecttype_param/code.js b/entity/Appointment_entity/entityfields/objects/children/objecttype_param/code.js
new file mode 100644
index 0000000000..b37b4f9781
--- /dev/null
+++ b/entity/Appointment_entity/entityfields/objects/children/objecttype_param/code.js
@@ -0,0 +1,5 @@
+import("system.vars");
+import("system.result");
+
+
+result.string(vars.get("$field.LINKTYPE"))
\ No newline at end of file
diff --git a/entity/Object_entity/Object_entity.aod b/entity/Object_entity/Object_entity.aod
index 613a2e2e90..fa0bdde301 100644
--- a/entity/Object_entity/Object_entity.aod
+++ b/entity/Object_entity/Object_entity.aod
@@ -8,6 +8,15 @@
   <entityFields>
     <entityProvider>
       <name>#PROVIDER</name>
+      <recordContainer>jdito</recordContainer>
+      <dependencies>
+        <entityDependency>
+          <name>e7a31d3c-69f5-43f9-8e66-c35bcc058883</name>
+          <entityName>Appointment_entity</entityName>
+          <fieldName>Objects</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
       <children>
         <entityParameter>
           <name>ObjectRowId_param</name>
@@ -24,6 +33,7 @@
     <entityParameter>
       <name>ObjectType_param</name>
       <expose v="true" />
+      <mandatory v="true" />
       <description>PARAMETER</description>
     </entityParameter>
     <entityParameter>
diff --git a/neonView/AppointmentEdit_view/AppointmentEdit_view.aod b/neonView/AppointmentEdit_view/AppointmentEdit_view.aod
index 1f551da997..68581d6336 100644
--- a/neonView/AppointmentEdit_view/AppointmentEdit_view.aod
+++ b/neonView/AppointmentEdit_view/AppointmentEdit_view.aod
@@ -31,6 +31,7 @@
       <masterEndField>MASTEREND</masterEndField>
       <reminderField>REMINDER</reminderField>
       <appointmentLinkField>LINKS</appointmentLinkField>
+      <appointmentLinkTypeField>LINKTYPE</appointmentLinkTypeField>
       <entityField>#ENTITY</entityField>
     </appointmentEditViewTemplate>
     <neonViewReference>
diff --git a/neonView/AppointmentLinkFilter_view/AppointmentLinkFilter_view.aod b/neonView/AppointmentLinkFilter_view/AppointmentLinkFilter_view.aod
index 7a2a9c8fe9..5b3687e159 100644
--- a/neonView/AppointmentLinkFilter_view/AppointmentLinkFilter_view.aod
+++ b/neonView/AppointmentLinkFilter_view/AppointmentLinkFilter_view.aod
@@ -12,22 +12,14 @@
       <name>Links</name>
       <entityField>#ENTITY</entityField>
       <columns>
-        <neonTableColumn>
-          <name>a9c230fa-dbfd-40c6-975b-7778dea6ef78</name>
-          <entityField>APPOINTMENTLINKID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>0da4bab5-6a9a-4411-92db-517b7cb327de</name>
-          <entityField>APPOINTMENT_ID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>4b89082a-c6c0-4af8-ab94-b3ad8bfb6c04</name>
-          <entityField>OBJECTID</entityField>
-        </neonTableColumn>
         <neonTableColumn>
           <name>17c0a8a9-354c-4095-a5d4-5c2613c897a3</name>
           <entityField>OBJECTTYPE</entityField>
         </neonTableColumn>
+        <neonTableColumn>
+          <name>7c5f9eae-7a47-4ee4-a168-06f7265fa1ef</name>
+          <entityField>OBJECT_TITLE</entityField>
+        </neonTableColumn>
       </columns>
     </tableViewTemplate>
   </children>
diff --git a/others/db_changes/data_alias/struct/create_appointmentlink.xml b/others/db_changes/data_alias/struct/create_appointmentlink.xml
index 7d5a08a68e..1f894be5d0 100644
--- a/others/db_changes/data_alias/struct/create_appointmentlink.xml
+++ b/others/db_changes/data_alias/struct/create_appointmentlink.xml
@@ -14,7 +14,9 @@
             <column name="OBJECT_ROWID" type="CHAR(36)">
                 <constraints nullable="false"/>
             </column>
-            
+            <column name="OBJECT_TITLE" type="VARCHAR(123)">
+                <constraints nullable="false"/>
+            </column>
         </createTable>
     </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/others/db_changes/system_alias/struct/create_asys_calendarbackend.xml b/others/db_changes/system_alias/struct/create_asys_calendarbackend.xml
index b53fa28d89..682a7b9ecb 100644
--- a/others/db_changes/system_alias/struct/create_asys_calendarbackend.xml
+++ b/others/db_changes/system_alias/struct/create_asys_calendarbackend.xml
@@ -2,13 +2,11 @@
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
 <changeSet author="a.schindlbeck" id="647ddc15-7bde-4b04-81e4-9a62a24aa5b7">
     <createTable tableName="ASYS_CALENDARBACKEND">
-        <column name="ELEMENTUID" type="VARCHAR(512)">
-            <constraints primaryKey="true" primaryKeyName="PK_ASYS_CALENDARBACKEND_ELEMENTUID"/>
-        </column>
-        <column name="CLASSIFICATION" type="INTEGER"/>
         <column name="DATASETID" type="CHAR(36)">
-            <constraints nullable="false"/>
+            <constraints nullable="false" primaryKey="true" primaryKeyName="PK_ASYS_CALENDARBACKEND_ELEMENTUID"/>
         </column>
+        <column name="ELEMENTUID" type="VARCHAR(512)"/>
+        <column name="CLASSIFICATION" type="INTEGER"/>
         <column name="DTEND" type="DATETIME"/>
         <column name="DTSTART" type="DATETIME"/>
         <column name="ENDTIME" type="DATETIME"/>
-- 
GitLab