From e6eb50f1c2f444acedd96b4f808dda4312fed94f Mon Sep 17 00:00:00 2001
From: Maria Hofmann <m.hofmann@adito.de>
Date: Mon, 1 Jul 2019 12:17:03 +0200
Subject: [PATCH] fix filterview

---
 entity/DSGVO_entity/DSGVO_entity.aod          |  1 +
 .../entityfields/value/displayValueProcess.js |  7 ++
 .../recordcontainers/jdito/contentProcess.js  |  5 +-
 process/DSGVO_lib/process.js                  | 66 ++++---------------
 4 files changed, 25 insertions(+), 54 deletions(-)
 create mode 100644 entity/DSGVO_entity/entityfields/value/displayValueProcess.js

diff --git a/entity/DSGVO_entity/DSGVO_entity.aod b/entity/DSGVO_entity/DSGVO_entity.aod
index 1a4ea4473e..c74d9aef3c 100644
--- a/entity/DSGVO_entity/DSGVO_entity.aod
+++ b/entity/DSGVO_entity/DSGVO_entity.aod
@@ -194,6 +194,7 @@
       <title>Value</title>
       <mandatory v="true" />
       <dropDownProcess>%aditoprj%/entity/DSGVO_entity/entityfields/value/dropDownProcess.js</dropDownProcess>
+      <displayValueProcess>%aditoprj%/entity/DSGVO_entity/entityfields/value/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityConsumer>
       <name>KeywordTablename</name>
diff --git a/entity/DSGVO_entity/entityfields/value/displayValueProcess.js b/entity/DSGVO_entity/entityfields/value/displayValueProcess.js
new file mode 100644
index 0000000000..9a3b10254e
--- /dev/null
+++ b/entity/DSGVO_entity/entityfields/value/displayValueProcess.js
@@ -0,0 +1,7 @@
+import("system.result");
+import("system.vars");
+import("DSGVO_lib");
+
+var res = getDSGVOValues(vars.get("$param.currentPerson_param"), vars.get("$field.TABLENAME"), vars.get("$field.TYPE"));
+
+result.object(res[0][1]);
\ No newline at end of file
diff --git a/entity/DSGVO_entity/recordcontainers/jdito/contentProcess.js b/entity/DSGVO_entity/recordcontainers/jdito/contentProcess.js
index dbd8410395..7c6dd2d00c 100644
--- a/entity/DSGVO_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/DSGVO_entity/recordcontainers/jdito/contentProcess.js
@@ -61,7 +61,7 @@ function _groupData(pData, pPerson)
                     {
                         addrVal += entry + " ";
                     });
-                    logging.log(addrVal);
+                    
                     //var addrType = KeywordUtils.getViewValue($KeywordRegistry.addressType(), pData[i][3]);
                     //if(addrData[i][2])
                     //    addrType = addrType + " | " + addrData[i][2];
