From acf0d6e9b0ca2f777ea49dc3ceb0133b48618a5f Mon Sep 17 00:00:00 2001
From: Markus Escher <m.escher@adito.de>
Date: Wed, 28 Nov 2018 15:07:41 +0100
Subject: [PATCH] add Keyword to Document

---
 entity/Document_entity/Document_entity.aod       |  6 ++++++
 entity/Document_entity/contentProcess.js         |  3 ++-
 entity/Document_entity/onInsert.js               |  7 +++++--
 entity/Document_entity/onUpdate.js               |  2 +-
 neonView/DocumentEdit_view/DocumentEdit_view.aod |  4 ++++
 .../DocumentPreview_view.aod                     | 16 ++++++++++++++++
 6 files changed, 34 insertions(+), 4 deletions(-)

diff --git a/entity/Document_entity/Document_entity.aod b/entity/Document_entity/Document_entity.aod
index 030f84e521e..822c4ed01bf 100644
--- a/entity/Document_entity/Document_entity.aod
+++ b/entity/Document_entity/Document_entity.aod
@@ -14,6 +14,7 @@
     <element>PREVIEW</element>
     <element>FILETYPE</element>
     <element>DESCRIPTION</element>
+    <element>KEYWORD</element>
   </fields>
   <contentProcess>%aditoprj%/entity/Document_entity/contentProcess.js</contentProcess>
   <onInsert>%aditoprj%/entity/Document_entity/onInsert.js</onInsert>
@@ -127,5 +128,10 @@
       <fieldName>DESCRIPTION</fieldName>
       <contentType>LONG_TEXT</contentType>
     </entityField>
+    <entityField>
+      <name>KEYWORD</name>
+      <title>Schlüsselwort</title>
+      <fieldName>KEYWORD</fieldName>
+    </entityField>
   </entityFields>
 </entity>
diff --git a/entity/Document_entity/contentProcess.js b/entity/Document_entity/contentProcess.js
index dec0105ea7a..c676dbd27c0 100644
--- a/entity/Document_entity/contentProcess.js
+++ b/entity/Document_entity/contentProcess.js
@@ -21,7 +21,8 @@ if(vars.exists("$param.AssignmentTable_param") &&
     // Iterate through found binary data and populate result array    
     for( var i = 0; i < metadata.length; i++) {
         documents.push( [metadata[i].id, metadata[i].filename, metadata[i].size, 
-            metadata[i].edit, metadata[i].preview, metadata[i].mimetype, metadata[i].description]);
+            metadata[i].edit, metadata[i].preview, metadata[i].mimetype, 
+            metadata[i].description, metadata[i].keyword]);
     }
 
     result.object(documents);
diff --git a/entity/Document_entity/onInsert.js b/entity/Document_entity/onInsert.js
index 89af5c1e514..6ca4ff7fcd9 100644
--- a/entity/Document_entity/onInsert.js
+++ b/entity/Document_entity/onInsert.js
@@ -9,6 +9,9 @@ var bindata = DocumentUtil.getBindataFromUpload(vars.get("$field.BINDATA_UPLOAD"
 var filename = vars.get("$field.NAME");
 var description = vars.get("$field.DESCRIPTION");
 var alias = db.getCurrentAlias();
+var keyword = vars.get("$field.KEYWORD");
 
-if(bindata != '' && filename != '')    
-    db.insertBinary(assignmentTable, assignmentName, assignmentRowId, "", bindata, filename, description, "", alias);
+if(bindata != '' && filename != ''){
+    db.insertBinary(assignmentTable, assignmentName, assignmentRowId, "", 
+        bindata, filename, description, keyword, alias);
+}
diff --git a/entity/Document_entity/onUpdate.js b/entity/Document_entity/onUpdate.js
index a75b4ed4291..9a1c27e56d5 100644
--- a/entity/Document_entity/onUpdate.js
+++ b/entity/Document_entity/onUpdate.js
@@ -6,7 +6,7 @@ var id = vars.get("$field.ID");
 var parentId = "";
 var fileName = vars.get("$field.NAME");
 var description = vars.get("$field.DESCRIPTION");
-var keyword = "";
+var keyword = vars.get("$field.KEYWORD");
 var alias = db.getCurrentAlias();
 
 var bindata = DocumentUtil.getBindataFromUpload(vars.get("$field.BINDATA_UPLOAD"));
diff --git a/neonView/DocumentEdit_view/DocumentEdit_view.aod b/neonView/DocumentEdit_view/DocumentEdit_view.aod
index ec8d9dd6340..2cd1896bf56 100644
--- a/neonView/DocumentEdit_view/DocumentEdit_view.aod
+++ b/neonView/DocumentEdit_view/DocumentEdit_view.aod
@@ -21,6 +21,10 @@
           <name>253b8716-bdec-4e24-8540-7513d934693b</name>
           <entityField>DESCRIPTION</entityField>
         </entityFieldLink>
+        <entityFieldLink>
+          <name>fed6c3f3-8307-4db2-9237-8cb6afbef7c3</name>
+          <entityField>KEYWORD</entityField>
+        </entityFieldLink>
         <entityFieldLink>
           <name>7d74c495-1af7-4e00-8a78-5787e544e101</name>
           <entityField>BINDATA_UPLOAD</entityField>
diff --git a/neonView/DocumentPreview_view/DocumentPreview_view.aod b/neonView/DocumentPreview_view/DocumentPreview_view.aod
index 102f6443790..7937f97d603 100644
--- a/neonView/DocumentPreview_view/DocumentPreview_view.aod
+++ b/neonView/DocumentPreview_view/DocumentPreview_view.aod
@@ -16,5 +16,21 @@
       <favoriteAction1>downloadFilesAction</favoriteAction1>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
+    <genericViewTemplate>
+      <name>DocumentPreview_generic</name>
+      <editMode v="false" />
+      <showDrawer v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>440566ed-1e63-437c-84d0-c5c7af5bc77a</name>
+          <entityField>SIZE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>34c6cb2d-2690-43e6-9d76-1ee4a5df3d36</name>
+          <entityField>KEYWORD</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
   </children>
 </neonView>
-- 
GitLab