From 0e7b956c00fe98906c27a76497f9282528619600 Mon Sep 17 00:00:00 2001 From: Maria Hofmann <m.hofmann@adito.de> Date: Mon, 17 Jun 2019 17:04:42 +0200 Subject: [PATCH] field VALUE - values --- entity/DSGVO_entity/DSGVO_entity.aod | 3 + neonView/DSGVOEdit_view/DSGVOEdit_view.aod | 16 ++-- process/DSGVO_lib/process.js | 104 ++++++++++++--------- 3 files changed, 71 insertions(+), 52 deletions(-) diff --git a/entity/DSGVO_entity/DSGVO_entity.aod b/entity/DSGVO_entity/DSGVO_entity.aod index 2598e8c9c7..41f3f0b72e 100644 --- a/entity/DSGVO_entity/DSGVO_entity.aod +++ b/entity/DSGVO_entity/DSGVO_entity.aod @@ -131,6 +131,7 @@ <name>MEDIUM</name> <title>Type</title> <description>What kind of data is being saved, e.g. Mail, Home address</description> + <mandatory v="true" /> </entityField> <entityParameter> <name>currentPerson_param</name> @@ -175,6 +176,8 @@ <entityField> <name>VALUE</name> <title>Value</title> + <mandatory v="true" /> + <dropDownProcess>%aditoprj%/entity/DSGVO_entity/entityfields/value/dropDownProcess.js</dropDownProcess> </entityField> <entityConsumer> <name>KeywordTablename</name> diff --git a/neonView/DSGVOEdit_view/DSGVOEdit_view.aod b/neonView/DSGVOEdit_view/DSGVOEdit_view.aod index de699a6ea6..f8bf343556 100644 --- a/neonView/DSGVOEdit_view/DSGVOEdit_view.aod +++ b/neonView/DSGVOEdit_view/DSGVOEdit_view.aod @@ -14,6 +14,14 @@ <editMode v="true" /> <entityField>#ENTITY</entityField> <fields> + <entityFieldLink> + <name>a646ddb9-59b6-4773-af79-9f159fa5e6c9</name> + <entityField>TABLENAME</entityField> + </entityFieldLink> + <entityFieldLink> + <name>732a0a8a-4db3-4ff9-b4a2-c7ab6f2cf144</name> + <entityField>VALUE</entityField> + </entityFieldLink> <entityFieldLink> <name>191e8712-abf8-42d8-89d5-649dd0164f56</name> <entityField>STATUORITYSOURCE</entityField> @@ -26,14 +34,6 @@ <name>a9e1245c-7798-4170-9f2f-2e33f61cd6aa</name> <entityField>VALID_TO</entityField> </entityFieldLink> - <entityFieldLink> - <name>a646ddb9-59b6-4773-af79-9f159fa5e6c9</name> - <entityField>TABLENAME</entityField> - </entityFieldLink> - <entityFieldLink> - <name>732a0a8a-4db3-4ff9-b4a2-c7ab6f2cf144</name> - <entityField>VALUE</entityField> - </entityFieldLink> </fields> </genericViewTemplate> </children> diff --git a/process/DSGVO_lib/process.js b/process/DSGVO_lib/process.js index f7eeebcb2a..969e47f86c 100644 --- a/process/DSGVO_lib/process.js +++ b/process/DSGVO_lib/process.js @@ -6,30 +6,46 @@ import("system.db"); import("system.neon"); import("system.result"); -function getDSGVOData(pContactId) +function newDSGVOEntry(pContactId) { - var addresses = db.table(SqlCondition.begin().andPrepare("ADDRESS.CONTACT_ID", pContactId).buildSql("select * from ADDRESS", "1 = 1")); - var comm = db.table(SqlCondition.begin().andPrepare("COMMUNICATION.CONTACT_ID", pContactId).buildSql("select * from COMMUNICATION", "1 = 1")); - var attributes = db.table(SqlCondition.begin().andPrepare("ATTRIBUTE.CONTACT_ID", pContactId).buildSql("select * from ATTRIBUTE", "1 = 1")); - var pers = db.table(SqlCondition.begin().andPrepare("PERSON.PERSONID", pContactId).buildSql("select * from PERSON", "1 = 1")); - - // Anzeige Adressen: Straße, Stadt - // Anzeige Comm: Medium, ADDR - + var contact = vars.get("$field.CONTACT_ID"); + var res = new Object(); + + var addrData = db.table(SqlCondition.begin() + .andPrepare("ADDRESS.CONTACT_ID", vars.get("$field.CONTACT_ID")) + .buildSql("select ADDRESSID, ADDRESS, ADDRESSADDITION, ADDRINTENTIFIER, BUILDINGNO, " + + "CITY, COUNTRY, DISTRICT, REGION, STATE, ZIP, CONTACT_ID from ADDRESS", "1 = 1")); + + var persData = db.table(SqlCondition.begin() + .andPrepare("PERSON.PERSONID", vars.get("$field.CONTACT_ID")) + .buildSql("select PERSONID, DATEOFBIRTH, FIRSTNAME, MIDDLENAME, LASTNAME, GENDER, " + + "SALUTATION, TITLE, TITLESUFFIX, PICTURE from PERSON", "1 = 1")); + + var commData = db.table(SqlCondition.begin() + .andPrepare("COMMUNICATION.CONTACT_ID", vars.get("$field.CONTACT_ID")) + .buildSql("select COMMUNICATIONID, MEDIUM_ID, ADDR from COMMUNICATION", "1 = 1")); + + + // ATTR : ?? - // for each entry - // insert into DSGVO (DSGVOID, USER_NEW, DATE_NEW, USER_EDIT, DATE_EDIT, ROW_ID, RIGHT, USE, TABLENAME, VALID_TO, CONTACT_ID) - // DSGVOID if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) result.string(util.getNewUUID()); - // USER_NEW if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) result.string(vars.get("$sys.user")); - // DATE_NEW if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) result.string(vars.get("$sys.date")); - // USER_EDIT null - // DATE_EDIT null - // ROW_ID -entspr. Tablename&ID raussuchen - // RIGHT -Auswahl - // USE -Auswahl - // TABLENAME -von Auswahl schließen - // VALID_TO -Auswahl - // CONTACT_ID pContactId + res[""] = ""; + + + + +// for each entry +// insert into DSGVO (DSGVOID, USER_NEW, DATE_NEW, USER_EDIT, DATE_EDIT, ROW_ID, RIGHT, USE, TABLENAME, VALID_TO, CONTACT_ID) +// DSGVOID if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) result.string(util.getNewUUID()); +// USER_NEW if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) result.string(vars.get("$sys.user")); +// DATE_NEW if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) result.string(vars.get("$sys.date")); +// USER_EDIT null +// DATE_EDIT null +// ROW_ID -entspr. Tablename&ID raussuchen +// RIGHT -Auswahl +// USE -Auswahl +// TABLENAME -von Auswahl schließen +// VALID_TO -Auswahl +// CONTACT_ID pContactId @@ -51,8 +67,8 @@ function insertUpdatePrivacyData(pTableData, pPersRelId){ 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"); + .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++) { @@ -94,10 +110,10 @@ function dsgvoMkDataAnonymous(pPersId, pContactId) //Hat die Privat-Person auch eine Funktion an einer Firma var hasFunction = db.cell(SqlCondition.begin() - .andPrepare("CONTACT.PERSON_ID", pPersId) - .andPrepare("CONTACT.ORGANISATION_ID", "0", "# != ?") // TODO ungleich 0, stimmt das so? - .build(" select count(*) from CONTACT", "1=2")); - // db.cell(" select count(*) from RELATION where PERS_ID = '" + pPersId + "' and ORGANISATION != '0' "); + .andPrepare("CONTACT.PERSON_ID", pPersId) + .andPrepare("CONTACT.ORGANISATION_ID", "0", "# != ?") // TODO ungleich 0, stimmt das so? + .build(" select count(*) from CONTACT", "1=2")); + // db.cell(" select count(*) from RELATION where PERS_ID = '" + pPersId + "' and ORGANISATION != '0' "); var prompts = new Array(); prompts["PERSREL"] = hasFunction; @@ -114,9 +130,9 @@ function dsgvoMkDataAnonymous(pPersId, pContactId) if ((jsonResult["comp.chb_Names"] == "true")) { data = db.array(db.ROW, SqlCondition.begin() - .andPrepare("CONTACT.PERSON_ID", pPersId) - .build("select SALUTATION, TITLE, FIRSTNAME, MIDDLENAME, LASTNAME from PERS ", "1=2") - ); + .andPrepare("CONTACT.PERSON_ID", pPersId) + .build("select SALUTATION, TITLE, FIRSTNAME, MIDDLENAME, LASTNAME from PERS ", "1=2") + ); /*data = db.array(db.ROW, "select SALUTATION, TITLE, FIRSTNAME, MIDDLENAME, LASTNAME " + " from PERS " + " where PERSID = '" + pPersId + "'");*/ @@ -125,7 +141,7 @@ function dsgvoMkDataAnonymous(pPersId, pContactId) columns = ["SALUTATION", "TITLE", "FIRSTNAME", "MIDDLENAME", "LASTNAME"]; columnTypes = db.getColumnTypes("PERSON", columns); condition = SqlCondition.andPrepare("PERSONID", pPersId) - .and("1=2"); + .and("1=2"); //condition = "PERSONID = '" + pPersId + "'"; updArray.push(["PERSON", columns, columnTypes, values, condition]) @@ -136,8 +152,8 @@ function dsgvoMkDataAnonymous(pPersId, pContactId) if (jsonResult["comp.chb_others"] == "true") { data = db.array(db.ROW, SqlCondition.begin() - .andPrepare("CONTACT.PERSON_ID", pPersId) - .build("select DOB, GENDER, SUFFIX, PERSINFO from PERS ", "1=2")); + .andPrepare("CONTACT.PERSON_ID", pPersId) + .build("select DOB, GENDER, SUFFIX, PERSINFO from PERS ", "1=2")); /*, "select DOB, GENDER, SUFFIX, PERSINFO " + " from PERS " @@ -147,7 +163,7 @@ function dsgvoMkDataAnonymous(pPersId, pContactId) columns = ["DOB", "GENDER", "SUFFIX", "PERSINFO"]; columnTypes = db.getColumnTypes("PERS", columns); condition = SqlCondition.andPrepare("PERSONID", pPersId) - .and("1=2"); + .and("1=2"); //condition = "PERSID = '" + pPersId + "'"; updArray.push(["PERS", columns, columnTypes, values, condition]) @@ -158,9 +174,9 @@ function dsgvoMkDataAnonymous(pPersId, pContactId) if(jsonResult["comp.chb_Address"] == "true") { data = db.table(SqlCondition.begin() - .andPrepare("CONTACT_ID", pContactId) - .build("select ADDRESS, STATE, CITY, COUNTRY, REGION, BUILDINGNO, ADDRESSADDITION, ZIP, DISTRICT, ADDRESSID " - + " from ADDRESS ", "1=2" )); + .andPrepare("CONTACT_ID", pContactId) + .build("select ADDRESS, STATE, CITY, COUNTRY, REGION, BUILDINGNO, ADDRESSADDITION, ZIP, DISTRICT, ADDRESSID " + + " from ADDRESS ", "1=2" )); /*" select ADDRESS, STATE, CITY, COUNTRY, REGION, BUILDINGNO, ADDRESSADDITION, ZIP, DISTRICT, ADDRESSID " + " from ADDRESS " @@ -179,8 +195,8 @@ function dsgvoMkDataAnonymous(pPersId, pContactId) // TODO prüfen condition = SqlCondition.andPrepare("CONTACT_ID", pContactId) - .andPrepare("ADDRESSID", data[i][9]) - .and("1=2"); + .andPrepare("ADDRESSID", data[i][9]) + .and("1=2"); //condition = " CONTACT_ID = '" + pContactId + "' and ADDRESSID = '" + data[i][9] + "' "; updArray.push(["ADDRESS", columns, columnTypes, values, condition]); } @@ -191,8 +207,8 @@ function dsgvoMkDataAnonymous(pPersId, pContactId) if (jsonResult["comp.chb_Comm"] == "true") { data = db.table(SqlCondition.begin() - .andPrepare("CONTACT_ID", pContactId) - .build("select ADDRESS, SEARCHADDR, COMMUNICATIONID from COMMUNICATION", "1=2")); + .andPrepare("CONTACT_ID", pContactId) + .build("select ADDRESS, SEARCHADDR, COMMUNICATIONID from COMMUNICATION", "1=2")); //data = db.table("select ADDR, SEARCHADDR, COMMID from COMM where RELATION_ID = '" + pContactId + "'"); columns = ["ADDR", "SEARCHADDR"]; @@ -202,8 +218,8 @@ function dsgvoMkDataAnonymous(pPersId, pContactId) values = [dsgvoMkTextAnonymous(data[i][0]), dsgvoMkTextAnonymous(data[i][1])]; condition = SqlCondition.andPrepare("CONTACT_ID", pContactId) - .andPrepare("COMMUNICATIONID", data[i][2]).and("1=2"); - // TODO prüfen + .andPrepare("COMMUNICATIONID", data[i][2]).and("1=2"); + // TODO prüfen //"RELATION_ID = '" + pContactId + "' and COMMID = '" + data[i][2] + "' "; updArray.push(["COMM", columns, columnTypes, values, condition]); -- GitLab