From 7ca84d4da663b4f1dbc80a12ad082872f43e59bf Mon Sep 17 00:00:00 2001 From: Johannes Hoermann <j.hoermann@adito.de> Date: Tue, 9 Jul 2019 16:42:19 +0200 Subject: [PATCH] use loadEntity for some dataPrivacy fields --- process/Address_lib/process.js | 3 + process/DataPrivacy_lib/process.js | 89 ++++++++++++------------------ 2 files changed, 38 insertions(+), 54 deletions(-) diff --git a/process/Address_lib/process.js b/process/Address_lib/process.js index d1a52330e8..03a36d8112 100644 --- a/process/Address_lib/process.js +++ b/process/Address_lib/process.js @@ -10,6 +10,8 @@ import("Sql_lib"); import("Util_lib"); import("DocumentTemplate_lib"); + +// TODO: muss überarbeitet werden / evtl neu gemacht werden /* * Creates a Address Object * @@ -240,6 +242,7 @@ function fetchAddressData( pCondition, pConfig, AddressID, pPerson ) } data = [ data, output, header, addrfields ]; } + logging.log(data.toSource()); return data; } diff --git a/process/DataPrivacy_lib/process.js b/process/DataPrivacy_lib/process.js index 15d99fb1f8..515c129f0e 100644 --- a/process/DataPrivacy_lib/process.js +++ b/process/DataPrivacy_lib/process.js @@ -1,3 +1,5 @@ +import("Util_lib"); +import("PostalAddress_lib"); import("system.text"); import("system.question"); import("Attribute_lib"); @@ -115,77 +117,56 @@ DataPrivacyType.get = function(pKey) function _getAddress(pContactId, pAddressId) { - var addrIds + // TODO: update and fix Address_lib and use it (and remove format-functions in PostalAddress_lib) + + var entityConfig = entities.createConfigForLoadingRows() + .entity("Address_entity") + .fields(["ADDRESSID", "ADDRESS", "ADDRESSADDITION", "ADDRIDENTIFIER", "BUILDINGNO", "ZIP", "CITY", "COUNTRY", "DISTRICT", "REGION", "STATE"]); + if (pAddressId) { - addrIds = [{ - ADDRESSID: pAddressId - }] + entityConfig.uid(pAddressId); } else { - var entityConfig = entities.createConfigForLoadingRows() - .entity("Address_entity") - .provider("ContactAddresses") - .addParameter("ContactId_param", pContactId) - .fields(["ADDRESSID"]); - addrIds = entities.getRows(entityConfig); - - } - - - - // Todo: Address_lib doesn't use loadEntity... - for (addrId in addrIds) - { - addrId = addrId.ADDRESSID - var addrobj = new AddrObject(pContactId, true, addrId); - - var addr = addrobj.getFormattedAddress(false); - logging.log(JSON.stringify(addr, null, "\t")) - } - - - // if (addr != "Err.") + entityConfig.provider("ContactAddresses") + .addParameter("ContactId_param", pContactId); + } - /* - var addrData = db.table(SqlCondition.begin() - .andPrepareIfSet("ADDRESS.ADDRESSID", pAddressId) - .andPrepareIfSet("ADDRESS.CONTACT_ID", pContactId) - .buildSql("select ADDRESSID, ADDRESS, ADDRESSADDITION, ADDRIDENTIFIER, " - + "BUILDINGNO, CITY, COUNTRY, DISTRICT, REGION, STATE, ZIP, ADDR_TYPE " - + "from ADDRESS", "1 = 0")); -*/ - return addrData.map(function(pAddr) - { - // TODO Addresse formatieren - var addrVal = ""; - pAddr.slice(1).forEach(function(entry) - { - addrVal += entry + " "; - }); + var addrData = entities.getRows(entityConfig).map(function(addr) { + var addrVal = StringUtils.concat(", ", [addr.ADDRESS, addr.ADDRESSADDITION, addr.ADDRIDENTIFIER, addr.BUILDINGNO, addr.ZIP, addr.CITY, addr.COUNTRY, addr.DISTRICT, addr.REGION, addr.STATE]); + return { value: addrVal, - id: pAddr[0] - } + id: addr.ADDRESSID + }; }); + + return addrData; } function _getCommunication(pContactId, pCommunicationId) { - // TODO: with loadEntity - var commData = db.table(SqlCondition.begin() - .andPrepareIfSet("COMMUNICATION.COMMUNICATIONID", pCommunicationId) - .andPrepareIfSet("COMMUNICATION.CONTACT_ID", pContactId) - .buildSql("select COMMUNICATIONID, ADDR from COMMUNICATION ", "1 = 0")); + var entityConfig = entities.createConfigForLoadingRows() + .entity("Communication_entity") + .fields(["COMMUNICATIONID", "ADDR"]); - - return commData.map(function(pComm) + if (pCommunicationId) + { + entityConfig.uid(pCommunicationId); + } + else + { + entityConfig.provider("AllCommunications") + .addParameter("ContactId_param", pContactId); + } + + return entities.getRows(entityConfig).map(function(pComm) { return { - value: pComm[1], - id: pComm[0] + value: pComm.ADDR, + id: pComm.COMMUNICATIONID } }); } -- GitLab