Skip to content
Snippets Groups Projects
Commit d0b7b7da authored by Maximilian Hofmann's avatar Maximilian Hofmann
Browse files

new keyword, new column in DSGVO, Report

parent 316b073a
No related branches found
No related tags found
No related merge requests found
Showing
with 465 additions and 178 deletions
......@@ -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)">
......
<?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
<?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>
......@@ -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>
......@@ -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>
......
......@@ -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>
import("system.logging");
import("system.vars");
import("Keyword_lib")
import("KeywordRegistry_basic");
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
import("system.result");
import("system.vars");
import("DSGVO_lib");
result.object(getDSGVOTable(vars.get("$param.currentPerson_param"), "medium"));
\ No newline at end of file
import("system.result");
import("system.vars");
import("KeywordRegistry_basic");
import("Keyword_lib");
import("KeywordRegistry_basic");
result.string(KeywordUtils.getViewValue($KeywordRegistry.DSGVOTablename(), vars.get("$field.TABLENAME")));
\ No newline at end of file
var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.DSGVOType(), "DSGVO.TYPE");
result.string(sql);
\ No newline at end of file
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
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;
}
}
......@@ -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>
......
......@@ -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>
......
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){
......
......@@ -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";};
......
<?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>
......
File suppressed by a .gitattributes entry or the file's encoding is unsupported.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment