From e3360104be7fb9118d7862553b28f25e300ffc1b Mon Sep 17 00:00:00 2001
From: Markus Escher <m.escher@adito.de>
Date: Mon, 26 Nov 2018 11:00:34 +0100
Subject: [PATCH] add content/insert processes for Document_entity add dummy
 downloadFilesAction for Document_entity

---
 entity/Document_entity/Document_entity.aod      | 17 ++++++++++++-----
 entity/Document_entity/contentProcess.js        | 12 ++++++++++--
 .../downloadfilesaction/onActionProcess.js      |  6 ++++++
 entity/Document_entity/onInsert.js              |  3 +--
 .../DocumentFilter_view/DocumentFilter_view.aod |  4 ++--
 5 files changed, 31 insertions(+), 11 deletions(-)
 create mode 100644 entity/Document_entity/entityfields/document_actions/children/downloadfilesaction/onActionProcess.js

diff --git a/entity/Document_entity/Document_entity.aod b/entity/Document_entity/Document_entity.aod
index 7b31741f75..587d70e3db 100644
--- a/entity/Document_entity/Document_entity.aod
+++ b/entity/Document_entity/Document_entity.aod
@@ -9,7 +9,10 @@
   <fields>
     <element>UID</element>
     <element>FILENAME</element>
-    <element>UPLOAD</element>
+    <element>FILESIZE</element>
+    <element>EDIT_DATE</element>
+    <element>PREVIEW</element>
+    <element>FILETYPE</element>
   </fields>
   <contentProcess>%aditoprj%/entity/Document_entity/contentProcess.js</contentProcess>
   <onInsert>%aditoprj%/entity/Document_entity/onInsert.js</onInsert>
@@ -27,19 +30,23 @@
     <entityField>
       <name>TYPE</name>
       <title>Dateityp</title>
+      <fieldName>FILETYPE</fieldName>
     </entityField>
     <entityField>
       <name>SIZE</name>
       <title>Dateigröße</title>
+      <fieldName>FILESIZE</fieldName>
     </entityField>
     <entityField>
-      <name>DATE_NEW</name>
+      <name>DATE_EDIT</name>
       <title>Datum</title>
+      <fieldName>EDIT_DATE</fieldName>
       <contentType>DATE</contentType>
     </entityField>
     <entityField>
       <name>PREVIEW</name>
       <title>Vorschau</title>
+      <fieldName>PREVIEW</fieldName>
       <contentType>IMAGE</contentType>
       <state>READONLY</state>
     </entityField>
@@ -58,16 +65,16 @@
     <entityField>
       <name>BINDATA_UPLOAD</name>
       <title>Datei</title>
-      <fieldName>UPLOAD</fieldName>
       <contentType>FILE</contentType>
       <defaultAction>%aditoprj%/entity/Document_entity/entityfields/bindata_upload/defaultAction.js</defaultAction>
     </entityField>
     <entityActionGroup>
-      <name>myActions</name>
+      <name>Document_actions</name>
       <children>
         <entityActionField>
-          <name>downloadAction</name>
+          <name>downloadFilesAction</name>
           <fieldType>ACTION</fieldType>
+          <onActionProcess>%aditoprj%/entity/Document_entity/entityfields/document_actions/children/downloadfilesaction/onActionProcess.js</onActionProcess>
           <iconId>VAADIN:DOWNLOAD</iconId>
         </entityActionField>
       </children>
diff --git a/entity/Document_entity/contentProcess.js b/entity/Document_entity/contentProcess.js
index a5a8e9e109..0c280e38b4 100644
--- a/entity/Document_entity/contentProcess.js
+++ b/entity/Document_entity/contentProcess.js
@@ -12,6 +12,14 @@ if(vars.exists("$param.AssignmentTable_param") &&
     var assignmentRowId = vars.get("$param.AssignmentRowId_param");
     var alias = db.getCurrentAlias();
 
-    //logging.log("contentProcess -> table: " + assignmentTable + " name: " + assignmentName + " id: " + assignmentRowId);
-    //logging.log(db.getBinaryMetadata(assignmentTable, assignmentName, assignmentRowId, false, alias));
+    var tab = [];
+    metadata = db.getBinaryMetadata(assignmentTable, assignmentName, assignmentRowId, false, alias);
+    
+    // going through the metadata and push the data into the result array. get the bindata via db.getBinaryContent()
+    for( var i = 0; i < metadata.length; i++)
+    {
+        tab.push( [metadata[i].id, metadata[i].filename, metadata[i].size, metadata[i].edit, metadata[i].preview, metadata[i].mimetype]);
+    }
+
+    result.object(tab);
 }
diff --git a/entity/Document_entity/entityfields/document_actions/children/downloadfilesaction/onActionProcess.js b/entity/Document_entity/entityfields/document_actions/children/downloadfilesaction/onActionProcess.js
new file mode 100644
index 0000000000..872aa053d0
--- /dev/null
+++ b/entity/Document_entity/entityfields/document_actions/children/downloadfilesaction/onActionProcess.js
@@ -0,0 +1,6 @@
+import("system.result");
+import("system.db");
+import("system.logging");
+import("system.vars");
+
+//logging.log(db.getBinaryContent(vars.get("$local.idvalue"), null));
\ No newline at end of file
diff --git a/entity/Document_entity/onInsert.js b/entity/Document_entity/onInsert.js
index 120dccd76d..456dd89531 100644
--- a/entity/Document_entity/onInsert.js
+++ b/entity/Document_entity/onInsert.js
@@ -9,5 +9,4 @@ var bindata = vars.get("$field.BINDATA_UPLOAD");
 var filename = vars.get("$field.NAME");
 var alias = db.getCurrentAlias();
 
-//logging.log("onInsert -> table: " + assignmentTable + " name: " + assignmentName + " id: " + assignmentRowId + " filename: " + filename);
-//db.insertBinary(assignmentTable, assignmentName, assignmentRowId, "", bindata, filename, "", "", alias);
+db.insertBinary(assignmentTable, assignmentName, assignmentRowId, "", bindata, filename, "", "", alias);
diff --git a/neonView/DocumentFilter_view/DocumentFilter_view.aod b/neonView/DocumentFilter_view/DocumentFilter_view.aod
index 3cca205f1a..689aec42ef 100644
--- a/neonView/DocumentFilter_view/DocumentFilter_view.aod
+++ b/neonView/DocumentFilter_view/DocumentFilter_view.aod
@@ -11,7 +11,7 @@
   <children>
     <tableViewTemplate>
       <name>Table_template</name>
-      <favoriteActionGroup1>myActions</favoriteActionGroup1>
+      <favoriteActionGroup1>Document_actions</favoriteActionGroup1>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
@@ -34,7 +34,7 @@
         </neonTableColumn>
         <neonTableColumn>
           <name>a533d8a1-ae5e-434d-8254-415586af26ed</name>
-          <entityField>DATE_NEW</entityField>
+          <entityField>DATE_EDIT</entityField>
           <width v="75" />
           <expandRatio v="100" />
         </neonTableColumn>
-- 
GitLab