From 02224049d221c6aa901360b6f0170ddf635df457 Mon Sep 17 00:00:00 2001 From: "p.neub" <p.neub@adito.de> Date: Fri, 21 May 2021 08:19:45 +0200 Subject: [PATCH] =?UTF-8?q?[Projekt:=20xRM-Sales][TicketNr.:=201081069][An?= =?UTF-8?q?gebot/Beleg/Vertrag=20anlegen=20f=C3=BCr=20Kontakt,=20der=20zur?= =?UTF-8?q?=20L=C3=B6schung=20vorgesehen,=20ist=20in=20den=20Contexten=20i?= =?UTF-8?q?m=20Gegensatz=20zur=20360=20Grad=20=20m=C3=B6glich]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- entity/AnyContact_entity/AnyContact_entity.aod | 4 ++++ .../recordcontainers/db/conditionProcess.js | 10 +++++++++- entity/Contract_entity/Contract_entity.aod | 6 ++++++ .../children/ignorecontactstates_param/valueProcess.js | 7 +++++++ entity/Offer_entity/Offer_entity.aod | 4 ++++ .../children/ignorecontactstates_param/valueProcess.js | 7 +++++++ entity/Order_entity/Order_entity.aod | 6 ++++++ .../children/ignorecontactstates_param/valueProcess.js | 7 +++++++ 8 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 entity/Contract_entity/entityfields/anycontacts/children/ignorecontactstates_param/valueProcess.js create mode 100644 entity/Offer_entity/entityfields/anycontacts/children/ignorecontactstates_param/valueProcess.js create mode 100644 entity/Order_entity/entityfields/anycontacts/children/ignorecontactstates_param/valueProcess.js diff --git a/entity/AnyContact_entity/AnyContact_entity.aod b/entity/AnyContact_entity/AnyContact_entity.aod index 8426dd6b95..0588ebec20 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 4627dbe640..fcb276c307 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 0b5a6a6d22..f671def3f2 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 0000000000..c6c72b9e8a --- /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 04e18008a2..25500f569d 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 0000000000..c6c72b9e8a --- /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 e1f343fcba..df86cfc8b0 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 0000000000..c6c72b9e8a --- /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() +])); -- GitLab