From 1cd272c341379e99c761c9716ade5c7becf39cfe Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Thu, 28 Mar 2019 13:53:00 +0100
Subject: [PATCH] add read-only KeywordAttributeRelations in KeywordEntry for
 better clarity.

---
 .../KeywordAttributeRelation_entity.aod       |  6 +++
 .../KeywordEntry_entity.aod                   | 18 +++++++++
 .../keywordentryid_param/valueProcess.js      |  4 ++
 .../documentation.adoc                        |  2 +
 .../KeywordAttributeRelation.aod              |  4 ++
 neonContext/KeywordEntry/KeywordEntry.aod     |  4 ++
 .../KeywordAttriubteRelationTitled_view.aod   | 26 +++++++++++++
 .../KeywordEntryMainSide_view.aod             | 37 +++++++++++++++++++
 .../KeywordEntryMain_view.aod                 |  6 +--
 .../KeywordEntryPreview_view.aod              |  5 +++
 report/Offer_report/reportData.jrxml          |  2 +-
 11 files changed, 110 insertions(+), 4 deletions(-)
 create mode 100644 entity/KeywordEntry_entity/entityfields/keywordattributerelationsreadonly/children/keywordentryid_param/valueProcess.js
 create mode 100644 entity/KeywordEntry_entity/entityfields/keywordattributerelationsreadonly/documentation.adoc
 create mode 100644 neonView/KeywordAttriubteRelationTitled_view/KeywordAttriubteRelationTitled_view.aod
 create mode 100644 neonView/KeywordEntryMainSide_view/KeywordEntryMainSide_view.aod

diff --git a/entity/KeywordAttributeRelation_entity/KeywordAttributeRelation_entity.aod b/entity/KeywordAttributeRelation_entity/KeywordAttributeRelation_entity.aod
index 5a7e7aea17..2930020424 100644
--- a/entity/KeywordAttributeRelation_entity/KeywordAttributeRelation_entity.aod
+++ b/entity/KeywordAttributeRelation_entity/KeywordAttributeRelation_entity.aod
@@ -51,6 +51,12 @@
           <fieldName>KeywordAttributeRelations</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>53b35858-7c81-429c-9e06-0362f567ad42</name>
+          <entityName>KeywordEntry_entity</entityName>
+          <fieldName>KeywordAttributeRelationsReadOnly</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
       <children>
         <entityParameter>
diff --git a/entity/KeywordEntry_entity/KeywordEntry_entity.aod b/entity/KeywordEntry_entity/KeywordEntry_entity.aod
index abec1dc43c..71b9ee7e29 100644
--- a/entity/KeywordEntry_entity/KeywordEntry_entity.aod
+++ b/entity/KeywordEntry_entity/KeywordEntry_entity.aod
@@ -409,6 +409,24 @@
         </entityParameter>
       </children>
     </entityConsumer>
+    <entityConsumer>
+      <name>KeywordAttributeRelationsReadOnly</name>
+      <title>Keyword Attribute Values</title>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <documentation>%aditoprj%/entity/KeywordEntry_entity/entityfields/keywordattributerelationsreadonly/documentation.adoc</documentation>
+      <state>READONLY</state>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordAttributeRelation_entity</entityName>
+        <fieldName>AttributesForKeywordEntry</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>KeywordEntryId_param</name>
+          <valueProcess>%aditoprj%/entity/KeywordEntry_entity/entityfields/keywordattributerelationsreadonly/children/keywordentryid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/KeywordEntry_entity/entityfields/keywordattributerelationsreadonly/children/keywordentryid_param/valueProcess.js b/entity/KeywordEntry_entity/entityfields/keywordattributerelationsreadonly/children/keywordentryid_param/valueProcess.js
new file mode 100644
index 0000000000..53afbdfbbf
--- /dev/null
+++ b/entity/KeywordEntry_entity/entityfields/keywordattributerelationsreadonly/children/keywordentryid_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.AB_KEYWORD_ENTRYID"));
\ No newline at end of file
diff --git a/entity/KeywordEntry_entity/entityfields/keywordattributerelationsreadonly/documentation.adoc b/entity/KeywordEntry_entity/entityfields/keywordattributerelationsreadonly/documentation.adoc
new file mode 100644
index 0000000000..99874edc30
--- /dev/null
+++ b/entity/KeywordEntry_entity/entityfields/keywordattributerelationsreadonly/documentation.adoc
@@ -0,0 +1,2 @@
+Since it's not possible to limit the keywordAttributeRelation to a distinctive list (use a KeywordAttributeRelation "category" only once per keyowrd-entry) within the generic-multiple-template / titledList-template use this readonly consumer there.
+For editing use the not-read-only consumer in a list-template. In a list-template only one row can be changed (and stored) which means we can exlucde already stored entries.
\ No newline at end of file
diff --git a/neonContext/KeywordAttributeRelation/KeywordAttributeRelation.aod b/neonContext/KeywordAttributeRelation/KeywordAttributeRelation.aod
index d0d5276671..0270a99f81 100644
--- a/neonContext/KeywordAttributeRelation/KeywordAttributeRelation.aod
+++ b/neonContext/KeywordAttributeRelation/KeywordAttributeRelation.aod
@@ -9,5 +9,9 @@
       <name>4340ec15-39bd-4c0c-a7b9-c03829f9ff78</name>
       <view>KeywordAttributeRelationRows_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>c27dbf5c-1a3d-4256-9103-bbf5256b005b</name>
+      <view>KeywordAttriubteRelationTitled_view</view>
+    </neonViewReference>
   </references>
 </neonContext>
