From d0b7b7da9245e0c202b7135d7d7d4d612d94a4c7 Mon Sep 17 00:00:00 2001 From: Maria Hofmann <m.hofmann@adito.de> Date: Wed, 26 Jun 2019 10:30:45 +0200 Subject: [PATCH] new keyword, new column in DSGVO, Report --- .../basic/2019.1.4/DSGVO/create_DSGVO.xml | 5 +- .../2019.1.4/DSGVO/init_dsgvoType_keyword.xml | 32 ++ ...ert_DSGVO.xml => insert_example_DSGVO.xml} | 0 .../2019.1.4/DSGVO/update_comm_medium.xml | 13 + .../Data_alias/basic/2019.1.4/changelog.xml | 4 +- aliasDefinition/Data_alias/Data_alias.aod | 14 + entity/DSGVO_entity/DSGVO_entity.aod | 38 +- .../tablename/displayValueProcess.js | 6 - .../entityfields/type/dropDownProcess.js | 5 + .../entityfields/value/dropDownProcess.js | 4 +- .../medium.value/expression.js | 5 - .../type.displayvalue/expression.js | 6 + .../value.value/expression.js | 5 +- .../recordcontainers/jdito/contentProcess.js | 66 +++ neonView/DSGVOEdit_view/DSGVOEdit_view.aod | 12 +- .../DSGVOFilter_view/DSGVOFilter_view.aod | 10 +- process/DSGVO_lib/process.js | 418 +++++++++++------- process/KeywordRegistry_basic/process.js | 1 + .../DSGVO_Disclosure_Report.aod} | 5 +- .../reportData.jasper | Bin .../reportData.jrxml | 0 21 files changed, 465 insertions(+), 184 deletions(-) create mode 100644 .liquibase/Data_alias/basic/2019.1.4/DSGVO/init_dsgvoType_keyword.xml rename .liquibase/Data_alias/basic/2019.1.4/DSGVO/{insert_DSGVO.xml => insert_example_DSGVO.xml} (100%) create mode 100644 .liquibase/Data_alias/basic/2019.1.4/DSGVO/update_comm_medium.xml delete mode 100644 entity/DSGVO_entity/entityfields/tablename/displayValueProcess.js create mode 100644 entity/DSGVO_entity/entityfields/type/dropDownProcess.js delete mode 100644 entity/DSGVO_entity/recordcontainers/db/recordfieldmappings/medium.value/expression.js create mode 100644 entity/DSGVO_entity/recordcontainers/db/recordfieldmappings/type.displayvalue/expression.js create mode 100644 entity/DSGVO_entity/recordcontainers/jdito/contentProcess.js rename report/{DSGVO_Auskunft_Report/DSGVO_Auskunft_Report.aod => DSGVO_Disclosure_Report/DSGVO_Disclosure_Report.aod} (75%) rename report/{DSGVO_Auskunft_Report => DSGVO_Disclosure_Report}/reportData.jasper (100%) rename report/{DSGVO_Auskunft_Report => DSGVO_Disclosure_Report}/reportData.jrxml (100%) diff --git a/.liquibase/Data_alias/basic/2019.1.4/DSGVO/create_DSGVO.xml b/.liquibase/Data_alias/basic/2019.1.4/DSGVO/create_DSGVO.xml index 47f283a7a2..ae929f253f 100644 --- a/.liquibase/Data_alias/basic/2019.1.4/DSGVO/create_DSGVO.xml +++ b/.liquibase/Data_alias/basic/2019.1.4/DSGVO/create_DSGVO.xml @@ -14,13 +14,14 @@ </column> <column name="USER_EDIT" type="NVARCHAR(50)" /> <column name="DATE_EDIT" type="TIMESTAMP" /> - + + <column name="TABLENAME" type="CHAR(36)" /> + <column name="TYPE" type="CHAR(36)"/> <column name="ROW_ID" type="CHAR(36)" /> <column name="STATUORITYSOURCE" type="CHAR(36)" /> <column name="PURPOSE" type="CHAR(36)" /> - <column name="TABLENAME" type="CHAR(36)" /> <column name="VALID_TO" type="TIMESTAMP" /> <column name="CONTACT_ID" type="CHAR(36)"> diff --git a/.liquibase/Data_alias/basic/2019.1.4/DSGVO/init_dsgvoType_keyword.xml b/.liquibase/Data_alias/basic/2019.1.4/DSGVO/init_dsgvoType_keyword.xml new file mode 100644 index 0000000000..7b6520cb3f --- /dev/null +++ b/.liquibase/Data_alias/basic/2019.1.4/DSGVO/init_dsgvoType_keyword.xml @@ -0,0 +1,32 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="m.hofmann" id="e6b32d7d-298c-44a3-901f-88baa77cb6c3"> + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="e72a7d5b-7608-4c87-a977-d4a8994e45b4"/> + <column name="KEYID" value="dcc34a11-c86b-4acd-9987-e88c98b5b4c5"/> + <column name="TITLE" value="Namen"/> + <column name="CONTAINER" value="DSGVOType"/> + <column name="SORTING" valueNumeric="0"/> + <column name="ISACTIVE" valueNumeric="1"/> + <column name="ISESSENTIAL" valueNumeric="0"/> + </insert> + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="c38a3169-63f8-41f7-88a7-3358b2519a4a"/> + <column name="KEYID" value="c626726a-a696-4926-9b0f-c320c410463e"/> + <column name="TITLE" value="sonstige Persönliche Daten"/> + <column name="CONTAINER" value="DSGVOType"/> + <column name="SORTING" valueNumeric="1"/> + <column name="ISACTIVE" valueNumeric="1"/> + <column name="ISESSENTIAL" valueNumeric="0"/> + </insert> + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="ffb1a706-348c-42cd-8b13-6f5e74181ba3"/> + <column name="KEYID" value="34c2ddb4-97ce-4683-a067-89a38643ecae"/> + <column name="TITLE" value="Eigenschaften"/> + <column name="CONTAINER" value="DSGVOType"/> + <column name="SORTING" valueNumeric="2"/> + <column name="ISACTIVE" valueNumeric="1"/> + <column name="ISESSENTIAL" valueNumeric="0"/> + </insert> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2019.1.4/DSGVO/insert_DSGVO.xml b/.liquibase/Data_alias/basic/2019.1.4/DSGVO/insert_example_DSGVO.xml similarity index 100% rename from .liquibase/Data_alias/basic/2019.1.4/DSGVO/insert_DSGVO.xml rename to .liquibase/Data_alias/basic/2019.1.4/DSGVO/insert_example_DSGVO.xml diff --git a/.liquibase/Data_alias/basic/2019.1.4/DSGVO/update_comm_medium.xml b/.liquibase/Data_alias/basic/2019.1.4/DSGVO/update_comm_medium.xml new file mode 100644 index 0000000000..b6faa137bb --- /dev/null +++ b/.liquibase/Data_alias/basic/2019.1.4/DSGVO/update_comm_medium.xml @@ -0,0 +1,13 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="m.hofmann" id="e6b32d7d-298c-44a3-901f-88baa77cb6c3"> + <update tableName="COMMUNICATION"> + <column name="MEDIUM_ID" value="d08956b8-369e-4b65-88fa-1c37b3368ae3"></column> + <where>MEDIUM_ID = ?</where> + <whereParams> + <param value="d9434c95-9abb-4661-a4c0-65d8a9eb676e"></param> + </whereParams> + </update> + </changeSet> +</databaseChangeLog> + diff --git a/.liquibase/Data_alias/basic/2019.1.4/changelog.xml b/.liquibase/Data_alias/basic/2019.1.4/changelog.xml index 23c7dbe0c6..3e235f1508 100644 --- a/.liquibase/Data_alias/basic/2019.1.4/changelog.xml +++ b/.liquibase/Data_alias/basic/2019.1.4/changelog.xml @@ -203,8 +203,10 @@ <include relativeToChangelogFile="true" file="add_objectRelationIcon.xml"/> <include relativeToChangelogFile="true" file="DSGVO/create_DSGVO.xml"/> - <include relativeToChangelogFile="true" file="DSGVO/insert_DSGVO.xml"/> + <include relativeToChangelogFile="true" file="DSGVO/insert_example_DSGVO.xml"/> <include relativeToChangelogFile="true" file="DSGVO/init_statuoritysource_keyword.xml"/> <include relativeToChangelogFile="true" file="DSGVO/init_purpose_keyword.xml"/> <include relativeToChangelogFile="true" file="DSGVO/init_dsgvotablename_keyword.xml"/> + <include relativeToChangelogFile="true" file="DSGVO/init_dsgvoType_keyword.xml"/> + <include relativeToChangelogFile="true" file="DSGVO/update_comm_medium.xml"/> </databaseChangeLog> diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod index 77e27ae314..28ed5d59af 100644 --- a/aliasDefinition/Data_alias/Data_alias.aod +++ b/aliasDefinition/Data_alias/Data_alias.aod @@ -10088,6 +10088,20 @@ <title></title> <description></description> </entityFieldDb> + <entityFieldDb> + <name>TYPE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> </entityFields> </entityDb> </entities> diff --git a/entity/DSGVO_entity/DSGVO_entity.aod b/entity/DSGVO_entity/DSGVO_entity.aod index a4701179b4..0fb6a68686 100644 --- a/entity/DSGVO_entity/DSGVO_entity.aod +++ b/entity/DSGVO_entity/DSGVO_entity.aod @@ -67,8 +67,8 @@ <title>Source</title> <consumer>KeywordTablename</consumer> <groupable v="true" /> + <linkedContext>KeywordEntry</linkedContext> <mandatory v="true" /> - <displayValueProcess>%aditoprj%/entity/DSGVO_entity/entityfields/tablename/displayValueProcess.js</displayValueProcess> </entityField> <entityField> <name>VALID_TO</name> @@ -129,10 +129,11 @@ </dependency> </entityConsumer> <entityField> - <name>MEDIUM</name> + <name>TYPE</name> <title>Type</title> <description>What kind of data is being saved, e.g. Mail, Home address</description> <mandatory v="true" /> + <dropDownProcess>%aditoprj%/entity/DSGVO_entity/entityfields/type/dropDownProcess.js</dropDownProcess> </entityField> <entityParameter> <name>currentPerson_param</name> @@ -203,12 +204,19 @@ <conditionProcess>%aditoprj%/entity/DSGVO_entity/recordcontainers/db/conditionProcess.js</conditionProcess> <linkInformation> <linkInformation> - <name>57e92e2b-66c8-45f8-a9e9-b6e099dd41ba</name> + <name>1c934bf6-b4b4-47f3-aa22-7886e45fb0a3</name> <tableName>DSGVO</tableName> <primaryKey>DSGVOID</primaryKey> <isUIDTable v="true" /> <readonly v="false" /> </linkInformation> + <linkInformation> + <name>98b9e3d9-80b7-49da-96c1-b9b5b3ade1c7</name> + <tableName>CONTACT</tableName> + <primaryKey>CONTACTID</primaryKey> + <isUIDTable v="false" /> + <readonly v="true" /> + </linkInformation> </linkInformation> <recordFieldMappings> <dbRecordFieldMapping> @@ -272,10 +280,30 @@ <expression>%aditoprj%/entity/DSGVO_entity/recordcontainers/db/recordfieldmappings/value.value/expression.js</expression> </dbRecordFieldMapping> <dbRecordFieldMapping> - <name>MEDIUM.value</name> - <expression>%aditoprj%/entity/DSGVO_entity/recordcontainers/db/recordfieldmappings/medium.value/expression.js</expression> + <name>TYPE.value</name> + <recordfield>DSGVO.TYPE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>TYPE.displayValue</name> + <expression>%aditoprj%/entity/DSGVO_entity/recordcontainers/db/recordfieldmappings/type.displayvalue/expression.js</expression> </dbRecordFieldMapping> </recordFieldMappings> </dbRecordContainer> + <jDitoRecordContainer> + <name>jdito</name> + <jDitoRecordAlias>Data_alias</jDitoRecordAlias> + <isFilterable v="true" /> + <contentProcess>%aditoprj%/entity/DSGVO_entity/recordcontainers/jdito/contentProcess.js</contentProcess> + <recordFields> + <element>DSGVOID.value</element> + <element>ROW_ID.value</element> + <element>STATUORITYSOURCE.value</element> + <element>PURPOSE.value</element> + <element>TABLENAME.value</element> + <element>TYPE.value</element> + <element>VALID_TO.value</element> + <element>CONTACT_ID.value</element> + </recordFields> + </jDitoRecordContainer> </recordContainers> </entity> diff --git a/entity/DSGVO_entity/entityfields/tablename/displayValueProcess.js b/entity/DSGVO_entity/entityfields/tablename/displayValueProcess.js deleted file mode 100644 index 80e574ee4a..0000000000 --- a/entity/DSGVO_entity/entityfields/tablename/displayValueProcess.js +++ /dev/null @@ -1,6 +0,0 @@ -import("system.result"); -import("system.vars"); -import("KeywordRegistry_basic"); -import("Keyword_lib"); - -result.string(KeywordUtils.getViewValue($KeywordRegistry.DSGVOTablename(), vars.get("$field.TABLENAME"))); \ No newline at end of file diff --git a/entity/DSGVO_entity/entityfields/type/dropDownProcess.js b/entity/DSGVO_entity/entityfields/type/dropDownProcess.js new file mode 100644 index 0000000000..88f18f20c2 --- /dev/null +++ b/entity/DSGVO_entity/entityfields/type/dropDownProcess.js @@ -0,0 +1,5 @@ +import("system.logging"); +import("system.vars"); +import("Keyword_lib") +import("KeywordRegistry_basic"); + diff --git a/entity/DSGVO_entity/entityfields/value/dropDownProcess.js b/entity/DSGVO_entity/entityfields/value/dropDownProcess.js index 829572ad90..c8a14bde82 100644 --- a/entity/DSGVO_entity/entityfields/value/dropDownProcess.js +++ b/entity/DSGVO_entity/entityfields/value/dropDownProcess.js @@ -1,10 +1,10 @@ -import("system.logging"); import("system.result"); import("system.vars"); import("Sql_lib"); import("system.db"); import("DSGVO_lib"); -var data = getDSGVOTable(vars.get("$param.currentPerson_param"), "combo"); + +var data = getDSGVOTable(vars.get("$param.currentPerson_param"), vars.get("$field.TABLENAME")); result.object(data); \ No newline at end of file diff --git a/entity/DSGVO_entity/recordcontainers/db/recordfieldmappings/medium.value/expression.js b/entity/DSGVO_entity/recordcontainers/db/recordfieldmappings/medium.value/expression.js deleted file mode 100644 index d848dd8256..0000000000 --- a/entity/DSGVO_entity/recordcontainers/db/recordfieldmappings/medium.value/expression.js +++ /dev/null @@ -1,5 +0,0 @@ -import("system.result"); -import("system.vars"); -import("DSGVO_lib"); - -result.object(getDSGVOTable(vars.get("$param.currentPerson_param"), "medium")); \ No newline at end of file diff --git a/entity/DSGVO_entity/recordcontainers/db/recordfieldmappings/type.displayvalue/expression.js b/entity/DSGVO_entity/recordcontainers/db/recordfieldmappings/type.displayvalue/expression.js new file mode 100644 index 0000000000..1e77eef5d3 --- /dev/null +++ b/entity/DSGVO_entity/recordcontainers/db/recordfieldmappings/type.displayvalue/expression.js @@ -0,0 +1,6 @@ +import("system.result"); +import("Keyword_lib"); +import("KeywordRegistry_basic"); + +var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.DSGVOType(), "DSGVO.TYPE"); +result.string(sql); \ No newline at end of file diff --git a/entity/DSGVO_entity/recordcontainers/db/recordfieldmappings/value.value/expression.js b/entity/DSGVO_entity/recordcontainers/db/recordfieldmappings/value.value/expression.js index 9c1830d99e..d047656e73 100644 --- a/entity/DSGVO_entity/recordcontainers/db/recordfieldmappings/value.value/expression.js +++ b/entity/DSGVO_entity/recordcontainers/db/recordfieldmappings/value.value/expression.js @@ -1,5 +1,6 @@ -import("system.result"); import("system.vars"); +import("system.result"); import("DSGVO_lib"); -result.object(getDSGVOTable(vars.get("$param.currentPerson_param"), "value")); + +result.object(getDSGVOTable(vars.get("$param.currentPerson_param"), vars.get("$field.TABLENAME"))); \ No newline at end of file diff --git a/entity/DSGVO_entity/recordcontainers/jdito/contentProcess.js b/entity/DSGVO_entity/recordcontainers/jdito/contentProcess.js new file mode 100644 index 0000000000..66df3fc69b --- /dev/null +++ b/entity/DSGVO_entity/recordcontainers/jdito/contentProcess.js @@ -0,0 +1,66 @@ +import("KeywordRegistry_basic"); +import("Keyword_lib"); +import("system.db"); +import("system.result"); +import("Sql_lib"); +import("Address_lib"); + +var recordCond = SqlCondition.begin(); + +recordCond.andPrepare("$param.currentPerson_param", "$field.CONTACT_ID"); + +var dataQuery = recordCond.buildSql("select DSGVOID, ROW_ID, STATUORITYSOURCE, PURPOSE, TABLENAME, TYPE, VALID_TO, CONTACT_ID " + + "from DSGVO ", "1 = 1"); //, "order by DATE_NEW desc, USER_NEW asc"); + + +// res.push([dsgvoId, row, statSource, purpose, tablename, type, validTo, contactId]); +// ---->>>> VALUE von RowId +// result.object(); + +// RESULT muss Form haben: DSGVOID, ROW_ID, STATUORITYSOURCE, PURPOSE, TABLENAME, TYPE, VALUE, VALID_TO, CONTACT_ID +// ggf. kürzen? nur DSGVOID und VALUE? + +function _groupData(pData) +{ + if ( pData.length == 0 ) + return []; + + var res = []; + var tableContainer = $KeywordRegistry.DSGVOTablename(); + + for (var i = 0; i < dataQuery.length; i++) + { + var innerCond = SqlCondition.begin(); + if(KeywordUtils.getViewValue(tableContainer, pData[i][4]) == "Adressen") + { + var addrData = innerCond.andPrepare(pData[i][1], "ADDRESSID") + //.andPrepare(pData[i][7], "CONTACT_ID") + .buildSql("select ADDRESSID, ADDRESS, ADDRESSADDITION, ADDRIDENTIFIER, " + + "BUILDINGNO, CITY, COUNTRY, DISTRICT, REGION, STATE, ZIP " + + "from ADDRESS", "1 = 1"); + if(addrData.length == 1) + { + // TODO welche Werte brauch ich? s.o. + var value = (_formatAddrData(addrData[0])) + res.push(pData[i][0], pData[i][1], pData[i][2], pData[i][3], pData[i][4], pData[i][5], value, pData[i][6], pData[i][7]) + + } + else + continue; + // return []; + } + else if(KeywordUtils.getViewValue(container, table) == "Kommunikationsdaten") + { + + } + else if(KeywordUtils.getViewValue(container, table) == "Attribute") + { + + } + else if(KeywordUtils.getViewValue(container, table) == "Persönliche Daten") + { + + } + return res; + } +} diff --git a/neonView/DSGVOEdit_view/DSGVOEdit_view.aod b/neonView/DSGVOEdit_view/DSGVOEdit_view.aod index 2e5c22f42b..7e996ce2ed 100644 --- a/neonView/DSGVOEdit_view/DSGVOEdit_view.aod +++ b/neonView/DSGVOEdit_view/DSGVOEdit_view.aod @@ -15,13 +15,21 @@ <entityField>#ENTITY</entityField> <fields> <entityFieldLink> - <name>2d624b85-9dbc-4ab1-9682-9c4d50e4df5d</name> - <entityField>ROW_ID</entityField> + <name>05722873-d882-41fa-9030-aa64df9dc98a</name> + <entityField>TABLENAME</entityField> + </entityFieldLink> + <entityFieldLink> + <name>167afc20-3e2c-452d-9300-f5e105bc85e4</name> + <entityField>TYPE</entityField> </entityFieldLink> <entityFieldLink> <name>732a0a8a-4db3-4ff9-b4a2-c7ab6f2cf144</name> <entityField>VALUE</entityField> </entityFieldLink> + <entityFieldLink> + <name>2d624b85-9dbc-4ab1-9682-9c4d50e4df5d</name> + <entityField>ROW_ID</entityField> + </entityFieldLink> <entityFieldLink> <name>191e8712-abf8-42d8-89d5-649dd0164f56</name> <entityField>STATUORITYSOURCE</entityField> diff --git a/neonView/DSGVOFilter_view/DSGVOFilter_view.aod b/neonView/DSGVOFilter_view/DSGVOFilter_view.aod index 946ae1b9b6..1ffe887a55 100644 --- a/neonView/DSGVOFilter_view/DSGVOFilter_view.aod +++ b/neonView/DSGVOFilter_view/DSGVOFilter_view.aod @@ -15,25 +15,19 @@ <favoriteActionGroup2>Reports</favoriteActionGroup2> <entityField>#ENTITY</entityField> <columns> - <neonTableColumn> - <name>76d31355-bdff-4b4c-a61c-285ed96c6721</name> - <entityField>ROW_ID</entityField> - <width v="75" /> - <expandRatio v="100" /> - </neonTableColumn> <neonTableColumn> <name>1d329067-0959-4150-aaa4-ea7887a31ec2</name> <entityField>VALUE</entityField> </neonTableColumn> <neonTableColumn> <name>ad9e414f-4f0f-4efb-887a-468e7a9fefb5</name> - <entityField>RIGHT</entityField> + <entityField>STATUORITYSOURCE</entityField> <width v="75" /> <expandRatio v="100" /> </neonTableColumn> <neonTableColumn> <name>b9a96821-ed98-44e8-b1d9-c5577c53bf72</name> - <entityField>USE</entityField> + <entityField>PURPOSE</entityField> <width v="75" /> <expandRatio v="100" /> </neonTableColumn> diff --git a/process/DSGVO_lib/process.js b/process/DSGVO_lib/process.js index d4c13a0711..dcb635d352 100644 --- a/process/DSGVO_lib/process.js +++ b/process/DSGVO_lib/process.js @@ -1,5 +1,6 @@ import("system.logging"); -import("Keyword_lib"); +import("Keyword_lib") +import("KeywordRegistry_basic"); import("system.translate"); import("Sql_lib"); import("system.util"); @@ -7,10 +8,100 @@ import("system.vars"); import("system.db"); import("system.neon"); import("system.result"); -import("KeywordRegistry_basic"); -function getDSGVOTable (pPerson, pType) +import("Report_lib"); + +function getDSGVOTable (pPerson, pTablename) { + /* + var table = vars.get("$field.TABLENAME"); + var container = $KeywordRegistry.DSGVOTablename(); + var data; + var entry = new Object{Type:String, value:String}; + var list = []; + + if (exists(table, container)) + { + if(KeywordUtils.getViewValue(container, table) == "Adressen") + { + data = db.table(SqlCondition.begin() + .andPrepare("CONTACT.PERSON_ID", pPerson) + .buildSql("select ADDRESSID, ADDRESS, ADDRESSADDITION, ADDRIDENTIFIER, BUILDINGNO, CITY, COUNTRY, DISTRICT, REGION, STATE, ZIP from ADDRESS join CONTACT on ADDRESS.ADDRESSID = CONTACT.ADDRESS_ID", "1 = 1")); + + } + else if(KeywordUtils.getViewValue(container, table) == "Kommunikationsdaten") + { + data = db.table(SqlCondition.begin() + .andPrepare("CONTACT.PERSON_ID", pPerson) + .buildSql("select COMMUNICATIONID, ADDR, MEDIUM_ID from COMMUNICATION join CONTACT on COMMUNICATION.CONTACT_ID = CONTACTID", "1 = 1")); + + } + else if(KeywordUtils.getViewValue(container, table) == "Attribute") + { + + } + else if(KeywordUtils.getViewValue(container, table) == "Persönliche Daten") + { + data = db.table(SqlCondition.begin() + .andPrepare("PERSON.PERSONID", pPerson) + .buildSql("select PERSONID, DATEOFBIRTH, FIRSTNAME, MIDDLENAME, LASTNAME, GENDER, SALUTATION, TITLE, TITLESUFFIX, PICTURE from PERSON", "1 = 1")); + + for(i = 0; i < pers.length; i++) + { + if(pers[i][1] != null) + { + // TODO + list.push({Type:"123", value:"123"}); + mediumData.push(pers[i][0] + " Date of Birth"); + valueData.push(pers[i][1]); + } + if(pers[i][2] != null) + { + mediumData.push(pers[i][0] + " Firstname"); + valueData.push(pers[i][2]); + } + if(pers[i][3] != null) + { + mediumData.push(pers[i][0] + " Middlename"); + valueData.push(pers[i][3]); + } + if(pers[i][4] != null) + { + mediumData.push(pers[i][0] + " Lastname"); + valueData.push(pers[i][4]); + persEntry = pers[i][4]; + } + if(pers[i][5] != null) + { + mediumData.push(pers[i][0] + " Gender"); + valueData.push(pers[i][5]); + } + if(pers[i][6] != null) + { + mediumData.push(pers[i][0] + " Salutation"); + valueData.push(pers[i][6]); + } + if(pers[i][7] != null) + { + mediumData.push(pers[i][0] + " Title"); + valueData.push(pers[i][7]); + } + if(pers[i][8] != null) + { + mediumData.push(pers[i][0] + " Title suffix"); + valueData.push(pers[i][8]); + } + if(pers[i][9] != null) { + mediumData.push(pers[i][0] + " Picture"); + valueData.push(pers[i][9]); + if(persEntry == null) + persEntry = pers[i][9]; + } + } + } + else return null; +}*/ + var addr = db.table(SqlCondition.begin() .andPrepare("CONTACT.PERSON_ID", pPerson) .buildSql("select ADDRESSID, ADDRESS, ADDRESSADDITION, ADDRIDENTIFIER, BUILDINGNO, CITY, COUNTRY, DISTRICT, REGION, STATE, ZIP from ADDRESS join CONTACT on ADDRESS.ADDRESSID = CONTACT.ADDRESS_ID", "1 = 1")); @@ -24,168 +115,197 @@ function getDSGVOTable (pPerson, pType) .andPrepare("PERSON.PERSONID", pPerson) .buildSql("select PERSONID, DATEOFBIRTH, FIRSTNAME, MIDDLENAME, LASTNAME, GENDER, SALUTATION, TITLE, TITLESUFFIX, PICTURE from PERSON", "1 = 1")); - // var data = new Array(); - var mediumData = new Array(); - var valueData = new Array(); - var allData = new Array(); +// var data = new Array(); +var mediumData = new Array(); +var valueData = new Array(); +var allData = new Array(); - for(i = 0; i < addr.length; i++) +for(i = 0; i < addr.length; i++) +{ + var addrEntry = null; + if(addr[i][1] != null) { - var addrEntry = null; - if(addr[i][1] != null) - { - mediumData.push(addr[i][0] + " Street"); - valueData.push(addr[i][1]); - } - if(addr[i][2] != null) - { - mediumData.push(addr[i][0] + " Addressaddition"); - valueData.push(addr[i][2]); - } - if(addr[i][3] != null) - { - mediumData.push(addr[i][0] + " Addressident"); - valueData.push(addr[i][3]); - } - if(addr[i][4] != null) - { - mediumData.push(addr[i][0] + " Buildingno"); - valueData.push(addr[i][4]); - } - if(addr[i][5] != null) - { - mediumData.push(addr[i][0] + " City"); - valueData.push(addr[i][5]); - addrEntry = addr[i][5]; - } - if(addr[i][6] != null) - { - mediumData.push(addr[i][0] + " Country"); - valueData.push(addr[i][6]); - } - if(addr[i][7] != null) - { - mediumData.push(addr[i][0] + " District"); - valueData.push(addr[i][7]); - if(addrEntry == null) - addrEntry = addr[i][7]; - } - if(addr[i][8] != null) - { - mediumData.push(addr[i][0] + " Region"); - valueData.push(addr[i][8]); - if(addrEntry == null) - addrEntry = addr[i][8]; - } - if(addr[i][9] != null) - { - mediumData.push(addr[i][0] + " State"); - valueData.push(addr[i][9]); - } - if(addr[i][10] != null) - { - mediumData.push(addr[i][0] + " ZIP"); - valueData.push(addr[i][10]); - if(addrEntry == null) - addrEntry = addr[i][10]; - } - if(addrEntry != null) - allData.push([addr[i][0] + "-address", addrEntry]); + mediumData.push(addr[i][0] + " Street"); + valueData.push(addr[i][1]); + } + if(addr[i][2] != null) + { + mediumData.push(addr[i][0] + " Addressaddition"); + valueData.push(addr[i][2]); + } + if(addr[i][3] != null) + { + mediumData.push(addr[i][0] + " Addressident"); + valueData.push(addr[i][3]); + } + if(addr[i][4] != null) + { + mediumData.push(addr[i][0] + " Buildingno"); + valueData.push(addr[i][4]); + } + if(addr[i][5] != null) + { + mediumData.push(addr[i][0] + " City"); + valueData.push(addr[i][5]); + addrEntry = addr[i][5]; + } + if(addr[i][6] != null) + { + mediumData.push(addr[i][0] + " Country"); + valueData.push(addr[i][6]); + } + if(addr[i][7] != null) + { + mediumData.push(addr[i][0] + " District"); + valueData.push(addr[i][7]); + if(addrEntry == null) + addrEntry = addr[i][7]; + } + if(addr[i][8] != null) + { + mediumData.push(addr[i][0] + " Region"); + valueData.push(addr[i][8]); + if(addrEntry == null) + addrEntry = addr[i][8]; } + if(addr[i][9] != null) + { + mediumData.push(addr[i][0] + " State"); + valueData.push(addr[i][9]); + } + if(addr[i][10] != null) + { + mediumData.push(addr[i][0] + " ZIP"); + valueData.push(addr[i][10]); + if(addrEntry == null) + addrEntry = addr[i][10]; + } + if(addrEntry != null) + allData.push([addr[i][0] + "-address", addrEntry]); +} - for(i = 0; i < comm.length; i++) +for(i = 0; i < comm.length; i++) +{ + if(comm[i][1] && comm[i][2]) { - if(comm[i][1] && comm[i][2]) + var medium = KeywordUtils.getViewValue($KeywordRegistry.communicationMedium(), comm[i][2]); + if(medium != null) { - var medium = KeywordUtils.getViewValue($KeywordRegistry.communicationMedium(), comm[i][2]); - if(medium != null) - { - mediumData.push(medium) - valueData.push(comm[i][1]); - allData.push([comm[i][0] + "-communication", medium]) - } + mediumData.push(medium) + valueData.push(comm[i][1]); + allData.push([comm[i][0] + "-communication", medium]) } } +} - for(i = 0; i < pers.length; i++) +for(i = 0; i < pers.length; i++) +{ + var persEntry = null; + if(pers[i][1] != null) { - var persEntry = null; - if(pers[i][1] != null) - { - mediumData.push(pers[i][0] + " Date of Birth"); - valueData.push(pers[i][1]); - } - if(pers[i][2] != null) - { - mediumData.push(pers[i][0] + " Firstname"); - valueData.push(pers[i][2]); - } - if(pers[i][3] != null) - { - mediumData.push(pers[i][0] + " Middlename"); - valueData.push(pers[i][3]); - } - if(pers[i][4] != null) - { - mediumData.push(pers[i][0] + " Lastname"); - valueData.push(pers[i][4]); - persEntry = pers[i][4]; - } - if(pers[i][5] != null) - { - mediumData.push(pers[i][0] + " Gender"); - valueData.push(pers[i][5]); - } - if(pers[i][6] != null) - { - mediumData.push(pers[i][0] + " Salutation"); - valueData.push(pers[i][6]); - } - if(pers[i][7] != null) - { - mediumData.push(pers[i][0] + " Title"); - valueData.push(pers[i][7]); - } - if(pers[i][8] != null) - { - mediumData.push(pers[i][0] + " Title suffix"); - valueData.push(pers[i][8]); - } - if(pers[i][9] != null) { - mediumData.push(pers[i][0] + " Picture"); - valueData.push(pers[i][9]); - if(persEntry == null) - persEntry = pers[i][9]; - } - - if(persEntry != null) - allData.push([pers[i][0] + "-person", persEntry]); + mediumData.push(pers[i][0] + " Date of Birth"); + valueData.push(pers[i][1]); } - - //logging.log(mediumData.length); - //logging.log(valueData.length); - //logging.log(allData.length); - /*allData.forEach(function (entry) + if(pers[i][2] != null) + { + mediumData.push(pers[i][0] + " Firstname"); + valueData.push(pers[i][2]); + } + if(pers[i][3] != null) + { + mediumData.push(pers[i][0] + " Middlename"); + valueData.push(pers[i][3]); + } + if(pers[i][4] != null) + { + mediumData.push(pers[i][0] + " Lastname"); + valueData.push(pers[i][4]); + persEntry = pers[i][4]; + } + if(pers[i][5] != null) + { + mediumData.push(pers[i][0] + " Gender"); + valueData.push(pers[i][5]); + } + if(pers[i][6] != null) + { + mediumData.push(pers[i][0] + " Salutation"); + valueData.push(pers[i][6]); + } + if(pers[i][7] != null) + { + mediumData.push(pers[i][0] + " Title"); + valueData.push(pers[i][7]); + } + if(pers[i][8] != null) { - logging.log(entry); - })*/ + mediumData.push(pers[i][0] + " Title suffix"); + valueData.push(pers[i][8]); + } + if(pers[i][9] != null) { + mediumData.push(pers[i][0] + " Picture"); + valueData.push(pers[i][9]); + if(persEntry == null) + persEntry = pers[i][9]; + } + + if(persEntry != null) + allData.push([pers[i][0] + "-person", persEntry]); +} + + +if(pTablename == "medium") +{ + return mediumData; +} +else if(pTablename == "value") +{ + return valueData; +} +else if(pTablename == "combo") +{ + return allData; +} +else + return null; +} + +function openDSGVODisclosureReport(pPerson) +{ + var discReport = new Report("DSGVO_Disclosure_Report"); - //logging.log(pType); + // TODO: get Images implementieren + var imgData = ["meineFirma | Konrad-Zuse-Straße 4 | DE 84144 Geisenhausen", + "base64:iVBORw0KGgoAAAANSUhEUgAAAM4AAABRCAYAAACaL5lSAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDA4QzAyM0IwREIwMTFFNEFGMDREM0VEMjExRjlBRTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDA4QzAyM0MwREIwMTFFNEFGMDREM0VEMjExRjlBRTIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowMDhDMDIzOTBEQjAxMUU0QUYwNEQzRUQyMTFGOUFFMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowMDhDMDIzQTBEQjAxMUU0QUYwNEQzRUQyMTFGOUFFMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PhF3nYoAAAlvSURBVHja7J1fjBXV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"] - if(pType == "medium") - { - return mediumData; - } - else if(pType == "value") - { - return valueData; - } - else if(pType == "combo") - { - return allData; - } + var dsgvo = "select DSGVOID, ROW_ID, STATUORITYSOURCE, PURPOSE, TABLENAME, VALID_TO, CONTACT_ID from DSGVO" + + var params = {}; + /* + var params = { + "PaymentConditions" : translate.text("Conditions of payment", language), + "Articledescription" : translate.text("Articledescription", language), + "DeliveryConditions" : translate.text("Deliveryspecification", language), + "Salutation" : letterSalutation}*/ + + discReport.setReportData(ReportData.begin([ + "PURPOSE", + "STATUORITYSOURCE", + "VALID_TO", + "TYPE", // Type + "VALUE" // Value + ])); + discReport.addImage("myLogo", imgData[1]); + discReport.addReportParams(params); + discReport.openReport(); // pCondition, pVariables } +function openDSGVOInformationReport(pPerson) +{ + var infoReport = new Report("DSGVO_Information_report"); +} + + function insertUpdatePrivacyData(pTableData, pPersRelId){ diff --git a/process/KeywordRegistry_basic/process.js b/process/KeywordRegistry_basic/process.js index 2030205a1c..44d003a529 100644 --- a/process/KeywordRegistry_basic/process.js +++ b/process/KeywordRegistry_basic/process.js @@ -108,6 +108,7 @@ $KeywordRegistry.permissionAccessType = function(){return "PermissionAccessType" $KeywordRegistry.purpose = function(){return "Purpose";}; $KeywordRegistry.statuoritysource = function(){return "Statuoritysource";}; $KeywordRegistry.DSGVOTablename = function() {return "DSGVOTablename";}; +$KeywordRegistry.DSGVOType = function() {return "DSGVOType";}; $KeywordRegistry.textPlaceholder = function(){return "textPlaceholder";}; $KeywordRegistry.communicationMediumCampaign = function(){return "CommunicationMediumCampaign";}; diff --git a/report/DSGVO_Auskunft_Report/DSGVO_Auskunft_Report.aod b/report/DSGVO_Disclosure_Report/DSGVO_Disclosure_Report.aod similarity index 75% rename from report/DSGVO_Auskunft_Report/DSGVO_Auskunft_Report.aod rename to report/DSGVO_Disclosure_Report/DSGVO_Disclosure_Report.aod index de8f40d3cf..ad0f0fcbfe 100644 --- a/report/DSGVO_Auskunft_Report/DSGVO_Auskunft_Report.aod +++ b/report/DSGVO_Disclosure_Report/DSGVO_Disclosure_Report.aod @@ -1,8 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <report xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/report/1.2.0"> - <name>DSGVO_Auskunft_Report</name> + <name>DSGVO_Disclosure_Report</name> + <title>DSGVO Disclosure</title> <majorModelMode>DISTRIBUTED</majorModelMode> - <reportData>%aditoprj%/report/DSGVO_Auskunft_Report/reportData.jrxml</reportData> + <reportData>%aditoprj%/report/DSGVO_Disclosure_Report/reportData.jrxml</reportData> <reportType>JASPER</reportType> <ribbon> <name>ribbon</name> diff --git a/report/DSGVO_Auskunft_Report/reportData.jasper b/report/DSGVO_Disclosure_Report/reportData.jasper similarity index 100% rename from report/DSGVO_Auskunft_Report/reportData.jasper rename to report/DSGVO_Disclosure_Report/reportData.jasper diff --git a/report/DSGVO_Auskunft_Report/reportData.jrxml b/report/DSGVO_Disclosure_Report/reportData.jrxml similarity index 100% rename from report/DSGVO_Auskunft_Report/reportData.jrxml rename to report/DSGVO_Disclosure_Report/reportData.jrxml -- GitLab