diff --git a/entity/DSGVOInfo_entity/entityfields/datedeadline/mandatoryProcess.js b/entity/DSGVOInfo_entity/entityfields/datedeadline/mandatoryProcess.js index 8e9fc2d607e1a79d5bc80df906988dbfa6a91f14..0543f4ceb723c217a081276a676b12f71015c5eb 100644 --- a/entity/DSGVOInfo_entity/entityfields/datedeadline/mandatoryProcess.js +++ b/entity/DSGVOInfo_entity/entityfields/datedeadline/mandatoryProcess.js @@ -3,4 +3,4 @@ import("KeywordRegistry_basic"); import("system.vars"); import("system.result"); -result.object(vars.get("$param.ReportType_param") == DataPrivacyUtils.DisclosureReportName() && vars.get("$field.deadline") && vars.get("$field.deadline") != $KeywordRegistry.DSGVODeadline$onTime()); \ No newline at end of file +result.object(vars.get("$param.ReportType_param") == DataPrivacyUtils.DisclosureReportName() && vars.get("$field.deadline") != "" && vars.get("$field.deadline") != $KeywordRegistry.DSGVODeadline$onTime()); \ No newline at end of file diff --git a/entity/DSGVOInfo_entity/entityfields/deadline/onValueChange.js b/entity/DSGVOInfo_entity/entityfields/deadline/onValueChange.js index 0ad233b2ec19e5a3c6179c8f9c979d2e98c1c991..22a51f66b481a6036ba5e97aa055bb668cde174e 100644 --- a/entity/DSGVOInfo_entity/entityfields/deadline/onValueChange.js +++ b/entity/DSGVOInfo_entity/entityfields/deadline/onValueChange.js @@ -2,7 +2,7 @@ import("KeywordRegistry_basic"); import("system.vars"); import("system.neon"); -if (vars.get("$this.value") == $KeywordRegistry.DSGVODeadline$onTime()()) +if (vars.get("$this.value") == $KeywordRegistry.DSGVODeadline$onTime()) { neon.setFieldValues({ "$field.RECIPIENT": "", diff --git a/entity/DSGVOInfo_entity/recordcontainers/db/conditionProcess.js b/entity/DSGVOInfo_entity/recordcontainers/db/conditionProcess.js index 9b24cde593c67d750b3e45c66076b0dc3f66d2f4..f0bdb7475688526b0d705c146f30a8081f545f8c 100644 --- a/entity/DSGVOInfo_entity/recordcontainers/db/conditionProcess.js +++ b/entity/DSGVOInfo_entity/recordcontainers/db/conditionProcess.js @@ -5,5 +5,5 @@ import("Sql_lib"); result.string(db.translateCondition( SqlCondition.begin() .andPrepareVars("DSGVOINFO.CONTACT_ID", "$param.ContactId_param") - .build())) + .build("1=1"))) \ No newline at end of file diff --git a/entity/DSGVO_entity/DSGVO_entity.aod b/entity/DSGVO_entity/DSGVO_entity.aod index a6530524037c77ba0e5d2f1def151ec437ed786f..06d44974e63841afda42b9c49f30bc3172d2e073 100644 --- a/entity/DSGVO_entity/DSGVO_entity.aod +++ b/entity/DSGVO_entity/DSGVO_entity.aod @@ -215,7 +215,6 @@ <name>jdito</name> <jDitoRecordAlias>Data_alias</jDitoRecordAlias> <contentProcess>%aditoprj%/entity/DSGVO_entity/recordcontainers/jdito/contentProcess.js</contentProcess> - <onInsert>%aditoprj%/entity/DSGVO_entity/recordcontainers/jdito/onInsert.js</onInsert> <onUpdate>%aditoprj%/entity/DSGVO_entity/recordcontainers/jdito/onUpdate.js</onUpdate> <recordFieldMappings> <jDitoRecordFieldMapping> diff --git a/entity/DSGVO_entity/recordcontainers/jdito/onInsert.js b/entity/DSGVO_entity/recordcontainers/jdito/onInsert.js deleted file mode 100644 index bf243418e8533ad06af90db8eca28d4e9272891b..0000000000000000000000000000000000000000 --- a/entity/DSGVO_entity/recordcontainers/jdito/onInsert.js +++ /dev/null @@ -1,27 +0,0 @@ -import("system.db"); -import("system.vars"); - -var columns = [ - "CONTACT_ID", - "DATE_NEW", - "PURPOSE", - "ROW_ID", - "STATUORITYSOURCE", - "DSGVOTYPE", - "DSGVOID", - "USER_NEW", - "VALID_TO" -]; -var values = [ - vars.get("$field.CONTACT_ID"), - vars.get("$field.DATE_NEW"), - vars.get("$field.PURPOSE"), - vars.get("$field.ROW_ID"), - vars.get("$field.STATUORITYSOURCE"), - vars.get("$field.DSGVOTYPE"), - vars.get("$field.UID"), - vars.get("$field.USER_NEW"), - vars.get("$field.VALID_TO") -]; - -//db.insertData("DSGVO", columns, null, values); \ No newline at end of file diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod index 8bfa979f296b38565b1c21fe344380e6b706a98d..820f6bce84eaae39475abf607bd5417c37bd9113 100644 --- a/entity/Person_entity/Person_entity.aod +++ b/entity/Person_entity/Person_entity.aod @@ -905,10 +905,6 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact </entityParameter> </children> </entityConsumer> - <entityActionField> - <name>lokl</name> - <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/lokl/onActionProcess.js</onActionProcess> - </entityActionField> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/Person_entity/entityfields/lokl/onActionProcess.js b/entity/Person_entity/entityfields/lokl/onActionProcess.js deleted file mode 100644 index b9da4051c335783febe37c3f97bf04f5ee561423..0000000000000000000000000000000000000000 --- a/entity/Person_entity/entityfields/lokl/onActionProcess.js +++ /dev/null @@ -1,3 +0,0 @@ -import("system.vars"); -import("Contact_lib"); -ContactUtils.getPrivateContact(vars.get("$field.PERSONID")) \ No newline at end of file diff --git a/process/Address_lib/process.js b/process/Address_lib/process.js index f4e56d6d2b58ea5b7e3b44ffa43b79b3b873c2d4..e757db22e913e3a90f058f33c0ac33e5386b4f9f 100644 --- a/process/Address_lib/process.js +++ b/process/Address_lib/process.js @@ -38,7 +38,6 @@ function AddrObject(pContactId, pPerson, pAddressId) this.getFormattedAddress = function( pCountry, pFormat ) { var data = _getAddrData( this.Data[0][0] ) - logging.log(JSON.stringify(data, null, "\t")) return _formatAddrData(data , pFormat, pCountry ); } } @@ -244,7 +243,6 @@ function fetchAddressData( pCondition, pConfig, AddressID, pPerson ) } data = [ data, output, header, addrfields ]; } - logging.log(data.toSource()); return data; } @@ -327,11 +325,10 @@ function _getAddrData( pData ) // lettersalutation if none existent yet if( lettersalutation == "" ) lettersalutation = _formatAddrData( pData, sformat[1] ); } - logging.log(JSON.stringify(lettersalutation, null, "\t")) + pData[23] = salutation; pData[24] = lettersalutation; pData[25] = _getCountryName(pData[5]); - logging.log(JSON.stringify(pData, null, "\t")) return pData; } @@ -413,30 +410,17 @@ function _formatAddrData( pAddrData, pFormat, pCountry ) "salutation_name": {dataPosition: 23}, "letter_salutation": {dataPosition: 24} }; - logging.log(JSON.stringify(placeholerInfo, null, "\t")) var format = pFormat || pAddrData[26]; format = _mapFormatPlaceholderTitles(format, pAddrData, pCountry); var res = format; for (var placeholder in placeholerInfo) { - logging.log("----" + JSON.stringify(placeholerInfo[placeholder], null, "\t")) - logging.log("++++" + JSON.stringify(pAddrData, null, "\t")) var currentAddrData = pAddrData[placeholerInfo[placeholder].dataPosition]; - - logging.log(currentAddrData) - - if (currentAddrData != undefined) { - logging.log("{" + placeholder + "}"); - - logging.log("not replaced " + res); res = res.replace("{" + placeholder + "}", currentAddrData); - logging.log("replaced " + res); res = res.replace("{" + placeholder.toUpperCase() + "}", currentAddrData.toUpperCase()); - logging.log("replaced upper" + res); - } } @@ -445,7 +429,6 @@ function _formatAddrData( pAddrData, pFormat, pCountry ) res = res.replace(/\\n/ig, "\n"); // newline marker ersetzen res = res.replace(/ *\n */g, "\n");// leerzeichen am ende und Anfang entfernen res = res.replace(/\s(?=\s)/g, ""); // leerzeilen rauswerfen - logging.log(JSON.stringify(res, null, "\t")) return res; } diff --git a/process/DataPrivacy_lib/process.js b/process/DataPrivacy_lib/process.js index d3fdad0ed464153d19ef3a8b16498e9fb9bd6218..e75134b1d64e70e42f83aad397e9768fc51890cb 100644 --- a/process/DataPrivacy_lib/process.js +++ b/process/DataPrivacy_lib/process.js @@ -399,11 +399,6 @@ DataPrivacyUtils.openReport = function(pContactId, pReportName, pDSGVOInfo, pLoc var imgData = ["meineFirma | Konrad-Zuse-Straße 4 | DE 84144 Geisenhausen", "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")*/ - var dsgvoData = DataPrivacyUtils.dataForExport(pContactId, pLocale); // text for transmission @@ -448,20 +443,34 @@ DataPrivacyUtils.openReport = function(pContactId, pReportName, pDSGVOInfo, pLoc saveTill = translate.text("We save your data until " + saveTill + "."); var addrObject = new AddrObject(pContactId); + + var fakeDataProtectionOfficerId = "57d524f6-ad66-4550-be83-fee6e31b7a52" + var fakeDataProtectionOfficerAddrObject = new AddrObject(fakeDataProtectionOfficerId); + + fakeDataProtectionOfficerAddr = fakeDataProtectionOfficerAddrObject.getFormattedAddress(false, "{salutation_name}\n {street} {buildingno}\n {country_short} - {zip} {city}"); + + if (fakeDataProtectionOfficerAddr.indexOf("Err.") != -1) + { + fakeDataProtectionOfficerAddr = +"Herr Max Mustermann\n\ +Musterstr. 3\n\ +12345 Musterstadt\n\ +Muster-Datenschutzberatung"; + } + var params = { "myAddress" : imgData[0], - "address" : addrObject.getFormattedAddress(undefined, "{salutation_name}\n {street} {buildingno}\n {country_short} - {zip} {city}"), - "salutation" : addrObject.getFormattedAddress(undefined, "{letter_salutation},"), + "address" : addrObject.getFormattedAddress(false, "{salutation_name}\n {street} {buildingno}\n {country_short} - {zip} {city}"), + "salutation" : addrObject.getFormattedAddress(false, "{letter_salutation},"), "dateRequest" : datetime.toDate(pDSGVOInfo.requestDate, translate.text("dd.MM.yyyy", pLocale), "UTC"), "deadline" : deadline.toString(), "dateSaveTill" : saveTill.toString(), "transmission" : transmission.toString(), - "fromOther" : datasource.toString() + "fromOther" : datasource.toString(), + "dataProtectionOfficer" : fakeDataProtectionOfficerAddr.toString() }; - logging.log("jjj " + transmission); - DSGVOReport.setReportData(ReportData.begin(dsgvoData[0]).add(dsgvoData[1])); DSGVOReport.addImage("myLogo", imgData[1]); DSGVOReport.addReportParams(params); diff --git a/report/DSGVO_Disclosure_Report/DSGVO_Disclosure_report.aod b/report/DSGVO_Disclosure_Report/DSGVO_Disclosure_report.aod new file mode 100644 index 0000000000000000000000000000000000000000..f506dbb372ad070f5bac8bcd40aa3ea9f099f534 --- /dev/null +++ b/report/DSGVO_Disclosure_Report/DSGVO_Disclosure_report.aod @@ -0,0 +1,16 @@ +<?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_Disclosure_report</name> + <title>DSGVO Disclosure</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <reportData>%aditoprj%/report/DSGVO_Disclosure_report/reportData.jrxml</reportData> + <reportType>JASPER</reportType> + <ribbon> + <name>ribbon</name> + <ribbonTasks> + <ribbonTask> + <name>TASK_REPORT</name> + </ribbonTask> + </ribbonTasks> + </ribbon> +</report> diff --git a/report/DSGVO_Information_report/reportData.jrxml b/report/DSGVO_Information_report/reportData.jrxml index 48bd484df8bd6cae2b7ae20b2a5c5e74afec0e8b..ec7c1c3b10fe0009ed1de95d042990778d97d464 100644 --- a/report/DSGVO_Information_report/reportData.jrxml +++ b/report/DSGVO_Information_report/reportData.jrxml @@ -2,7 +2,7 @@ <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="DSGVO Information" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="e7a916c8-3f9a-497d-84bb-3909b15271ea"> <property name="ireport.zoom" value="1.5"/> <property name="ireport.x" value="0"/> - <property name="ireport.y" value="86"/> + <property name="ireport.y" value="0"/> <parameter name="adito.image.myLogo" class="java.lang.String"/> <parameter name="myAddress" class="java.lang.String"/> <parameter name="address" class="java.lang.String"/> @@ -10,6 +10,7 @@ <parameter name="dateSaveTill" class="java.lang.String"/> <parameter name="transmission" class="java.lang.String"/> <parameter name="fromOther" class="java.lang.String"/> + <parameter name="dataProtectionOfficer" class="java.lang.String"/> <field name="PURPOSE" class="java.lang.String"/> <field name="STATUORITYSOURCE" class="java.lang.String"/> <field name="VALID_TO" class="java.lang.String"/> @@ -43,7 +44,7 @@ </staticText> <textField isStretchWithOverflow="true"> <reportElement positionType="Float" stretchType="RelativeToBandHeight" x="0" y="214" width="555" height="30" uuid="ade72176-6179-49b1-8d1f-27cfc3ff8da5"/> - <textFieldExpression><![CDATA[$P{salutation} + "\n" + "wir erheben und verarbeiten Ihre personenbezogenen Daten unter den nachfolgend aufgeführten Maßgaben." + $P{fromOther} ]]></textFieldExpression> + <textFieldExpression><![CDATA[$P{salutation} + "\n" + "wir erheben und verarbeiten Ihre personenbezogenen Daten unter den nachfolgend aufgeführten Maßgaben." + $P{fromOther}]]></textFieldExpression> </textField> <staticText> <reportElement positionType="Float" x="0" y="244" width="555" height="20" uuid="d4bc5d80-1493-42cc-9d69-e21891f38780"/> @@ -63,14 +64,6 @@ </textElement> <text><![CDATA[Kontaktdaten des Datenschutzbeauftragten]]></text> </staticText> - <staticText> - <reportElement positionType="Float" x="0" y="304" width="555" height="55" uuid="ec06f2de-4b14-4a18-b00f-597a9c0ff4c5"/> - <textElement verticalAlignment="Top"/> - <text><![CDATA[Herr Max Mustermann -Musterstr. 3 -12345 Musterstadt -Muster-Datenschutzberatung]]></text> - </staticText> <staticText> <reportElement positionType="Float" x="0" y="359" width="555" height="20" uuid="fab9ee98-4994-4370-8d4f-543b15cf9335"/> <textElement verticalAlignment="Middle"> @@ -78,6 +71,10 @@ Muster-Datenschutzberatung]]></text> </textElement> <text><![CDATA[Zweck und Rechtsgrundlagen der Verarbeitung:]]></text> </staticText> + <textField> + <reportElement x="0" y="304" width="553" height="55" uuid="d545be0e-6684-4388-96b7-d6020f9d55d4"/> + <textFieldExpression><![CDATA[$P{dataProtectionOfficer}]]></textFieldExpression> + </textField> </band> </title> <columnHeader>