diff --git a/neonContext/KeywordEntry/KeywordEntry.aod b/neonContext/KeywordEntry/KeywordEntry.aod
index 6b52464295..7a7310575c 100644
--- a/neonContext/KeywordEntry/KeywordEntry.aod
+++ b/neonContext/KeywordEntry/KeywordEntry.aod
@@ -26,5 +26,9 @@
       <name>bba3520e-3e12-44e9-89dc-b42183e332ec</name>
       <view>KeywordEntryMain_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>fb697cca-5e7d-4814-a6ed-09f32f9f60fd</name>
+      <view>KeywordEntryMainSide_view</view>
+    </neonViewReference>
   </references>
 </neonContext>
diff --git a/neonView/KeywordAttriubteRelationTitled_view/KeywordAttriubteRelationTitled_view.aod b/neonView/KeywordAttriubteRelationTitled_view/KeywordAttriubteRelationTitled_view.aod
new file mode 100644
index 0000000000..396943e647
--- /dev/null
+++ b/neonView/KeywordAttriubteRelationTitled_view/KeywordAttriubteRelationTitled_view.aod
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.0">
+  <name>KeywordAttriubteRelationTitled_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <noneLayout>
+      <name>layout</name>
+    </noneLayout>
+  </layout>
+  <children>
+    <titledListViewTemplate>
+      <name>mainList</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>9426ded9-a818-424e-8dd6-397dc439fffc</name>
+          <entityField>AB_KEYWORD_ATTRIBUTE_ID</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>35d71c73-cd55-4f45-8a22-22ac6ae7049d</name>
+          <entityField>valueProxy</entityField>
+        </neonTableColumn>
+      </columns>
+    </titledListViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/KeywordEntryMainSide_view/KeywordEntryMainSide_view.aod b/neonView/KeywordEntryMainSide_view/KeywordEntryMainSide_view.aod
new file mode 100644
index 0000000000..853a9789c4
--- /dev/null
+++ b/neonView/KeywordEntryMainSide_view/KeywordEntryMainSide_view.aod
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.0">
+  <name>KeywordEntryMainSide_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <cardViewTemplate>
+      <name>Header</name>
+      <titleField>TITLE</titleField>
+      <subtitleField>CONTAINER</subtitleField>
+      <descriptionField>KEYID</descriptionField>
+      <entityField>#ENTITY</entityField>
+    </cardViewTemplate>
+    <genericViewTemplate>
+      <name>Info</name>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>12e16874-32ee-47d7-b9d7-acaa32ca0402</name>
+          <entityField>ISACTIVE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>74f8f491-43e2-4de5-b1c6-c83055b4ffa1</name>
+          <entityField>ISESSENTIAL</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>5608493f-90b5-4baf-9114-63cb6a2e85bf</name>
+          <entityField>SORTING</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/KeywordEntryMain_view/KeywordEntryMain_view.aod b/neonView/KeywordEntryMain_view/KeywordEntryMain_view.aod
index c65f5e238e..0eeea0860f 100644
--- a/neonView/KeywordEntryMain_view/KeywordEntryMain_view.aod
+++ b/neonView/KeywordEntryMain_view/KeywordEntryMain_view.aod
@@ -5,14 +5,14 @@
   <layout>
     <masterSlaveLayout>
       <name>layout</name>
-      <master>19d059ec-7b77-4662-ad0b-14f43c76272e</master>
+      <master>267eb426-08d6-4699-9b9f-743c9c071463</master>
     </masterSlaveLayout>
   </layout>
   <children>
     <neonViewReference>
-      <name>19d059ec-7b77-4662-ad0b-14f43c76272e</name>
+      <name>267eb426-08d6-4699-9b9f-743c9c071463</name>
       <entityField>#ENTITY</entityField>
-      <view>KeywordEntryPreview_view</view>
+      <view>KeywordEntryMainSide_view</view>
     </neonViewReference>
     <neonViewReference>
       <name>e722eb4b-5737-4801-b6e4-550fca43963a</name>
diff --git a/neonView/KeywordEntryPreview_view/KeywordEntryPreview_view.aod b/neonView/KeywordEntryPreview_view/KeywordEntryPreview_view.aod
index 497dbe3837..9956bc5eab 100644
--- a/neonView/KeywordEntryPreview_view/KeywordEntryPreview_view.aod
+++ b/neonView/KeywordEntryPreview_view/KeywordEntryPreview_view.aod
@@ -35,5 +35,10 @@
         </entityFieldLink>
       </fields>
     </genericViewTemplate>
+    <neonViewReference>
+      <name>31f3e341-19b3-452e-a381-942c9860f696</name>
+      <entityField>KeywordAttributeRelationsReadOnly</entityField>
+      <view>KeywordAttriubteRelationTitled_view</view>
+    </neonViewReference>
   </children>
 </neonView>
diff --git a/report/Offer_report/reportData.jrxml b/report/Offer_report/reportData.jrxml
index 655c1c8169..621f6a5eed 100644
--- a/report/Offer_report/reportData.jrxml
+++ b/report/Offer_report/reportData.jrxml
@@ -24,7 +24,7 @@
 	<parameter name="OfferDeliveryTerm" class="java.lang.String"/>
 	<parameter name="responsible" class="java.lang.String"/>
 	<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
-		<defaultValueExpression><![CDATA["C:\\entwicklungszweige\\0.0\\project\\xRM-Basic5.1\\report\\Offer_report\\"]]></defaultValueExpression>
+		<defaultValueExpression><![CDATA["C:\\adito\\0.0\\project\\basic 2019\\report\\Offer_report\\"]]></defaultValueExpression>
 	</parameter>
 	<parameter name="adito.datasource.subdata" class="java.lang.Object"/>
 	<parameter name="SUMITEMSUM" class="java.lang.Double"/>
-- 
GitLab