diff --git a/entity/AnyContact_entity/AnyContact_entity.aod b/entity/AnyContact_entity/AnyContact_entity.aod index 8426dd6b95dbcfbb8d000b2bbf8345cc22b45560..0588ebec20e4fe341c6c2823775e4c7cced8cbc9 100644 --- a/entity/AnyContact_entity/AnyContact_entity.aod +++ b/entity/AnyContact_entity/AnyContact_entity.aod @@ -127,6 +127,10 @@ See ContactUtils.getRelationTypeByPersOrg for possible values</description> <name>#PROVIDER_AGGREGATES</name> <useAggregates v="true" /> </entityProvider> + <entityParameter> + <name>IgnoreContactStates_param</name> + <expose v="true" /> + </entityParameter> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/AnyContact_entity/recordcontainers/db/conditionProcess.js b/entity/AnyContact_entity/recordcontainers/db/conditionProcess.js index 4627dbe64019709366398c2648a86fe958da0e98..fcb276c307193fe5f4553328635b9ba2beafe283 100644 --- a/entity/AnyContact_entity/recordcontainers/db/conditionProcess.js +++ b/entity/AnyContact_entity/recordcontainers/db/conditionProcess.js @@ -33,7 +33,15 @@ var cond = newWhereIfSet(conditionPrivateOrganisation) .andIfSet("CONTACT.ORGANISATION_ID", orgContactId); var contactIds = vars.exists("$param.ContactIds_param") && vars.get("$param.ContactIds_param"); -if (contactIds) +if (contactIds) +{ cond.andIfSet("CONTACT.CONTACTID", JSON.parse(contactIds), SqlBuilder.IN()); +} + +var ignoredContactStates = vars.exists("$param.IgnoreContactStates_param") && vars.get("$param.IgnoreContactStates_param"); +if (ignoredContactStates) +{ + cond.andIfSet("CONTACT.STATUS", JSON.parse(ignoredContactStates), SqlBuilder.NOT_IN()); +} result.string(cond.toString()); \ No newline at end of file diff --git a/entity/Contract_entity/Contract_entity.aod b/entity/Contract_entity/Contract_entity.aod index 65416c1c51760e0852b8a9bc26881b2c37213c02..bf30590d500661ce5b5c167697dc9cabea1c909f 100644 --- a/entity/Contract_entity/Contract_entity.aod +++ b/entity/Contract_entity/Contract_entity.aod @@ -183,6 +183,12 @@ <entityName>AnyContact_entity</entityName> <fieldName>#PROVIDER</fieldName> </dependency> + <children> + <entityParameter> + <name>IgnoreContactStates_param</name> + <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/anycontacts/children/ignorecontactstates_param/valueProcess.js</valueProcess> + </entityParameter> + </children> </entityConsumer> <entityProvider> <name>#PROVIDER</name> diff --git a/entity/Contract_entity/entityfields/anycontacts/children/ignorecontactstates_param/valueProcess.js b/entity/Contract_entity/entityfields/anycontacts/children/ignorecontactstates_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..c6c72b9e8a3069a5a22fbd37d3d56c131409e561 --- /dev/null +++ b/entity/Contract_entity/entityfields/anycontacts/children/ignorecontactstates_param/valueProcess.js @@ -0,0 +1,7 @@ +import("system.result"); +import("KeywordRegistry_basic"); + +result.string(JSON.stringify([ + $KeywordRegistry.contactStatus$inactive(), + $KeywordRegistry.contactStatus$markToDelete() +])); diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod index de9acec82189efcfea075993420736b72dd9932f..99eeee61615add0b8516db82e4f342f845466c47 100644 --- a/entity/Offer_entity/Offer_entity.aod +++ b/entity/Offer_entity/Offer_entity.aod @@ -237,6 +237,10 @@ <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/anycontacts/children/contactids_param/valueProcess.js</valueProcess> <expose v="true" /> </entityParameter> + <entityParameter> + <name>IgnoreContactStates_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/anycontacts/children/ignorecontactstates_param/valueProcess.js</valueProcess> + </entityParameter> </children> </entityConsumer> <entityConsumer> diff --git a/entity/Offer_entity/entityfields/anycontacts/children/ignorecontactstates_param/valueProcess.js b/entity/Offer_entity/entityfields/anycontacts/children/ignorecontactstates_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..c6c72b9e8a3069a5a22fbd37d3d56c131409e561 --- /dev/null +++ b/entity/Offer_entity/entityfields/anycontacts/children/ignorecontactstates_param/valueProcess.js @@ -0,0 +1,7 @@ +import("system.result"); +import("KeywordRegistry_basic"); + +result.string(JSON.stringify([ + $KeywordRegistry.contactStatus$inactive(), + $KeywordRegistry.contactStatus$markToDelete() +])); diff --git a/entity/Order_entity/Order_entity.aod b/entity/Order_entity/Order_entity.aod index 52f23b22af4c514748e990d5ec4e339cee9df71c..4c9cd4456c3f942948a45ab3d522c6d69a4ead5c 100644 --- a/entity/Order_entity/Order_entity.aod +++ b/entity/Order_entity/Order_entity.aod @@ -182,6 +182,12 @@ <entityName>AnyContact_entity</entityName> <fieldName>#PROVIDER</fieldName> </dependency> + <children> + <entityParameter> + <name>IgnoreContactStates_param</name> + <valueProcess>%aditoprj%/entity/Order_entity/entityfields/anycontacts/children/ignorecontactstates_param/valueProcess.js</valueProcess> + </entityParameter> + </children> </entityConsumer> <entityConsumer> <name>Documents</name> diff --git a/entity/Order_entity/entityfields/anycontacts/children/ignorecontactstates_param/valueProcess.js b/entity/Order_entity/entityfields/anycontacts/children/ignorecontactstates_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..c6c72b9e8a3069a5a22fbd37d3d56c131409e561 --- /dev/null +++ b/entity/Order_entity/entityfields/anycontacts/children/ignorecontactstates_param/valueProcess.js @@ -0,0 +1,7 @@ +import("system.result"); +import("KeywordRegistry_basic"); + +result.string(JSON.stringify([ + $KeywordRegistry.contactStatus$inactive(), + $KeywordRegistry.contactStatus$markToDelete() +]));