From 727babf08a355fa5a764334fca287e8d51219701 Mon Sep 17 00:00:00 2001 From: Johannes Hoermann <j.hoermann@adito.de> Date: Tue, 27 Aug 2019 10:55:51 +0200 Subject: [PATCH] search for address / communication --- entity/Address_entity/Address_entity.aod | 7 +++++++ .../Communication_entity.aod | 1 + .../Organisation_entity.aod | 19 +++++++++++++++---- .../addresses/filterConditionProcess.js | 4 ++++ .../communications/filterConditionProcess.js | 4 ++++ .../filterConditionProcess.js | 0 entity/Person_entity/Person_entity.aod | 13 ++++++++++++- .../communications/filterConditionProcess.js | 4 ++++ .../persaddresses/filterConditionProcess.js | 4 ++++ entity/Product_entity/Product_entity.aod | 2 +- 10 files changed, 52 insertions(+), 6 deletions(-) create mode 100644 entity/Organisation_entity/recordcontainers/db/recordfieldmappings/addresses/filterConditionProcess.js create mode 100644 entity/Organisation_entity/recordcontainers/db/recordfieldmappings/communications/filterConditionProcess.js rename entity/Organisation_entity/recordcontainers/db/recordfieldmappings/{product_consumer => products}/filterConditionProcess.js (100%) create mode 100644 entity/Person_entity/recordcontainers/db/recordfieldmappings/communications/filterConditionProcess.js create mode 100644 entity/Person_entity/recordcontainers/db/recordfieldmappings/persaddresses/filterConditionProcess.js diff --git a/entity/Address_entity/Address_entity.aod b/entity/Address_entity/Address_entity.aod index 4873f86ea5e..e7414beda0b 100644 --- a/entity/Address_entity/Address_entity.aod +++ b/entity/Address_entity/Address_entity.aod @@ -425,10 +425,12 @@ <dbRecordFieldMapping> <name>ADDRESS.value</name> <recordfield>ADDRESS.ADDRESS</recordfield> + <isFilterable v="true" /> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>CITY.value</name> <recordfield>ADDRESS.CITY</recordfield> + <isFilterable v="true" /> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>ADDRESSADDITION.value</name> @@ -437,6 +439,7 @@ <dbRecordFieldMapping> <name>COUNTRY.value</name> <recordfield>ADDRESS.COUNTRY</recordfield> + <isFilterable v="true" /> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>ADDRESSID.value</name> @@ -453,6 +456,7 @@ <dbRecordFieldMapping> <name>DISTRICT.value</name> <recordfield>ADDRESS.DISTRICT</recordfield> + <isFilterable v="true" /> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>BUILDINGNO.value</name> @@ -461,6 +465,7 @@ <dbRecordFieldMapping> <name>REGION.value</name> <recordfield>ADDRESS.REGION</recordfield> + <isFilterable v="true" /> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>CONTACT_ID.value</name> @@ -469,10 +474,12 @@ <dbRecordFieldMapping> <name>STATE.value</name> <recordfield>ADDRESS.PROVINCE</recordfield> + <isFilterable v="true" /> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>ZIP.value</name> <recordfield>ADDRESS.ZIP</recordfield> + <isFilterable v="true" /> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>ADDR_TYPE.displayValue</name> diff --git a/entity/Communication_entity/Communication_entity.aod b/entity/Communication_entity/Communication_entity.aod index c9d117fe06f..f45da937b4f 100644 --- a/entity/Communication_entity/Communication_entity.aod +++ b/entity/Communication_entity/Communication_entity.aod @@ -264,6 +264,7 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact <dbRecordFieldMapping> <name>ADDR.value</name> <recordfield>COMMUNICATION.ADDR</recordfield> + <isFilterable v="true" /> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>MEDIUM_ID.value</name> diff --git a/entity/Organisation_entity/Organisation_entity.aod b/entity/Organisation_entity/Organisation_entity.aod index 8250703e17d..76b22d9d247 100644 --- a/entity/Organisation_entity/Organisation_entity.aod +++ b/entity/Organisation_entity/Organisation_entity.aod @@ -860,7 +860,7 @@ <iconId>VAADIN:ENVELOPE</iconId> </entityActionField> <entityConsumer> - <name>Product_consumer</name> + <name>Products</name> <description>Needed for search via Offer</description> <dependency> <name>dependency</name> @@ -941,7 +941,6 @@ <dbRecordFieldMapping> <name>ADDRESS_ID.value</name> <recordfield>CONTACT.ADDRESS_ID</recordfield> - <isFilterable v="true" /> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>CUSTOMERCODE.value</name> @@ -1056,11 +1055,23 @@ <filtertype>EXTENDED</filtertype> </consumerMapping> <consumerMapping> - <name>Product_consumer</name> - <filterConditionProcess>%aditoprj%/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/product_consumer/filterConditionProcess.js</filterConditionProcess> + <name>Addresses</name> + <filterConditionProcess>%aditoprj%/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/addresses/filterConditionProcess.js</filterConditionProcess> + <isFilterable v="true" /> + <filtertype>BASIC</filtertype> + </consumerMapping> + <consumerMapping> + <name>Products</name> + <filterConditionProcess>%aditoprj%/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/products/filterConditionProcess.js</filterConditionProcess> <isFilterable v="true" /> <filtertype>EXTENDED</filtertype> </consumerMapping> + <consumerMapping> + <name>Communications</name> + <filterConditionProcess>%aditoprj%/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/communications/filterConditionProcess.js</filterConditionProcess> + <isFilterable v="true" /> + <filtertype>BASIC</filtertype> + </consumerMapping> </recordFieldMappings> <filterExtensions> <filterExtensionSet> diff --git a/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/addresses/filterConditionProcess.js b/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/addresses/filterConditionProcess.js new file mode 100644 index 00000000000..2e2393946ee --- /dev/null +++ b/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/addresses/filterConditionProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string("CONTACTID in (select CONTACT_ID from ADDRESS where " + vars.get("$local.condition") + " )"); \ No newline at end of file diff --git a/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/communications/filterConditionProcess.js b/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/communications/filterConditionProcess.js new file mode 100644 index 00000000000..eb7d2f218c6 --- /dev/null +++ b/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/communications/filterConditionProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string("CONTACTID in (select CONTACT_ID from COMMUNICATION where " + vars.get("$local.condition") + " )"); \ No newline at end of file diff --git a/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/product_consumer/filterConditionProcess.js b/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/products/filterConditionProcess.js similarity index 100% rename from entity/Organisation_entity/recordcontainers/db/recordfieldmappings/product_consumer/filterConditionProcess.js rename to entity/Organisation_entity/recordcontainers/db/recordfieldmappings/products/filterConditionProcess.js diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod index 96c81fd2c99..714781d05fa 100644 --- a/entity/Person_entity/Person_entity.aod +++ b/entity/Person_entity/Person_entity.aod @@ -1047,7 +1047,6 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact <dbRecordFieldMapping> <name>ADDRESS_ID.value</name> <recordfield>CONTACT.ADDRESS_ID</recordfield> - <isFilterable v="true" /> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>ORGANISATION_ID.displayValue</name> @@ -1158,6 +1157,18 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact <name>ORGANISATION_CONTACTID.value</name> <expression>%aditoprj%/entity/Person_entity/recordcontainers/db/recordfieldmappings/organisation_contactid.value/expression.js</expression> </dbRecordFieldMapping> + <consumerMapping> + <name>PersAddresses</name> + <filterConditionProcess>%aditoprj%/entity/Person_entity/recordcontainers/db/recordfieldmappings/persaddresses/filterConditionProcess.js</filterConditionProcess> + <isFilterable v="true" /> + <filtertype>BASIC</filtertype> + </consumerMapping> + <consumerMapping> + <name>Communications</name> + <filterConditionProcess>%aditoprj%/entity/Person_entity/recordcontainers/db/recordfieldmappings/communications/filterConditionProcess.js</filterConditionProcess> + <isFilterable v="true" /> + <filtertype>BASIC</filtertype> + </consumerMapping> </recordFieldMappings> <filterExtensions> <filterExtensionSet> diff --git a/entity/Person_entity/recordcontainers/db/recordfieldmappings/communications/filterConditionProcess.js b/entity/Person_entity/recordcontainers/db/recordfieldmappings/communications/filterConditionProcess.js new file mode 100644 index 00000000000..eb7d2f218c6 --- /dev/null +++ b/entity/Person_entity/recordcontainers/db/recordfieldmappings/communications/filterConditionProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string("CONTACTID in (select CONTACT_ID from COMMUNICATION where " + vars.get("$local.condition") + " )"); \ No newline at end of file diff --git a/entity/Person_entity/recordcontainers/db/recordfieldmappings/persaddresses/filterConditionProcess.js b/entity/Person_entity/recordcontainers/db/recordfieldmappings/persaddresses/filterConditionProcess.js new file mode 100644 index 00000000000..2e2393946ee --- /dev/null +++ b/entity/Person_entity/recordcontainers/db/recordfieldmappings/persaddresses/filterConditionProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string("CONTACTID in (select CONTACT_ID from ADDRESS where " + vars.get("$local.condition") + " )"); \ No newline at end of file diff --git a/entity/Product_entity/Product_entity.aod b/entity/Product_entity/Product_entity.aod index 4c47769977d..d4d9afc3505 100644 --- a/entity/Product_entity/Product_entity.aod +++ b/entity/Product_entity/Product_entity.aod @@ -329,7 +329,7 @@ <entityDependency> <name>0129066d-805c-4522-b1bc-9bbbc9588629</name> <entityName>Organisation_entity</entityName> - <fieldName>Product_consumer</fieldName> + <fieldName>Products</fieldName> <isConsumer v="false" /> </entityDependency> </dependencies> -- GitLab