From ab4f3a4c9472aa03cd40c94357c5711222b94116 Mon Sep 17 00:00:00 2001 From: "j.goderbauer" <j.goderbauer@adito.de> Date: Tue, 12 Mar 2019 16:04:20 +0100 Subject: [PATCH] AddressType filter by ContactType --- .../AddressType_entity/AddressType_entity.aod | 9 +++++++++ .../recordcontainers/db/conditionProcess.js | 17 +++++++++------- entity/Address_entity/Address_entity.aod | 17 +++++++--------- .../children/contacttype_param/code.js | 4 +++- .../children/containername_param/code.js | 5 ----- .../children/usagefilter_param/code.js | 20 +++++++++++++++++++ .../children/contacttype_param/code.js | 3 ++- .../children/contacttype_param/code.js | 3 ++- .../KeywordEntry_entity.aod | 6 ------ neonContext/AddressType/AddressType.aod | 6 ++++++ .../2019.2/AditoBasic/init_AddressType.xml | 2 +- 11 files changed, 60 insertions(+), 32 deletions(-) delete mode 100644 entity/Address_entity/entityfields/keywordaddresstype/children/containername_param/code.js create mode 100644 entity/Address_entity/entityfields/keywordaddresstype/children/usagefilter_param/code.js create mode 100644 neonContext/AddressType/AddressType.aod diff --git a/entity/AddressType_entity/AddressType_entity.aod b/entity/AddressType_entity/AddressType_entity.aod index 408cbcac8ec..e5a9df3fe0c 100644 --- a/entity/AddressType_entity/AddressType_entity.aod +++ b/entity/AddressType_entity/AddressType_entity.aod @@ -21,6 +21,14 @@ <name>ByCategory</name> <fieldType>DEPENDENCY_IN</fieldType> <lookupIdfield>KEYID</lookupIdfield> + <dependencies> + <entityDependency> + <name>b6ddc934-51ac-43a5-8aa9-7239423ea14d</name> + <entityName>Address_entity</entityName> + <fieldName>KeywordAddressType</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> <children> <entityParameter> <name>usageFilter_param</name> @@ -32,6 +40,7 @@ <entityParameter> <name>usageFilter_param</name> <title></title> + <expose v="true" /> <description>PARAMETER</description> </entityParameter> </entityFields> diff --git a/entity/AddressType_entity/recordcontainers/db/conditionProcess.js b/entity/AddressType_entity/recordcontainers/db/conditionProcess.js index f03f6d9a6ce..99de51563c2 100644 --- a/entity/AddressType_entity/recordcontainers/db/conditionProcess.js +++ b/entity/AddressType_entity/recordcontainers/db/conditionProcess.js @@ -1,3 +1,4 @@ +import("system.db"); import("system.vars"); import("system.result"); import("KeywordRegistry_basic"); @@ -11,12 +12,14 @@ var cond = SqlCondition.begin() var usageFilter = vars.get("$param.usageFilter_param"); if (usageFilter) { - var keywordAttribute = KeywordAttribute($KeywordRegistry.addressType(), usageFilter); - - "AB_KEYWORD_ENTRY.AB_KEYWORD_ENTRYID in (\n\ - select AB_KEYWORD_ATTRIBUTERELATION.AB_KEYWORD_ENTRY_ID \n\ - from AB_KEYWORD_ATTRIBUTERELATION " + SqlCondition.begin() - .andPrepare("AB_KEYWORD_ATTRIBUTERELATION.AB_KEYWORD_ATTRIBUTE_ID", keywordAttribute.id) - .andPrepare("AB_KEYWORD_ATTRIBUTERELATION.VALUE_??", keywordAttribute.id)//should be generated automatically + var keywordAttribute = new KeywordAttribute($KeywordRegistry.addressType(), usageFilter); + cond.andAttachPrepared(SqlCondition.begin() + .andPrepare("AB_KEYWORD_ATTRIBUTERELATION.AB_KEYWORD_ATTRIBUTE_ID", keywordAttribute.id) + .andPrepare("AB_KEYWORD_ATTRIBUTERELATION." + keywordAttribute.dbField, "1") + .buildSql("AB_KEYWORD_ENTRY.AB_KEYWORD_ENTRYID in (\n\ + select AB_KEYWORD_ATTRIBUTERELATION.AB_KEYWORD_ENTRY_ID \n\ + from AB_KEYWORD_ATTRIBUTERELATION ", null, ")")); } + +cond = db.translateStatement(cond.build("1 = 2")); result.string(cond); \ No newline at end of file diff --git a/entity/Address_entity/Address_entity.aod b/entity/Address_entity/Address_entity.aod index 5abe042e6df..7690bb27f06 100644 --- a/entity/Address_entity/Address_entity.aod +++ b/entity/Address_entity/Address_entity.aod @@ -72,7 +72,6 @@ <entityProvider> <name>OrganisationAddresses</name> <fieldType>DEPENDENCY_IN</fieldType> - <recordContainer>db</recordContainer> <dependencies> <entityDependency> <name>b484b43c-16f6-4875-9787-f0813dd200cb</name> @@ -85,7 +84,7 @@ <entityParameter> <name>ContactType_param</name> <code>%aditoprj%/entity/Address_entity/entityfields/organisationaddresses/children/contacttype_param/code.js</code> - <expose v="true" /> + <expose v="false" /> <description>TODO: expose auf false. aktuell wird der Code nicht ausgeführt, wenn Expose false ist.</description> </entityParameter> <entityParameter> @@ -107,7 +106,6 @@ <entityProvider> <name>ContactAddresses</name> <fieldType>DEPENDENCY_IN</fieldType> - <recordContainer>db</recordContainer> <dependencies> <entityDependency> <name>efdb2f19-ab41-4f49-941a-843610e2b31b</name> @@ -120,7 +118,7 @@ <entityParameter> <name>ContactType_param</name> <code>%aditoprj%/entity/Address_entity/entityfields/contactaddresses/children/contacttype_param/code.js</code> - <expose v="true" /> + <expose v="false" /> <triggerRecalculation v="true" /> <description>TODO: expose auf false. aktuell wird der Code nicht ausgeführt, wenn Expose false ist.</description> </entityParameter> @@ -150,7 +148,6 @@ <name>OrganisationAddressesByContact</name> <fieldType>DEPENDENCY_IN</fieldType> <documentation>%aditoprj%/entity/Address_entity/entityfields/organisationaddressesbycontact/documentation.adoc</documentation> - <recordContainer>db</recordContainer> <dependencies> <entityDependency> <name>388f6ad3-b817-4dc0-a5d5-a41eec485357</name> @@ -163,7 +160,7 @@ <entityParameter> <name>ContactType_param</name> <code>%aditoprj%/entity/Address_entity/entityfields/organisationaddressesbycontact/children/contacttype_param/code.js</code> - <expose v="true" /> + <expose v="false" /> <description>TODO: expose auf false. aktuell wird der Code nicht ausgeführt, wenn Expose false ist.</description> </entityParameter> </children> @@ -193,13 +190,13 @@ <fieldType>DEPENDENCY_OUT</fieldType> <dependency> <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> + <entityName>AddressType_entity</entityName> + <fieldName>ByCategory</fieldName> </dependency> <children> <entityParameter> - <name>containerName_param</name> - <code>%aditoprj%/entity/Address_entity/entityfields/keywordaddresstype/children/containername_param/code.js</code> + <name>usageFilter_param</name> + <code>%aditoprj%/entity/Address_entity/entityfields/keywordaddresstype/children/usagefilter_param/code.js</code> </entityParameter> </children> </entityConsumer> diff --git a/entity/Address_entity/entityfields/contactaddresses/children/contacttype_param/code.js b/entity/Address_entity/entityfields/contactaddresses/children/contacttype_param/code.js index 805812e9e79..cfff5cf20d0 100644 --- a/entity/Address_entity/entityfields/contactaddresses/children/contacttype_param/code.js +++ b/entity/Address_entity/entityfields/contactaddresses/children/contacttype_param/code.js @@ -1,2 +1,4 @@ import("system.result"); -result.object(2); \ No newline at end of file +import("Contact_lib"); + +result.object(Contact.TYPES.Contact); \ No newline at end of file diff --git a/entity/Address_entity/entityfields/keywordaddresstype/children/containername_param/code.js b/entity/Address_entity/entityfields/keywordaddresstype/children/containername_param/code.js deleted file mode 100644 index 167d3dc35f3..00000000000 --- a/entity/Address_entity/entityfields/keywordaddresstype/children/containername_param/code.js +++ /dev/null @@ -1,5 +0,0 @@ -import("system.result"); -import("Keyword_lib"); -import("KeywordRegistry_basic"); - -result.string($KeywordRegistry.addressType()); \ No newline at end of file diff --git a/entity/Address_entity/entityfields/keywordaddresstype/children/usagefilter_param/code.js b/entity/Address_entity/entityfields/keywordaddresstype/children/usagefilter_param/code.js new file mode 100644 index 00000000000..efc47e64ed3 --- /dev/null +++ b/entity/Address_entity/entityfields/keywordaddresstype/children/usagefilter_param/code.js @@ -0,0 +1,20 @@ +import("system.logging"); +import("system.vars"); +import("system.result"); +import("Contact_lib"); + +var keywordAttributeFilterName = ""; +var contactType = vars.get("$param.ContactType_param"); + +switch (contactType) { + case Contact.TYPES.Contact: + case Contact.TYPES.Private: + keywordAttributeFilterName = "contact"; + break; + case Contact.TYPES.Organisation: + keywordAttributeFilterName = "organisation"; + break; +} +logging.log("contactType>>" + contactType); +logging.log("keywordAttributeFilterName>>" + keywordAttributeFilterName); +result.object(keywordAttributeFilterName); \ No newline at end of file diff --git a/entity/Address_entity/entityfields/organisationaddresses/children/contacttype_param/code.js b/entity/Address_entity/entityfields/organisationaddresses/children/contacttype_param/code.js index 85a095aeb8a..fde2b2a8d47 100644 --- a/entity/Address_entity/entityfields/organisationaddresses/children/contacttype_param/code.js +++ b/entity/Address_entity/entityfields/organisationaddresses/children/contacttype_param/code.js @@ -1,3 +1,4 @@ import("system.result"); +import("Contact_lib"); -result.object(1); \ No newline at end of file +result.object(Contact.TYPES.Organisation); \ No newline at end of file diff --git a/entity/Address_entity/entityfields/organisationaddressesbycontact/children/contacttype_param/code.js b/entity/Address_entity/entityfields/organisationaddressesbycontact/children/contacttype_param/code.js index 85a095aeb8a..fde2b2a8d47 100644 --- a/entity/Address_entity/entityfields/organisationaddressesbycontact/children/contacttype_param/code.js +++ b/entity/Address_entity/entityfields/organisationaddressesbycontact/children/contacttype_param/code.js @@ -1,3 +1,4 @@ import("system.result"); +import("Contact_lib"); -result.object(1); \ No newline at end of file +result.object(Contact.TYPES.Organisation); \ No newline at end of file diff --git a/entity/KeywordEntry_entity/KeywordEntry_entity.aod b/entity/KeywordEntry_entity/KeywordEntry_entity.aod index de0bacc7b2c..b8e462c58ab 100644 --- a/entity/KeywordEntry_entity/KeywordEntry_entity.aod +++ b/entity/KeywordEntry_entity/KeywordEntry_entity.aod @@ -270,12 +270,6 @@ <fieldName>KeywordMedium</fieldName> <isConsumer v="false" /> </entityDependency> - <entityDependency> - <name>2ed3c1ee-0cae-4017-aaf2-49bf4307abc4</name> - <entityName>Address_entity</entityName> - <fieldName>KeywordAddressType</fieldName> - <isConsumer v="false" /> - </entityDependency> <entityDependency> <name>04b28ce6-a144-4c19-ac2d-4cfbc3568700</name> <entityName>Organisation_entity</entityName> diff --git a/neonContext/AddressType/AddressType.aod b/neonContext/AddressType/AddressType.aod new file mode 100644 index 00000000000..c0acbfc73bf --- /dev/null +++ b/neonContext/AddressType/AddressType.aod @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.0.0"> + <name>AddressType</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <entity>AddressType_entity</entity> +</neonContext> diff --git a/others/db_changes/data_alias/basic/2019.2/AditoBasic/init_AddressType.xml b/others/db_changes/data_alias/basic/2019.2/AditoBasic/init_AddressType.xml index f5e48e9b9d2..365041d0512 100644 --- a/others/db_changes/data_alias/basic/2019.2/AditoBasic/init_AddressType.xml +++ b/others/db_changes/data_alias/basic/2019.2/AditoBasic/init_AddressType.xml @@ -4,7 +4,7 @@ <insert tableName="AB_KEYWORD_ATTRIBUTE"> <column name="AB_KEYWORD_ATTRIBUTEID" value="1d5c5d49-0ffd-47fb-af10-542f7cf454cd"/> - <column name="NAME" value="organinsation"/> + <column name="NAME" value="organisation"/> <column name="CONTAINER" value="AddressType"/> <column name="TYPE" value="BOOL_VALUE"/> </insert> -- GitLab