From 76b7de0ef0fd32b70e9d4d505aa16a4b5f595c52 Mon Sep 17 00:00:00 2001 From: Johannes Hoermann <j.hoermann@adito.de> Date: Tue, 2 Jul 2019 10:43:59 +0200 Subject: [PATCH] use nominatim for addressvalidation --- .../AddressValidation_entity.aod | 1 + .../children/type_param/valueProcess.js | 8 +- .../children/type_param/valueProcess.js | 8 +- process/WsValidation_lib/process.js | 105 +----------------- 4 files changed, 12 insertions(+), 110 deletions(-) diff --git a/entity/AddressValidation_entity/AddressValidation_entity.aod b/entity/AddressValidation_entity/AddressValidation_entity.aod index 7544eed7e3..90c7e6edcb 100644 --- a/entity/AddressValidation_entity/AddressValidation_entity.aod +++ b/entity/AddressValidation_entity/AddressValidation_entity.aod @@ -134,6 +134,7 @@ <jDitoRecordAlias></jDitoRecordAlias> <isFilterable v="true" /> <isRequireContainerFiltering v="true" /> + <isSortable v="true" /> <contentProcess>%aditoprj%/entity/AddressValidation_entity/recordcontainers/jdito/contentProcess.js</contentProcess> <recordFieldMappings> <jDitoRecordFieldMapping> diff --git a/entity/AddressValidation_entity/entityfields/cityvalidation/children/type_param/valueProcess.js b/entity/AddressValidation_entity/entityfields/cityvalidation/children/type_param/valueProcess.js index 084f00d181..e856004597 100644 --- a/entity/AddressValidation_entity/entityfields/cityvalidation/children/type_param/valueProcess.js +++ b/entity/AddressValidation_entity/entityfields/cityvalidation/children/type_param/valueProcess.js @@ -1,4 +1,4 @@ -import("WsValidation_lib"); -import("system.result"); - -result.string(WsValidationType.get().TYPE_CITY.key); \ No newline at end of file +import("WsValidation_lib"); +import("system.result"); + +result.string(WsValidationType.get().TYPE_CITY_NOMINATIM.key); \ No newline at end of file diff --git a/entity/AddressValidation_entity/entityfields/zipvalidaton/children/type_param/valueProcess.js b/entity/AddressValidation_entity/entityfields/zipvalidaton/children/type_param/valueProcess.js index 93426dc98c..6ab3539198 100644 --- a/entity/AddressValidation_entity/entityfields/zipvalidaton/children/type_param/valueProcess.js +++ b/entity/AddressValidation_entity/entityfields/zipvalidaton/children/type_param/valueProcess.js @@ -1,4 +1,4 @@ -import("WsValidation_lib"); -import("system.result"); - -result.string(WsValidationType.get().TYPE_ZIP.key); \ No newline at end of file +import("WsValidation_lib"); +import("system.result"); + +result.string(WsValidationType.get().TYPE_ZIP_NOMINATIM.key); \ No newline at end of file diff --git a/process/WsValidation_lib/process.js b/process/WsValidation_lib/process.js index 72d857ec82..0f34bcf034 100644 --- a/process/WsValidation_lib/process.js +++ b/process/WsValidation_lib/process.js @@ -40,9 +40,8 @@ WsValidationType.get = function(pKey) this._cache = { // Address lookups TYPE_ADDRESS_NOMINATIM: new WsValidationType("TYPE_ADDRESS_NOMINATIM", "nominatim", _processNominatimAddressLookup, _nominatimRequest, "q"), - TYPE_ADDRESS: new WsValidationType("TYPE_ADDRESS", "addressValidation", _processAllAddressLookup, _customRequest, "search"), - TYPE_ZIP: new WsValidationType("TYPE_ZIP", "zipCityValidation", _processAddressLookup, _customRequest, "zip"), - TYPE_CITY: new WsValidationType("TYPE_CITY", "zipCityValidation", _processAddressLookup, _customRequest, "city"), + TYPE_ZIP_NOMINATIM: new WsValidationType("TYPE_ZIP_NOMINATIM", "nominatim", _processNominatimAddressLookup, _nominatimRequest, "postalcode"), + TYPE_CITY_NOMINATIM: new WsValidationType("TYPE_CITY_NOMINATIM", "nominatim", _processNominatimAddressLookup, _nominatimRequest, "city"), // Communication validation TYPE_PHONE: new WsValidationType("TYPE_PHONE", "phoneValidation", _processCommunicationValidation, _customRequest, "Number") @@ -53,104 +52,6 @@ WsValidationType.get = function(pKey) return this._cache; - /** - * [UID, - * displayName, - * zip, - * city, - * cityext, - * country, - * district, - * region, - * state, - * street, - * data.from_bn + (data.to_bn ? " - " + data.to_bn : ""), - * lon, - * lat, - * value // pValue - */ - function _processAllAddressLookup(pWsResult, pValue) - { - var resultAddresses = []; - - // if error, return [] else parse the body - if (!WsValidationUtils._isError(pWsResult)) - { - resultAddresses = JSON.parse(pWsResult.body); - } - - return resultAddresses.map(function(pAddress, pIndex) - { - pAddress[0].value = pValue; - pAddress[0].index = pIndex; - var data = pAddress[0]; - - return [ - JSON.stringify(data), - pAddress[1], - data.zip, - data.city, - data.cityext, - data.country, - data.district, - data.region, - data.state, - data.streat, - data.from_bn + (data.to_bn ? " - " + data.to_bn : ""), - data.lon, - data.lat, - pValue] - }, this); - } - - /** - * [UID, - * displayName, - * zip, - * city, - * cityext, - * country, - * district, - * region, - * state, - * street, - * data.from_bn + (data.to_bn ? " - " + data.to_bn : ""), - * lon, - * lat, - * value // (the result. e.g. if pType was ZIP, the value is the found zip) - */ - function _processAddressLookup(pWsResult, pValue) - { - var resultAddresses = []; - - // if error, return [] else parse the body - if (!WsValidationUtils._isError(pWsResult)) - { - resultAddresses = JSON.parse(pWsResult.body); - } - - return resultAddresses.map(function(pAddress, pIndex) - { - pAddress[0].index = pIndex; - var data = pAddress[0]; - return [ - JSON.stringify(data), - pAddress[1], - data.zip, - data.city, - data.cityext, - data.country, - data.district, - data.region, - data.state, - data.streat, - data.from_bn + (data.to_bn ? " - " + data.to_bn : ""), - data.lon, - data.lat, - data[this.paramName]] - }, this); - } - function _processCommunicationValidation(pWsResult, pValue) { if (!WsValidationUtils._isError(pWsResult)) @@ -191,7 +92,7 @@ WsValidationType.get = function(pKey) pPlaceData.address.postcode, city, cityext, - pPlaceData.address.country_code, + pPlaceData.address.country_code.toUpperCase(), pPlaceData.address.district, pPlaceData.address.state_district, pPlaceData.address.state, -- GitLab