@@ -138,7 +138,8 @@ function _groupData(pData, pPerson)
                     switch (typeViewVal)
                     {
                         case "Namen":
-                            var names = pers[0][6] + " " + pers[0][7] + " " + pers[0][8] + " " + pers[0][2] + " " + pers[0][3] + " " + pers[0][4];
+                            var names = pers[0][6] + " " + pers[0][7] + " " + pers[0][8] + " " + pers[0][2] + " " 
+                                + pers[0][3] + " " + pers[0][4];
                             logging.log(names);
                             res.push([pData[i][0], 
                                 pData[i][1], 
diff --git a/process/DSGVO_lib/process.js b/process/DSGVO_lib/process.js
index 1d5400cfde..b227756a16 100644
--- a/process/DSGVO_lib/process.js
+++ b/process/DSGVO_lib/process.js
@@ -24,9 +24,13 @@ function getDSGVOTypes (pPerson, pTablename)
     {
         // TODO liefert aktuell nur eine Privatadresse, wenn mehrere Vorhanden und keine Firmenadresse
         // Bsp Birgit Leicht
+        // TODO in FilterView 
+        //          nur bei Neuerstellung angezeigt und nur KeyId
+        //          sonst leer
         var addr = db.table(SqlCondition.begin()
             .andPrepare("CONTACT.PERSON_ID", pPerson)
-            .buildSql("select ADDR_TYPE from ADDRESS join CONTACT on ADDRESS.ADDRESSID = CONTACT.ADDRESS_ID ", "1 = 1", "group by ADDR_TYPE"));
+            .buildSql("select ADDR_TYPE from ADDRESS join CONTACT on ADDRESS.ADDRESSID = CONTACT.ADDRESS_ID ", 
+                "1 = 1", "group by ADDR_TYPE"));
 
         addr.forEach(function (row)
         {
@@ -35,11 +39,11 @@ function getDSGVOTypes (pPerson, pTablename)
         return res;
     }else if(tablename == "Kommunikationsdaten")
     {
-        //logging.log("comm");
         var comm = db.table(SqlCondition.begin()
             .andPrepare("CONTACT.PERSON_ID", pPerson)
-            .buildSql("select MEDIUM_ID from COMMUNICATION join CONTACT on COMMUNICATION.CONTACT_ID = CONTACTID", "1 = 1", "group by MEDIUM_ID"));
-        //logging.log(JSON.stringify(comm, null, "\t"));
+            .buildSql("select MEDIUM_ID from COMMUNICATION join CONTACT on COMMUNICATION.CONTACT_ID = CONTACTID", 
+                "1 = 1", "group by MEDIUM_ID"));
+
         comm.forEach(function (row)
         {
             res.push([row[0], KeywordUtils.getViewValue($KeywordRegistry.communicationMedium(), row)]);
@@ -68,7 +72,8 @@ function getDSGVOValues(pPerson, pTablename, pType)
     {
         var addr = db.table(SqlCondition.begin()
             .andPrepare("CONTACT.PERSON_ID", pPerson)
-            .buildSql("select ADDRESSID, ADDRESS, ADDRESSADDITION, ADDRIDENTIFIER, BUILDINGNO, CITY, COUNTRY, DISTRICT, REGION, STATE, ZIP, ADDR_TYPE " 
+            .buildSql("select ADDRESSID, ADDRESS, ADDRESSADDITION, ADDRIDENTIFIER, " 
+                + "BUILDINGNO, CITY, COUNTRY, DISTRICT, REGION, STATE, ZIP, ADDR_TYPE " 
                 + "from ADDRESS join CONTACT on ADDRESS.ADDRESSID = CONTACT.ADDRESS_ID", "1 = 1"));
         
         var addrVal = "";
@@ -112,7 +117,8 @@ function getDSGVOValues(pPerson, pTablename, pType)
         
         var pers = db.table(SqlCondition.begin()
             .andPrepare("PERSON.PERSONID", pPerson)
-            .buildSql("select PERSONID, DATEOFBIRTH, FIRSTNAME, MIDDLENAME, LASTNAME, GENDER, SALUTATION, TITLE, TITLESUFFIX, PICTURE "
+            .buildSql("select PERSONID, DATEOFBIRTH, FIRSTNAME, MIDDLENAME, LASTNAME, " 
+                + "GENDER, SALUTATION, TITLE, TITLESUFFIX, PICTURE "
             + "from PERSON", "1 = 1"));
         
         switch (pType)
@@ -164,7 +170,8 @@ function openDSGVOReport(pPerson, pReportName)
     "base64:iVBORw0KGgoAAAANSUhEUgAAAM4AAABRCAYAAACaL5lSAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDA4QzAyM0IwREIwMTFFNEFGMDREM0VEMjExRjlBRTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDA4QzAyM0MwREIwMTFFNEFGMDREM0VEMjExRjlBRTIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowMDhDMDIzOTBEQjAxMUU0QUYwNEQzRUQyMTFGOUFFMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowMDhDMDIzQTBEQjAxMUU0QUYwNEQzRUQyMTFGOUFFMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PhF3nYoAAAlvSURBVHja7J1fjBXV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"]
     
     var dsgvo = SQLCondition.begin().andPrepareValue("DSGVO.CONTACT_ID", pPerson)
-                .buildSql("select DSGVOID, ROW_ID, STATUORITYSOURCE, PURPOSE, TABLENAME, VALID_TO, CONTACT_ID from DSGVO", "1 = 1")
+                .buildSql("select DSGVOID, ROW_ID, STATUORITYSOURCE, PURPOSE, TABLENAME, VALID_TO, CONTACT_ID " 
+                    + "from DSGVO", "1 = 1")
                 // getDSGVOTypes / -Values
     
     // TODO Parameter und Felder
@@ -196,51 +203,6 @@ function openDSGVOReport(pPerson, pReportName)
 }
 
 
-
-function insertUpdatePrivacyData(pTableData, pPersRelId){
-    var relid               = pPersRelId;
-    var insertData          = [];
-    var updateData          = [];
-    var values              = [];
-    var cond                = "";
-        
-    var insCols             = ["DATE_NEW", "USER_NEW", "RIGHT", "USE", "VALID_TO", "ROW_ID", "TABLENAME", "CONTACT_ID", "DSGVOID"];
-    var updCols             = ["DATE_EDIT", "USER_EDIT", "RIGHT", "USE", "VALID_TO", "ROW_ID", "TABLENAME", "CONTACT_ID"];
-    
-    var insTypes            = db.getColumnTypes("DATA_PRIVACY", insCols);
-    var updTypes            = db.getColumnTypes("DATA_PRIVACY", updCols);
-    
-    var updateIds           = SqlCondition.begin()
-    .andPrepare("DSGVO.CONTACT_ID", pPersRelId)
-    .buildSql("select ROW_ID, DSGVOID from DSGVO", "1=2");
-    var updateIdMap = new Object();
-    
-    for (let i = 0; i < updateIds.length; i++) {
-        updateIdMap[updateIds[i][0]] =  updateIds[i][1];
-    }
-    
-    for(let i = 0; i < pTableData.length; i++)
-    {   
-        if (updateIdMap[pTableData[i][0]] != undefined) 
-        {
-            var updateId = updateIdMap[pTableData[i][0]];
-           
-            values  = [vars.getString("$sys.date"), vars.getString("$sys.user"), pTableData[i][3], pTableData[i][4], pTableData[i][5], pTableData[i][0], pTableData[i][6], relid]; 
-            cond        = " DSGVOID = '" + updateId + "' ";
-            updateData.push(["DSGVO", updCols, updTypes, values, cond])
-        }
-        else {
-            values      = [vars.getString("$sys.date"), vars.getString("$sys.user"), pTableData[i][3], pTableData[i][4], pTableData[i][5], pTableData[i][0], pTableData[i][6], relid, util.getNewUUID()];                 
-            insertData.push(["DSGVO", insCols, insTypes, values]);
-        }
-    }
-    if (updateData.length > 0) 
-        db.updates(updateData);
-    
-    if (insertData.length >0)
-        db.inserts(insertData);
-}
-
 /**
  * makes selected data from a private contact anonymous
  * 
-- 
GitLab