From 06c641f85ed827e2a7cbce84c410dd4523e3acd3 Mon Sep 17 00:00:00 2001 From: Johannes Hoermann <j.hoermann@adito.de> Date: Fri, 12 Jul 2019 08:44:58 +0200 Subject: [PATCH] fix dsgvo reports --- .../basic/2019.1.4/DSGVO/create_DSGVO.xml | 3 +- .../2019.1.4/DSGVO/init_deadline_keyword.xml | 32 ++++++++++ .../2019.1.4/DSGVO/init_purpose_keyword.xml | 6 +- .../DSGVO/init_transmission_keyword.xml | 32 ++++++++++ .../Data_alias/basic/2019.1.4/changelog.xml | 6 +- aliasDefinition/Data_alias/Data_alias.aod | 14 +++++ entity/DSGVOInfo_entity/DSGVOInfo_entity.aod | 61 ++++++++++++++++++- .../datedeadline/mandatoryProcess.js | 4 +- .../entityfields/datedeadline/stateProcess.js | 17 ++++++ .../daterequest/mandatoryProcess.js | 5 ++ .../entityfields/daterequest/stateProcess.js | 13 ++++ .../entityfields/deadline/mandatoryProcess.js | 5 ++ .../entityfields/deadline/onValueChange.js | 11 ++++ .../entityfields/deadline/stateProcess.js | 13 ++++ .../entityfields/garantee/mandatoryProcess.js | 6 ++ .../entityfields/garantee/stateProcess.js | 13 ++++ .../containername_param/valueProcess.js | 3 + .../containername_param/valueProcess.js | 3 + .../recipient/mandatoryProcess.js | 6 ++ .../entityfields/recipient/stateProcess.js | 15 +++++ .../transmission/onValueChange.js | 11 ++++ .../recordcontainers/db/onDBInsert.js | 10 ++- .../recordcontainers/db/onDBUpdate.js | 3 +- .../transmission.displayvalue/expression.js | 6 ++ .../opendisclosurereport/onActionProcess.js | 19 +++++- .../KeywordEntry_entity.aod | 12 ++++ .../DSGVOInfoEdit_view/DSGVOInfoEdit_view.aod | 12 ++-- process/DataPrivacy_lib/process.js | 59 ++++++++++-------- process/KeywordRegistry_basic/process.js | 8 +++ .../DSGVO_Disclosure_Report/reportData.jrxml | 12 ++-- .../DSGVO_Disclosure_report/reportData.jrxml | 12 ++-- .../DSGVO_Information_report/reportData.jrxml | 6 +- 32 files changed, 380 insertions(+), 58 deletions(-) create mode 100644 .liquibase/Data_alias/basic/2019.1.4/DSGVO/init_deadline_keyword.xml create mode 100644 .liquibase/Data_alias/basic/2019.1.4/DSGVO/init_transmission_keyword.xml create mode 100644 entity/DSGVOInfo_entity/entityfields/datedeadline/stateProcess.js create mode 100644 entity/DSGVOInfo_entity/entityfields/daterequest/mandatoryProcess.js create mode 100644 entity/DSGVOInfo_entity/entityfields/daterequest/stateProcess.js create mode 100644 entity/DSGVOInfo_entity/entityfields/deadline/mandatoryProcess.js create mode 100644 entity/DSGVOInfo_entity/entityfields/deadline/onValueChange.js create mode 100644 entity/DSGVOInfo_entity/entityfields/deadline/stateProcess.js create mode 100644 entity/DSGVOInfo_entity/entityfields/garantee/mandatoryProcess.js create mode 100644 entity/DSGVOInfo_entity/entityfields/garantee/stateProcess.js create mode 100644 entity/DSGVOInfo_entity/entityfields/keyworddeadline/children/containername_param/valueProcess.js create mode 100644 entity/DSGVOInfo_entity/entityfields/keywordtransmission/children/containername_param/valueProcess.js create mode 100644 entity/DSGVOInfo_entity/entityfields/recipient/mandatoryProcess.js create mode 100644 entity/DSGVOInfo_entity/entityfields/recipient/stateProcess.js create mode 100644 entity/DSGVOInfo_entity/entityfields/transmission/onValueChange.js create mode 100644 entity/DSGVOInfo_entity/recordcontainers/db/recordfieldmappings/transmission.displayvalue/expression.js 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 1202164927..648b930429 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 @@ -36,9 +36,10 @@ <column name="CONTACT_ID" type="CHAR(36)"/> <column name="DATASOURCE" type="NVARCHAR(100)" /> - <column name="GARANTEE" type="NVARCHAR(100)" /> + <column name="TRANSMISSION" type="CHAR(36)" /> <column name="RECIPIENT" type="NVARCHAR(100)" /> + <column name="GARANTEE" type="NVARCHAR(100)" /> </createTable> </changeSet> </databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2019.1.4/DSGVO/init_deadline_keyword.xml b/.liquibase/Data_alias/basic/2019.1.4/DSGVO/init_deadline_keyword.xml new file mode 100644 index 0000000000..133c612be1 --- /dev/null +++ b/.liquibase/Data_alias/basic/2019.1.4/DSGVO/init_deadline_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="j.hoermann" id="7edcadc6-d9fa-4156-9df8-7be934db5d9e"> + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="dd955f03-a36d-4217-9449-aa05dcc1e51a"/> + <column name="KEYID" value="DSGVOONTIME"/> + <column name="TITLE" value="On time"/> + <column name="CONTAINER" value="DSGVODeadline"/> + <column name="SORTING" valueNumeric="0"/> + <column name="ISACTIVE" valueNumeric="1"/> + <column name="ISESSENTIAL" valueNumeric="1"/> + </insert> + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="6d361b4d-5cc6-48eb-83ee-4a8573ad466a"/> + <column name="KEYID" value="DSGVODEADLINECOMPLEX"/> + <column name="TITLE" value="Extend - complexity"/> + <column name="CONTAINER" value="DSGVODeadline"/> + <column name="SORTING" valueNumeric="1"/> + <column name="ISACTIVE" valueNumeric="1"/> + <column name="ISESSENTIAL" valueNumeric="1"/> + </insert> + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="32f48ab8-691e-49e6-951b-be088e7c60ff"/> + <column name="KEYID" value="DSGVODEADLINECOUNT"/> + <column name="TITLE" value="Extend - request count"/> + <column name="CONTAINER" value="DSGVODeadline"/> + <column name="SORTING" valueNumeric="2"/> + <column name="ISACTIVE" valueNumeric="1"/> + <column name="ISESSENTIAL" valueNumeric="1"/> + </insert> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2019.1.4/DSGVO/init_purpose_keyword.xml b/.liquibase/Data_alias/basic/2019.1.4/DSGVO/init_purpose_keyword.xml index 7742f8cd01..d638a10e8a 100644 --- a/.liquibase/Data_alias/basic/2019.1.4/DSGVO/init_purpose_keyword.xml +++ b/.liquibase/Data_alias/basic/2019.1.4/DSGVO/init_purpose_keyword.xml @@ -4,7 +4,7 @@ <insert tableName="AB_KEYWORD_ENTRY"> <column name="AB_KEYWORD_ENTRYID" value="5c745e67-6ceb-4dde-9c98-0ff6102fff5a"/> <column name="KEYID" value="DSGVOINTEREST"/> - <column name="TITLE" value="balancing of interests"/> + <column name="TITLE" value="Balancing of interests"/> <column name="CONTAINER" value="DSGVOPurpose"/> <column name="SORTING" valueNumeric="0"/> <column name="ISACTIVE" valueNumeric="1"/> @@ -13,7 +13,7 @@ <insert tableName="AB_KEYWORD_ENTRY"> <column name="AB_KEYWORD_ENTRYID" value="d1c5d5bf-5ce5-4a9a-a5ec-4a7dabd6cf0a"/> <column name="KEYID" value="DSGVONEWS"/> - <column name="TITLE" value="newsletter dispatch"/> + <column name="TITLE" value="Newsletter dispatch"/> <column name="CONTAINER" value="DSGVOPurpose"/> <column name="SORTING" valueNumeric="1"/> <column name="ISACTIVE" valueNumeric="1"/> @@ -22,7 +22,7 @@ <insert tableName="AB_KEYWORD_ENTRY"> <column name="AB_KEYWORD_ENTRYID" value="82fe63e7-14fd-4c07-94fb-6dd05058e570"/> <column name="KEYID" value="DSGVOADS"/> - <column name="TITLE" value="advertising consent"/> + <column name="TITLE" value="Advertising consent"/> <column name="CONTAINER" value="DSGVOPurpose"/> <column name="SORTING" valueNumeric="2"/> <column name="ISACTIVE" valueNumeric="1"/> diff --git a/.liquibase/Data_alias/basic/2019.1.4/DSGVO/init_transmission_keyword.xml b/.liquibase/Data_alias/basic/2019.1.4/DSGVO/init_transmission_keyword.xml new file mode 100644 index 0000000000..9586d595ec --- /dev/null +++ b/.liquibase/Data_alias/basic/2019.1.4/DSGVO/init_transmission_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="j.hoermann" id="651186b0-fc02-499c-9a38-6d12eece0291"> + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="d5b80d62-9c28-4267-ad46-da6bdc021c28"/> + <column name="KEYID" value="DSGVONONE"/> + <column name="TITLE" value="None"/> + <column name="CONTAINER" value="DSGVOTransmission"/> + <column name="SORTING" valueNumeric="0"/> + <column name="ISACTIVE" valueNumeric="1"/> + <column name="ISESSENTIAL" valueNumeric="1"/> + </insert> + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="0914014a-1b85-49dc-9d12-4fcb3ebb6e4a"/> + <column name="KEYID" value="DSGVOINLAND"/> + <column name="TITLE" value="Inland"/> + <column name="CONTAINER" value="DSGVOTransmission"/> + <column name="SORTING" valueNumeric="1"/> + <column name="ISACTIVE" valueNumeric="1"/> + <column name="ISESSENTIAL" valueNumeric="1"/> + </insert> + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="5c94a850-4025-4981-b6bf-0eda7680c820"/> + <column name="KEYID" value="DSGVOFOREIGN"/> + <column name="TITLE" value="Foreign country"/> + <column name="CONTAINER" value="DSGVOTransmission"/> + <column name="SORTING" valueNumeric="2"/> + <column name="ISACTIVE" valueNumeric="1"/> + <column name="ISESSENTIAL" valueNumeric="1"/> + </insert> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2019.1.4/changelog.xml b/.liquibase/Data_alias/basic/2019.1.4/changelog.xml index 4069900e1f..2eefe2f6c4 100644 --- a/.liquibase/Data_alias/basic/2019.1.4/changelog.xml +++ b/.liquibase/Data_alias/basic/2019.1.4/changelog.xml @@ -156,8 +156,10 @@ <include relativeToChangelogFile="true" file="DSGVO/create_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_dsgvoType_keyword.xml"/> - + <include relativeToChangelogFile="true" file="DSGVO/init_dsgvoType_keyword.xml"/> + <include relativeToChangelogFile="true" file="DSGVO/init_deadline_keyword.xml"/> + <include relativeToChangelogFile="true" file="DSGVO/init_transmission_keyword.xml"/> + <include relativeToChangelogFile="true" file="AditoBasic/init_UnlinkedMail.xml"/> <include relativeToChangelogFile="true" file="Attributes/AB_ATTRIBUTE.xml"/> diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod index f8233c9f70..f0a34e7e11 100644 --- a/aliasDefinition/Data_alias/Data_alias.aod +++ b/aliasDefinition/Data_alias/Data_alias.aod @@ -10511,6 +10511,20 @@ <title></title> <description></description> </entityFieldDb> + <entityFieldDb> + <name>TRANSMISSION</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/DSGVOInfo_entity/DSGVOInfo_entity.aod b/entity/DSGVOInfo_entity/DSGVOInfo_entity.aod index 3b5cdee313..521b975ab3 100644 --- a/entity/DSGVOInfo_entity/DSGVOInfo_entity.aod +++ b/entity/DSGVOInfo_entity/DSGVOInfo_entity.aod @@ -10,10 +10,14 @@ <entityField> <name>RECIPIENT</name> <title>Recipient, Country</title> + <mandatoryProcess>%aditoprj%/entity/DSGVOInfo_entity/entityfields/recipient/mandatoryProcess.js</mandatoryProcess> + <stateProcess>%aditoprj%/entity/DSGVOInfo_entity/entityfields/recipient/stateProcess.js</stateProcess> </entityField> <entityField> <name>GARANTEE</name> <title>Garantees</title> + <mandatoryProcess>%aditoprj%/entity/DSGVOInfo_entity/entityfields/garantee/mandatoryProcess.js</mandatoryProcess> + <stateProcess>%aditoprj%/entity/DSGVOInfo_entity/entityfields/garantee/stateProcess.js</stateProcess> </entityField> <entityField> <name>DATASOURCE</name> @@ -49,21 +53,64 @@ <title>Date of request</title> <contentType>DATE</contentType> <resolution>DAY</resolution> + <mandatoryProcess>%aditoprj%/entity/DSGVOInfo_entity/entityfields/daterequest/mandatoryProcess.js</mandatoryProcess> + <stateProcess>%aditoprj%/entity/DSGVOInfo_entity/entityfields/daterequest/stateProcess.js</stateProcess> </entityField> <entityField> <name>deadline</name> <title>Deadline</title> + <consumer>KeywordDeadline</consumer> + <mandatoryProcess>%aditoprj%/entity/DSGVOInfo_entity/entityfields/deadline/mandatoryProcess.js</mandatoryProcess> + <stateProcess>%aditoprj%/entity/DSGVOInfo_entity/entityfields/deadline/stateProcess.js</stateProcess> + <onValueChange>%aditoprj%/entity/DSGVOInfo_entity/entityfields/deadline/onValueChange.js</onValueChange> </entityField> <entityField> <name>dateDeadline</name> - <title>Date Deadline</title> + <title>Extension letter date</title> <contentType>DATE</contentType> <resolution>DAY</resolution> <mandatoryProcess>%aditoprj%/entity/DSGVOInfo_entity/entityfields/datedeadline/mandatoryProcess.js</mandatoryProcess> + <stateProcess>%aditoprj%/entity/DSGVOInfo_entity/entityfields/datedeadline/stateProcess.js</stateProcess> </entityField> + <entityConsumer> + <name>KeywordDeadline</name> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/DSGVOInfo_entity/entityfields/keyworddeadline/children/containername_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>KeywordTransmission</name> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/DSGVOInfo_entity/entityfields/keywordtransmission/children/containername_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> <entityField> - <name>dateSaveTill</name> - <title>Save data until</title> + <name>TRANSMISSION</name> + <title>Transmission</title> + <consumer>KeywordTransmission</consumer> + <mandatory v="true" /> + <onValueChange>%aditoprj%/entity/DSGVOInfo_entity/entityfields/transmission/onValueChange.js</onValueChange> + <onValueChangeTypes> + <element>MASK</element> + <element>PROCESS</element> + <element>PROCESS_SETVALUE</element> + </onValueChangeTypes> </entityField> </entityFields> <recordContainers> @@ -103,6 +150,14 @@ <name>GARANTEE.value</name> <recordfield>DSGVOINFO.GARANTEE</recordfield> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>TRANSMISSION.value</name> + <recordfield>DSGVOINFO.TRANSMISSION</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>TRANSMISSION.displayValue</name> + <expression>%aditoprj%/entity/DSGVOInfo_entity/recordcontainers/db/recordfieldmappings/transmission.displayvalue/expression.js</expression> + </dbRecordFieldMapping> </recordFieldMappings> </dbRecordContainer> </recordContainers> diff --git a/entity/DSGVOInfo_entity/entityfields/datedeadline/mandatoryProcess.js b/entity/DSGVOInfo_entity/entityfields/datedeadline/mandatoryProcess.js index 2d40271231..8e9fc2d607 100644 --- a/entity/DSGVOInfo_entity/entityfields/datedeadline/mandatoryProcess.js +++ b/entity/DSGVOInfo_entity/entityfields/datedeadline/mandatoryProcess.js @@ -1,4 +1,6 @@ +import("DataPrivacy_lib"); +import("KeywordRegistry_basic"); import("system.vars"); import("system.result"); -result.object(vars.get("$field.deadline") != ""); \ 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/datedeadline/stateProcess.js b/entity/DSGVOInfo_entity/entityfields/datedeadline/stateProcess.js new file mode 100644 index 0000000000..3c440e90a8 --- /dev/null +++ b/entity/DSGVOInfo_entity/entityfields/datedeadline/stateProcess.js @@ -0,0 +1,17 @@ +import("DataPrivacy_lib"); +import("system.result"); +import("system.vars"); +import("system.neon"); +import("KeywordRegistry_basic"); + +if (vars.get("$param.ReportType_param") == DataPrivacyUtils.DisclosureReportName()) +{ + if (vars.get("$field.deadline") && vars.get("$field.deadline") != $KeywordRegistry.DSGVODeadline$onTime()) + result.string(neon.COMPONENTSTATE_EDITABLE); + else + result.string(neon.COMPONENTSTATE_DISABLED); +} +else +{ + result.string(neon.COMPONENTSTATE_INVISIBLE); +} \ No newline at end of file diff --git a/entity/DSGVOInfo_entity/entityfields/daterequest/mandatoryProcess.js b/entity/DSGVOInfo_entity/entityfields/daterequest/mandatoryProcess.js new file mode 100644 index 0000000000..2626b4d3f2 --- /dev/null +++ b/entity/DSGVOInfo_entity/entityfields/daterequest/mandatoryProcess.js @@ -0,0 +1,5 @@ +import("DataPrivacy_lib"); +import("system.vars"); +import("system.result"); + +result.object(vars.get("$param.ReportType_param") == DataPrivacyUtils.DisclosureReportName()) \ No newline at end of file diff --git a/entity/DSGVOInfo_entity/entityfields/daterequest/stateProcess.js b/entity/DSGVOInfo_entity/entityfields/daterequest/stateProcess.js new file mode 100644 index 0000000000..c61d0e1c37 --- /dev/null +++ b/entity/DSGVOInfo_entity/entityfields/daterequest/stateProcess.js @@ -0,0 +1,13 @@ +import("DataPrivacy_lib"); +import("system.result"); +import("system.vars"); +import("system.neon"); + +if (vars.get("$param.ReportType_param") == DataPrivacyUtils.DisclosureReportName()) +{ + result.string(neon.COMPONENTSTATE_AUTO); +} +else +{ + result.string(neon.COMPONENTSTATE_INVISIBLE); +} \ No newline at end of file diff --git a/entity/DSGVOInfo_entity/entityfields/deadline/mandatoryProcess.js b/entity/DSGVOInfo_entity/entityfields/deadline/mandatoryProcess.js new file mode 100644 index 0000000000..fda7b3afe9 --- /dev/null +++ b/entity/DSGVOInfo_entity/entityfields/deadline/mandatoryProcess.js @@ -0,0 +1,5 @@ +import("DataPrivacy_lib"); +import("system.vars"); +import("system.result"); + +result.object(vars.get("$param.ReportType_param") == DataPrivacyUtils.DisclosureReportName()); \ No newline at end of file diff --git a/entity/DSGVOInfo_entity/entityfields/deadline/onValueChange.js b/entity/DSGVOInfo_entity/entityfields/deadline/onValueChange.js new file mode 100644 index 0000000000..0ad233b2ec --- /dev/null +++ b/entity/DSGVOInfo_entity/entityfields/deadline/onValueChange.js @@ -0,0 +1,11 @@ +import("KeywordRegistry_basic"); +import("system.vars"); +import("system.neon"); + +if (vars.get("$this.value") == $KeywordRegistry.DSGVODeadline$onTime()()) +{ + neon.setFieldValues({ + "$field.RECIPIENT": "", + "$field.GARANTEE": "" + }) +} \ No newline at end of file diff --git a/entity/DSGVOInfo_entity/entityfields/deadline/stateProcess.js b/entity/DSGVOInfo_entity/entityfields/deadline/stateProcess.js new file mode 100644 index 0000000000..c61d0e1c37 --- /dev/null +++ b/entity/DSGVOInfo_entity/entityfields/deadline/stateProcess.js @@ -0,0 +1,13 @@ +import("DataPrivacy_lib"); +import("system.result"); +import("system.vars"); +import("system.neon"); + +if (vars.get("$param.ReportType_param") == DataPrivacyUtils.DisclosureReportName()) +{ + result.string(neon.COMPONENTSTATE_AUTO); +} +else +{ + result.string(neon.COMPONENTSTATE_INVISIBLE); +} \ No newline at end of file diff --git a/entity/DSGVOInfo_entity/entityfields/garantee/mandatoryProcess.js b/entity/DSGVOInfo_entity/entityfields/garantee/mandatoryProcess.js new file mode 100644 index 0000000000..24ffcc8224 --- /dev/null +++ b/entity/DSGVOInfo_entity/entityfields/garantee/mandatoryProcess.js @@ -0,0 +1,6 @@ +import("system.result"); +import("system.vars"); +import("system.neon"); +import("KeywordRegistry_basic"); + +result.object(vars.get("$field.TRANSMISSION") != $KeywordRegistry.DSGVOTransmission$none()); \ No newline at end of file diff --git a/entity/DSGVOInfo_entity/entityfields/garantee/stateProcess.js b/entity/DSGVOInfo_entity/entityfields/garantee/stateProcess.js new file mode 100644 index 0000000000..746df316c9 --- /dev/null +++ b/entity/DSGVOInfo_entity/entityfields/garantee/stateProcess.js @@ -0,0 +1,13 @@ +import("system.result"); +import("system.vars"); +import("system.neon"); +import("KeywordRegistry_basic"); + +if (vars.get("$field.TRANSMISSION") != $KeywordRegistry.DSGVOTransmission$none()) +{ + result.string(neon.COMPONENTSTATE_EDITABLE); +} +else +{ + result.string(neon.COMPONENTSTATE_DISABLED); +} \ No newline at end of file diff --git a/entity/DSGVOInfo_entity/entityfields/keyworddeadline/children/containername_param/valueProcess.js b/entity/DSGVOInfo_entity/entityfields/keyworddeadline/children/containername_param/valueProcess.js new file mode 100644 index 0000000000..e92b0e1945 --- /dev/null +++ b/entity/DSGVOInfo_entity/entityfields/keyworddeadline/children/containername_param/valueProcess.js @@ -0,0 +1,3 @@ +import("system.result"); + +result.string("DSGVODeadline"); \ No newline at end of file diff --git a/entity/DSGVOInfo_entity/entityfields/keywordtransmission/children/containername_param/valueProcess.js b/entity/DSGVOInfo_entity/entityfields/keywordtransmission/children/containername_param/valueProcess.js new file mode 100644 index 0000000000..8afefec346 --- /dev/null +++ b/entity/DSGVOInfo_entity/entityfields/keywordtransmission/children/containername_param/valueProcess.js @@ -0,0 +1,3 @@ +import("system.result"); + +result.string("DSGVOTransmission"); \ No newline at end of file diff --git a/entity/DSGVOInfo_entity/entityfields/recipient/mandatoryProcess.js b/entity/DSGVOInfo_entity/entityfields/recipient/mandatoryProcess.js new file mode 100644 index 0000000000..4f7af0e1da --- /dev/null +++ b/entity/DSGVOInfo_entity/entityfields/recipient/mandatoryProcess.js @@ -0,0 +1,6 @@ +import("system.result"); +import("system.vars"); +import("system.neon"); +import("KeywordRegistry_basic"); + +result.object(vars.get("$field.TRANSMISSION") && vars.get("$field.TRANSMISSION") != $KeywordRegistry.DSGVOTransmission$none()); \ No newline at end of file diff --git a/entity/DSGVOInfo_entity/entityfields/recipient/stateProcess.js b/entity/DSGVOInfo_entity/entityfields/recipient/stateProcess.js new file mode 100644 index 0000000000..6a3687894c --- /dev/null +++ b/entity/DSGVOInfo_entity/entityfields/recipient/stateProcess.js @@ -0,0 +1,15 @@ +import("system.logging"); +import("system.result"); +import("system.vars"); +import("system.neon"); +import("KeywordRegistry_basic"); + +if (vars.get("$field.TRANSMISSION") && vars.get("$field.TRANSMISSION") != $KeywordRegistry.DSGVOTransmission$none()) +{ + result.string(neon.COMPONENTSTATE_EDITABLE); +} +else +{ + logging.log("DISABLE res"); + result.string(neon.COMPONENTSTATE_DISABLED); +} \ No newline at end of file diff --git a/entity/DSGVOInfo_entity/entityfields/transmission/onValueChange.js b/entity/DSGVOInfo_entity/entityfields/transmission/onValueChange.js new file mode 100644 index 0000000000..5c5bf7d44a --- /dev/null +++ b/entity/DSGVOInfo_entity/entityfields/transmission/onValueChange.js @@ -0,0 +1,11 @@ +import("KeywordRegistry_basic"); +import("system.vars"); +import("system.neon"); + +if (vars.get("$this.value") == $KeywordRegistry.DSGVOTransmission$none()) +{ + neon.setFieldValues({ + "$field.RECIPIENT": "", + "$field.GARANTEE": "" + }) +} \ No newline at end of file diff --git a/entity/DSGVOInfo_entity/recordcontainers/db/onDBInsert.js b/entity/DSGVOInfo_entity/recordcontainers/db/onDBInsert.js index 00ff3c0d82..1bd107f2c1 100644 --- a/entity/DSGVOInfo_entity/recordcontainers/db/onDBInsert.js +++ b/entity/DSGVOInfo_entity/recordcontainers/db/onDBInsert.js @@ -2,4 +2,12 @@ import("system.vars"); import("DataPrivacy_lib"); if (vars.get("$param.ReportType_param")) - DataPrivacyUtils.openReport(vars.get("$param.ContactId_param"), vars.get("$param.ReportType_param")); \ No newline at end of file + DataPrivacyUtils.openReport(vars.get("$param.ContactId_param"), vars.get("$param.ReportType_param"), { + datasource: vars.get("$field.DATASOURCE"), + transmission: vars.get("$field.TRANSMISSION"), + recipient: vars.get("$field.RECIPIENT"), + garantees: vars.get("$field.GARANTEE"), + requestDate: vars.get("$field.dateRequest"), + deadline: vars.get("$field.deadline"), + deadlineDate: vars.get("$field.dateDeadline") + }); \ No newline at end of file diff --git a/entity/DSGVOInfo_entity/recordcontainers/db/onDBUpdate.js b/entity/DSGVOInfo_entity/recordcontainers/db/onDBUpdate.js index ddac3121c2..1bd107f2c1 100644 --- a/entity/DSGVOInfo_entity/recordcontainers/db/onDBUpdate.js +++ b/entity/DSGVOInfo_entity/recordcontainers/db/onDBUpdate.js @@ -4,8 +4,9 @@ import("DataPrivacy_lib"); if (vars.get("$param.ReportType_param")) DataPrivacyUtils.openReport(vars.get("$param.ContactId_param"), vars.get("$param.ReportType_param"), { datasource: vars.get("$field.DATASOURCE"), - garantees: vars.get("$field.GARANTEE"), + transmission: vars.get("$field.TRANSMISSION"), recipient: vars.get("$field.RECIPIENT"), + garantees: vars.get("$field.GARANTEE"), requestDate: vars.get("$field.dateRequest"), deadline: vars.get("$field.deadline"), deadlineDate: vars.get("$field.dateDeadline") diff --git a/entity/DSGVOInfo_entity/recordcontainers/db/recordfieldmappings/transmission.displayvalue/expression.js b/entity/DSGVOInfo_entity/recordcontainers/db/recordfieldmappings/transmission.displayvalue/expression.js new file mode 100644 index 0000000000..7c9e6a4cde --- /dev/null +++ b/entity/DSGVOInfo_entity/recordcontainers/db/recordfieldmappings/transmission.displayvalue/expression.js @@ -0,0 +1,6 @@ +import("system.result"); +import("Keyword_lib"); +import("KeywordRegistry_basic"); + +var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.DSGVOTransmission(), "DSGVOINFO.TRANSMISSION"); +result.string(sql); diff --git a/entity/DSGVO_entity/entityfields/reports/children/opendisclosurereport/onActionProcess.js b/entity/DSGVO_entity/entityfields/reports/children/opendisclosurereport/onActionProcess.js index 91af33e608..b92d3e414a 100644 --- a/entity/DSGVO_entity/entityfields/reports/children/opendisclosurereport/onActionProcess.js +++ b/entity/DSGVO_entity/entityfields/reports/children/opendisclosurereport/onActionProcess.js @@ -1,4 +1,21 @@ import("system.vars"); import("DataPrivacy_lib"); +import("system.neon"); +import("system.entities"); -DataPrivacyUtils.openReport(vars.get("$param.ContactId_param"), "DSGVO_Disclosure_Report"); \ No newline at end of file +var conf = entities.createConfigForLoadingRows() + .entity("DSGVOInfo_entity") + .provider("DSGVOInfos") + .addParameter("ContactId_param", vars.get("$field.CONTACT_ID")); + +var mode = neon.OPERATINGSTATE_NEW; +if (entities.getRowCount(conf) > 0) +{ + mode = neon.OPERATINGSTATE_EDIT; +} + +neon.openContext("DSGVOInfo", "DSGVOInfoEdit_view", null, mode, + { + ContactId_param: vars.get("$field.CONTACT_ID"), + ReportType_param: DataPrivacyUtils.DisclosureReportName() + }); \ No newline at end of file diff --git a/entity/KeywordEntry_entity/KeywordEntry_entity.aod b/entity/KeywordEntry_entity/KeywordEntry_entity.aod index 207554b130..1f316b8732 100644 --- a/entity/KeywordEntry_entity/KeywordEntry_entity.aod +++ b/entity/KeywordEntry_entity/KeywordEntry_entity.aod @@ -444,6 +444,18 @@ <fieldName>StatusKeyword</fieldName> <isConsumer v="false" /> </entityDependency> + <entityDependency> + <name>41fd8fd4-7285-4493-9a56-cc0c44353057</name> + <entityName>DSGVOInfo_entity</entityName> + <fieldName>KeywordDeadline</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>1cbfe51f-43c3-4e99-895f-673097915249</name> + <entityName>DSGVOInfo_entity</entityName> + <fieldName>KeywordTransmission</fieldName> + <isConsumer v="false" /> + </entityDependency> </dependencies> <children> <entityParameter> diff --git a/neonView/DSGVOInfoEdit_view/DSGVOInfoEdit_view.aod b/neonView/DSGVOInfoEdit_view/DSGVOInfoEdit_view.aod index 31ecce951e..2916545905 100644 --- a/neonView/DSGVOInfoEdit_view/DSGVOInfoEdit_view.aod +++ b/neonView/DSGVOInfoEdit_view/DSGVOInfoEdit_view.aod @@ -17,16 +17,20 @@ <entityField>#ENTITY</entityField> <fields> <entityFieldLink> - <name>c655e773-4d81-4d11-b014-52da00f54eba</name> - <entityField>DATASOURCE</entityField> + <name>a6560818-1df9-4a7c-b01e-6a7b14efa515</name> + <entityField>TRANSMISSION</entityField> + </entityFieldLink> + <entityFieldLink> + <name>0ce09906-6bfe-4f9c-a3d9-7aa76acda2fa</name> + <entityField>RECIPIENT</entityField> </entityFieldLink> <entityFieldLink> <name>75fc7de5-9204-4102-8ecf-5975b1fcbe6a</name> <entityField>GARANTEE</entityField> </entityFieldLink> <entityFieldLink> - <name>0ce09906-6bfe-4f9c-a3d9-7aa76acda2fa</name> - <entityField>RECIPIENT</entityField> + <name>c655e773-4d81-4d11-b014-52da00f54eba</name> + <entityField>DATASOURCE</entityField> </entityFieldLink> </fields> </genericViewTemplate> diff --git a/process/DataPrivacy_lib/process.js b/process/DataPrivacy_lib/process.js index eeaf6e9e4e..d3fdad0ed4 100644 --- a/process/DataPrivacy_lib/process.js +++ b/process/DataPrivacy_lib/process.js @@ -387,6 +387,10 @@ DataPrivacyUtils.informationReport = function(pContactId, pLocale) //////////////////////////////////////////////////////////////////////// // Deprecated functions: +DataPrivacyUtils.DisclosureReportName = function() { + return "DSGVO_Disclosure_report"; +} + DataPrivacyUtils.openReport = function(pContactId, pReportName, pDSGVOInfo, pLocale) { var DSGVOReport = new Report(pReportName); @@ -400,42 +404,42 @@ DataPrivacyUtils.openReport = function(pContactId, pReportName, pDSGVOInfo, pLoc .buildSql("select DSGVOID, ROW_ID, STATUORITYSOURCE, PURPOSE, TABLENAME, VALID_TO, CONTACT_ID " + "from DSGVO", "1 = 1")*/ - var dsgvoData = DataPrivacyUtils.dataForExport(pContactId, pLocale) - // getDSGVOTypes / -Values - - // TODO Parameter und Felder - // params: adito.image.myLogo, myAddress, address, salutation, dateRequest, deadline, dateSaveTill, transmission, fromOther - // Felder PURPOSE, STATUORITYSOURCE, VALID_TO, DSGVOTYPE, VALUE - - /* datasource: vars.get("$field.DATASOURCE"), - garantees: vars.get("$field.GARANTEE"), - recipient: vars.get("$field.RECIPIENT"), - requestDate: vars.get("$field.dateRequest"), - deadline: vars.get("$field.deadline"), - deadlineDate: vars.get("$field.dateDeadline")*/ - - var addrObject = new AddrObject(pContactId); + var dsgvoData = DataPrivacyUtils.dataForExport(pContactId, pLocale); + // text for transmission var transmission = ""; - - if (pDSGVOInfo.recipient) + if (pDSGVOInfo.transmission != $KeywordRegistry.DSGVOTransmission$none()) { - transmission = translate.text("The data is transmitted to the following receivers: ", pLocale); - transmission += pDSGVOInfo.recipient; - if (pDSGVOInfo.garantees) + transmission = translate.text("The data is transmitted to the following recipients:", pLocale); + transmission += " " + pDSGVOInfo.recipient; + if (pDSGVOInfo.transmission == $KeywordRegistry.DSGVOTransmission$foreign()) { - transmission += "\n" + translate.text("The transmission of the data " + - "to receivers in third countries, " - + "are based on the following garantees: \n" + pDSGVOInfo.garantees, pLocale); + transmission += "\n" + translate.text("The transfer of data to recipients located in a third country is based on the following guarantees:", pLocale) + + "\n" + pDSGVOInfo.garantees; } } + // text for other datasource var datasource = ""; if (pDSGVOInfo.datasource) { datasource = translate.text("We received data from " + pDSGVOInfo.datasource + ".", pLocale); } + // text for deadline + var deadline = ""; + if(pDSGVOInfo.deadline == $KeywordRegistry.DSGVODeadline$onTime()) + deadline = translate.text("We hereby comply with your request within the statutory period of one month.", pLocale); + else + { + deadline = translate.withArguments("As stated in our letter of %0, we have made use of the possibility to extend the deadline to three months due to %1.", + [datetime.toDate(pDSGVOInfo.deadlineDate, translate.text("dd.MM.yyyy", pLocale)), + (pDSGVOInfo.deadline == $KeywordRegistry.DSGVODeadline$complex() ? translate.text("the high complexity of your application", pLocale) + : + (pDSGVOInfo.deadline == $KeywordRegistry.DSGVODeadline$count() ? translate.text("the number of your applications", pLocale) : "")) + ], pLocale) + } + var saveTill = datetime.toDate(db.cell( SqlCondition.begin() .andPrepare("DSGVO.CONTACT_ID", pContactId) @@ -443,18 +447,21 @@ DataPrivacyUtils.openReport = function(pContactId, pReportName, pDSGVOInfo, pLoc translate.text("dd.MM.yyyy", pLocale), "UTC"); saveTill = translate.text("We save your data until " + saveTill + "."); + var addrObject = new AddrObject(pContactId); 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},"), // ggf. lettersalutation -> Contact - "dateRequest" : pDSGVOInfo.requestDate, - "deadline" : pDSGVOInfo.deadline, + "salutation" : addrObject.getFormattedAddress(undefined, "{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() }; + logging.log("jjj " + transmission); + DSGVOReport.setReportData(ReportData.begin(dsgvoData[0]).add(dsgvoData[1])); DSGVOReport.addImage("myLogo", imgData[1]); DSGVOReport.addReportParams(params); diff --git a/process/KeywordRegistry_basic/process.js b/process/KeywordRegistry_basic/process.js index 5c3e985424..62ad9e2e71 100644 --- a/process/KeywordRegistry_basic/process.js +++ b/process/KeywordRegistry_basic/process.js @@ -133,6 +133,14 @@ $KeywordRegistry.DSGVOPurpose = function(){return "DSGVOPurpose";}; $KeywordRegistry.DSGVOStatuoritysource = function(){return "DSGVOStatuoritysource";}; $KeywordRegistry.DSGVOType = function() {return "DSGVOType";}; $KeywordRegistry.DSGVOType$birth = function() {return "TYPE_BIRTH ";}; +$KeywordRegistry.DSGVOTransmission = function() {return "DSGVOTransmission";}; +$KeywordRegistry.DSGVOTransmission$none = function() {return "DSGVONONE ";}; +$KeywordRegistry.DSGVOTransmission$inland = function() {return "DSGVOINLAND ";}; +$KeywordRegistry.DSGVOTransmission$foreign = function() {return "DSGVOFOREIGN ";}; +$KeywordRegistry.DSGVODeadline = function() {return "DSGVODeadline";}; +$KeywordRegistry.DSGVODeadline$onTime = function() {return "DSGVOONTIME ";}; +$KeywordRegistry.DSGVODeadline$complex = function() {return "DSGVODEADLINECOMPLEX ";}; +$KeywordRegistry.DSGVODeadline$count = function() {return "DSGVODEADLINECOUNT ";}; $KeywordRegistry.textPlaceholder = function(){return "textPlaceholder";}; $KeywordRegistry.communicationMediumCampaign = function(){return "CommunicationMediumCampaign";}; diff --git a/report/DSGVO_Disclosure_Report/reportData.jrxml b/report/DSGVO_Disclosure_Report/reportData.jrxml index 2123373790..2f970ea50e 100644 --- a/report/DSGVO_Disclosure_Report/reportData.jrxml +++ b/report/DSGVO_Disclosure_Report/reportData.jrxml @@ -27,7 +27,7 @@ <imageExpression><![CDATA[$P{adito.image.myLogo}]]></imageExpression> </image> <textField isBlankWhenNull="true"> - <reportElement x="0" y="87" width="555" height="20" isRemoveLineWhenBlank="true" uuid="5feb759e-dfed-4f10-87ff-4793532fe9b3"/> + <reportElement positionType="Float" x="0" y="87" width="555" height="20" isRemoveLineWhenBlank="true" uuid="5feb759e-dfed-4f10-87ff-4793532fe9b3"/> <textElement textAlignment="Center"/> <textFieldExpression><![CDATA[$P{myAddress}]]></textFieldExpression> </textField> @@ -110,7 +110,7 @@ <textFieldExpression><![CDATA[$F{DSGVOTYPE}]]></textFieldExpression> </textField> <textField isStretchWithOverflow="true" isBlankWhenNull="true"> - <reportElement x="100" y="0" width="140" height="20" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" uuid="ec714c33-cd92-47d0-81f4-3b71f907b99a"/> + <reportElement positionType="Float" x="100" y="0" width="140" height="20" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" uuid="ec714c33-cd92-47d0-81f4-3b71f907b99a"/> <textFieldExpression><![CDATA[$F{VALUE}]]></textFieldExpression> </textField> <textField isStretchWithOverflow="true" pattern="dd/MM/yyyy" isBlankWhenNull="true"> @@ -132,22 +132,22 @@ <summary> <band height="140" splitType="Stretch"> <textField isStretchWithOverflow="true" isBlankWhenNull="true"> - <reportElement x="0" y="0" width="555" height="20" isRemoveLineWhenBlank="true" uuid="7d1badbc-5905-47ec-91fa-8976e3ac67bd"/> + <reportElement positionType="Float" x="0" y="0" width="555" height="20" isRemoveLineWhenBlank="true" uuid="7d1badbc-5905-47ec-91fa-8976e3ac67bd"/> <textElement verticalAlignment="Middle"/> <textFieldExpression><![CDATA[$P{transmission}]]></textFieldExpression> </textField> <textField isStretchWithOverflow="true" isBlankWhenNull="true"> - <reportElement x="0" y="20" width="555" height="20" isRemoveLineWhenBlank="true" uuid="336b94c1-9231-476f-a8e9-ded8d7aec735"/> + <reportElement positionType="Float" x="0" y="20" width="555" height="20" isRemoveLineWhenBlank="true" uuid="336b94c1-9231-476f-a8e9-ded8d7aec735"/> <textElement verticalAlignment="Middle"/> <textFieldExpression><![CDATA[$P{dateSaveTill}]]></textFieldExpression> </textField> <textField isStretchWithOverflow="true" isBlankWhenNull="true"> - <reportElement x="0" y="40" width="555" height="20" isRemoveLineWhenBlank="true" uuid="714d35da-ad22-430b-94bc-99395bce17d6"/> + <reportElement positionType="Float" x="0" y="40" width="555" height="20" isRemoveLineWhenBlank="true" uuid="714d35da-ad22-430b-94bc-99395bce17d6"/> <textElement verticalAlignment="Middle"/> <textFieldExpression><![CDATA[$P{fromOther}]]></textFieldExpression> </textField> <staticText> - <reportElement x="0" y="60" width="555" height="80" isRemoveLineWhenBlank="true" uuid="00e4681e-0f37-474f-8581-36209329ca0e"/> + <reportElement positionType="Float" x="0" y="60" width="555" height="80" isRemoveLineWhenBlank="true" uuid="00e4681e-0f37-474f-8581-36209329ca0e"/> <text><![CDATA[Nach der Datenschutz-Grundverordnung stehen Ihnen folgende Rechte zu: Werden Ihre personenbezogenen Daten verarbeitet, so haben Sie das Recht Auskunft über die zu Ihrer Person gespeicherten Daten zu erhalten (Art. 15 DSGVO). Sollten unrichtige personenbezogene Daten verarbeitet werden, steht Ihnen ein Recht auf Berichtigung zu (Art. 16 DSGVO). Liegen die gesetzlichen Voraussetzungen vor, so können Sie die Löschung oder Einschränkung der Verarbeitung verlangen sowie Widerspruch gegen die Verarbeitung einlegen (Art. 17, 18 und 21 DSGVO). Wenn Sie in die Datenverarbeitung eingewilligt haben oder ein Vertrag zur Datenverarbeitung besteht und die Datenverarbeitung mithilfe automatisierter Verfahren durchgeführt wird, steht Ihnen gegebenenfalls ein Recht auf Datenübertragbarkeit zu (Art. 20 DSGVO). diff --git a/report/DSGVO_Disclosure_report/reportData.jrxml b/report/DSGVO_Disclosure_report/reportData.jrxml index 2123373790..2f970ea50e 100644 --- a/report/DSGVO_Disclosure_report/reportData.jrxml +++ b/report/DSGVO_Disclosure_report/reportData.jrxml @@ -27,7 +27,7 @@ <imageExpression><![CDATA[$P{adito.image.myLogo}]]></imageExpression> </image> <textField isBlankWhenNull="true"> - <reportElement x="0" y="87" width="555" height="20" isRemoveLineWhenBlank="true" uuid="5feb759e-dfed-4f10-87ff-4793532fe9b3"/> + <reportElement positionType="Float" x="0" y="87" width="555" height="20" isRemoveLineWhenBlank="true" uuid="5feb759e-dfed-4f10-87ff-4793532fe9b3"/> <textElement textAlignment="Center"/> <textFieldExpression><![CDATA[$P{myAddress}]]></textFieldExpression> </textField> @@ -110,7 +110,7 @@ <textFieldExpression><![CDATA[$F{DSGVOTYPE}]]></textFieldExpression> </textField> <textField isStretchWithOverflow="true" isBlankWhenNull="true"> - <reportElement x="100" y="0" width="140" height="20" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" uuid="ec714c33-cd92-47d0-81f4-3b71f907b99a"/> + <reportElement positionType="Float" x="100" y="0" width="140" height="20" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" uuid="ec714c33-cd92-47d0-81f4-3b71f907b99a"/> <textFieldExpression><![CDATA[$F{VALUE}]]></textFieldExpression> </textField> <textField isStretchWithOverflow="true" pattern="dd/MM/yyyy" isBlankWhenNull="true"> @@ -132,22 +132,22 @@ <summary> <band height="140" splitType="Stretch"> <textField isStretchWithOverflow="true" isBlankWhenNull="true"> - <reportElement x="0" y="0" width="555" height="20" isRemoveLineWhenBlank="true" uuid="7d1badbc-5905-47ec-91fa-8976e3ac67bd"/> + <reportElement positionType="Float" x="0" y="0" width="555" height="20" isRemoveLineWhenBlank="true" uuid="7d1badbc-5905-47ec-91fa-8976e3ac67bd"/> <textElement verticalAlignment="Middle"/> <textFieldExpression><![CDATA[$P{transmission}]]></textFieldExpression> </textField> <textField isStretchWithOverflow="true" isBlankWhenNull="true"> - <reportElement x="0" y="20" width="555" height="20" isRemoveLineWhenBlank="true" uuid="336b94c1-9231-476f-a8e9-ded8d7aec735"/> + <reportElement positionType="Float" x="0" y="20" width="555" height="20" isRemoveLineWhenBlank="true" uuid="336b94c1-9231-476f-a8e9-ded8d7aec735"/> <textElement verticalAlignment="Middle"/> <textFieldExpression><![CDATA[$P{dateSaveTill}]]></textFieldExpression> </textField> <textField isStretchWithOverflow="true" isBlankWhenNull="true"> - <reportElement x="0" y="40" width="555" height="20" isRemoveLineWhenBlank="true" uuid="714d35da-ad22-430b-94bc-99395bce17d6"/> + <reportElement positionType="Float" x="0" y="40" width="555" height="20" isRemoveLineWhenBlank="true" uuid="714d35da-ad22-430b-94bc-99395bce17d6"/> <textElement verticalAlignment="Middle"/> <textFieldExpression><![CDATA[$P{fromOther}]]></textFieldExpression> </textField> <staticText> - <reportElement x="0" y="60" width="555" height="80" isRemoveLineWhenBlank="true" uuid="00e4681e-0f37-474f-8581-36209329ca0e"/> + <reportElement positionType="Float" x="0" y="60" width="555" height="80" isRemoveLineWhenBlank="true" uuid="00e4681e-0f37-474f-8581-36209329ca0e"/> <text><![CDATA[Nach der Datenschutz-Grundverordnung stehen Ihnen folgende Rechte zu: Werden Ihre personenbezogenen Daten verarbeitet, so haben Sie das Recht Auskunft über die zu Ihrer Person gespeicherten Daten zu erhalten (Art. 15 DSGVO). Sollten unrichtige personenbezogene Daten verarbeitet werden, steht Ihnen ein Recht auf Berichtigung zu (Art. 16 DSGVO). Liegen die gesetzlichen Voraussetzungen vor, so können Sie die Löschung oder Einschränkung der Verarbeitung verlangen sowie Widerspruch gegen die Verarbeitung einlegen (Art. 17, 18 und 21 DSGVO). Wenn Sie in die Datenverarbeitung eingewilligt haben oder ein Vertrag zur Datenverarbeitung besteht und die Datenverarbeitung mithilfe automatisierter Verfahren durchgeführt wird, steht Ihnen gegebenenfalls ein Recht auf Datenübertragbarkeit zu (Art. 20 DSGVO). diff --git a/report/DSGVO_Information_report/reportData.jrxml b/report/DSGVO_Information_report/reportData.jrxml index 9a475d2681..48bd484df8 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="165"/> + <property name="ireport.y" value="86"/> <parameter name="adito.image.myLogo" class="java.lang.String"/> <parameter name="myAddress" class="java.lang.String"/> <parameter name="address" class="java.lang.String"/> @@ -37,7 +37,7 @@ <staticText> <reportElement positionType="Float" x="0" y="184" width="555" height="30" uuid="b840456d-93dc-4fe0-b503-89d6608ddcaf"/> <textElement> - <font isBold="true"/> + <font fontName="SansSerif" isBold="true"/> </textElement> <text><![CDATA[Betreff: Informationspflichten nach Art. 13 DSGVO]]></text> </staticText> @@ -181,7 +181,7 @@ Muster-Datenschutzberatung]]></text> </staticText> <staticText> <reportElement positionType="Float" x="0" y="20" width="555" height="20" isRemoveLineWhenBlank="true" uuid="56982baa-a975-4ecc-8bb2-53deb057d995"> - <printWhenExpression><![CDATA[$P{transmission} == ""]]></printWhenExpression> + <printWhenExpression><![CDATA[!$P{transmission}.equals("")]]></printWhenExpression> </reportElement> <text><![CDATA[Es erfolgt keine Weitergabe von Daten.]]></text> </staticText> -- GitLab