Skip to content
Snippets Groups Projects
Commit fd008fea authored by Sebastian Listl's avatar Sebastian Listl :speech_balloon:
Browse files

#1069210 Commrestriction selection fixed

parent 827421b1
No related branches found
No related tags found
No related merge requests found
Showing
with 73 additions and 61 deletions
......@@ -80,14 +80,6 @@
<entityProvider>
<name>CampaignCosts</name>
<documentation>%aditoprj%/entity/CampaignCost_entity/entityfields/campaigncosts/documentation.adoc</documentation>
<dependencies>
<entityDependency>
<name>7131288b-af5c-4914-96f5-c5d70217fc23</name>
<entityName>Campaign_entity</entityName>
<fieldName>CampaignCosts</fieldName>
<isConsumer v="false" />
</entityDependency>
</dependencies>
<children>
<entityParameter>
<name>CampaignStepId_param</name>
......@@ -107,24 +99,18 @@
<expose v="false" />
</entityParameter>
</children>
</entityProvider>
<entityProvider>
<name>StepCosts</name>
<documentation>%aditoprj%/entity/CampaignCost_entity/entityfields/stepcosts/documentation.adoc</documentation>
<dependencies>
<entityDependency>
<name>af147f3e-a1bd-4eb0-9ac8-325dbdaba17d</name>
<entityName>CampaignStep_entity</entityName>
<fieldName>CampaignStepCosts</fieldName>
<isConsumer v="false" />
</entityDependency>
<entityDependency>
<name>2a92b738-c0bb-4c14-9915-aff9e18effaf</name>
<name>7131288b-af5c-4914-96f5-c5d70217fc23</name>
<entityName>Campaign_entity</entityName>
<fieldName>CampaignStepCosts</fieldName>
<fieldName>CampaignCosts</fieldName>
<isConsumer v="false" />
</entityDependency>
</dependencies>
</entityProvider>
<entityProvider>
<name>StepCosts</name>
<documentation>%aditoprj%/entity/CampaignCost_entity/entityfields/stepcosts/documentation.adoc</documentation>
<children>
<entityParameter>
<name>CampaignStepId_param</name>
......@@ -144,6 +130,20 @@
<expose v="false" />
</entityParameter>
</children>
<dependencies>
<entityDependency>
<name>af147f3e-a1bd-4eb0-9ac8-325dbdaba17d</name>
<entityName>CampaignStep_entity</entityName>
<fieldName>CampaignStepCosts</fieldName>
<isConsumer v="false" />
</entityDependency>
<entityDependency>
<name>2a92b738-c0bb-4c14-9915-aff9e18effaf</name>
<entityName>Campaign_entity</entityName>
<fieldName>CampaignStepCosts</fieldName>
<isConsumer v="false" />
</entityDependency>
</dependencies>
</entityProvider>
<entityConsumer>
<name>Campaigns</name>
......@@ -155,35 +155,35 @@
</entityConsumer>
<entityConsumer>
<name>CampaignSteps</name>
<dependency>
<name>dependency</name>
<entityName>CampaignStep_entity</entityName>
<fieldName>CampaignSteps</fieldName>
</dependency>
<children>
<entityParameter>
<name>campaignId_param</name>
<valueProcess>%aditoprj%/entity/CampaignCost_entity/entityfields/campaignsteps/children/campaignid_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityConsumer>
<entityConsumer>
<name>KeywordCampaignManagementCostCategory</name>
<dependency>
<name>dependency</name>
<entityName>KeywordEntry_entity</entityName>
<fieldName>SpecificContainerKeywords</fieldName>
<entityName>CampaignStep_entity</entityName>
<fieldName>CampaignSteps</fieldName>
</dependency>
</entityConsumer>
<entityConsumer>
<name>KeywordCampaignManagementCostCategory</name>
<children>
<entityParameter>
<name>ContainerName_param</name>
<valueProcess>%aditoprj%/entity/CampaignCost_entity/entityfields/keywordcampaignmanagementcostcategory/children/containername_param/valueProcess.js</valueProcess>
</entityParameter>
<entityParameter>
<name>ExcludedKeyIdsSubquery_param</name>
<valueProcess>%aditoprj%/entity/CampaignCost_entity/entityfields/keywordcampaignmanagementcostcategory/children/excludedkeyidssubquery_param/valueProcess.js</valueProcess>
<name>BlacklistIds_param</name>
<valueProcess>%aditoprj%/entity/CampaignCost_entity/entityfields/keywordcampaignmanagementcostcategory/children/blacklistids_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
<dependency>
<name>dependency</name>
<entityName>KeywordEntry_entity</entityName>
<fieldName>SpecificContainerKeywords</fieldName>
</dependency>
</entityConsumer>
<entityParameter>
<name>CampaignId_param</name>
......
......@@ -12,9 +12,9 @@ var cond = newSelect("CATEGORY")
if (vars.get("$field.CAMPAIGNSTEP_ID"))
cond.andIfSet("CAMPAIGNCOST.CAMPAIGNSTEP_ID", "$field.CAMPAIGNSTEP_ID");
else
cond.and("CAMPAIGNCOST.CAMPAIGNSTEP_ID is null")
cond.and("CAMPAIGNCOST.CAMPAIGNSTEP_ID is null");
if (vars.get("$sys.recordstate") != neon.OPERATINGSTATE_NEW)
cond.andIfSet("CAMPAIGNCOST.CAMPAIGNCOSTID", "$field.CAMPAIGNCOSTID", SqlBuilder.NOT_EQUAL());
result.string(cond.toString());
\ No newline at end of file
result.string(JSON.stringify(cond.arrayColumn()));
\ No newline at end of file
......@@ -55,11 +55,6 @@
</entityConsumer>
<entityConsumer>
<name>CommRestrictionMedium</name>
<dependency>
<name>dependency</name>
<entityName>KeywordEntry_entity</entityName>
<fieldName>SpecificContainerKeywords</fieldName>
</dependency>
<children>
<entityParameter>
<name>ContainerName_param</name>
......@@ -67,10 +62,15 @@
<expose v="false" />
</entityParameter>
<entityParameter>
<name>ExcludedKeyIdsSubquery_param</name>
<valueProcess>%aditoprj%/entity/CommRestriction_Entity/entityfields/commrestrictionmedium/children/excludedkeyidssubquery_param/valueProcess.js</valueProcess>
<name>BlacklistIds_param</name>
<valueProcess>%aditoprj%/entity/CommRestriction_Entity/entityfields/commrestrictionmedium/children/blacklistids_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
<dependency>
<name>dependency</name>
<entityName>KeywordEntry_entity</entityName>
<fieldName>SpecificContainerKeywords</fieldName>
</dependency>
</entityConsumer>
<entityProvider>
<name>CommRestrictions</name>
......@@ -103,17 +103,17 @@
</entityField>
<entityConsumer>
<name>MediumKeywordAttribute</name>
<dependency>
<name>dependency</name>
<entityName>KeywordAttribute_entity</entityName>
<fieldName>SpecificContainerKeyword</fieldName>
</dependency>
<children>
<entityParameter>
<name>ContainerName_param</name>
<valueProcess>%aditoprj%/entity/CommRestriction_Entity/entityfields/mediumkeywordattribute/children/containername_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
<dependency>
<name>dependency</name>
<entityName>KeywordAttribute_entity</entityName>
<fieldName>SpecificContainerKeyword</fieldName>
</dependency>
</entityConsumer>
<entityProvider>
<name>#PROVIDER_AGGREGATES</name>
......
import("system.vars");
import("Sql_lib");
import("system.result");
var alreadyUsedMediums = new SqlBuilder()
.select("MEDIUM")
.from("COMMRESTRICTION")
.where("COMMRESTRICTION.CONTACT_ID", vars.get("$field.CONTACT_ID"))
.arrayColumn();
result.string(JSON.stringify(alreadyUsedMediums));
\ No newline at end of file
import("system.question");
import("system.vars");
import("Sql_lib");
import("system.result");
var contactId = vars.get("$field.CONTACT_ID");
var alreadyUsedMediums = new SqlBuilder().select("MEDIUM").from("COMMRESTRICTION").where("COMMRESTRICTION.CONTACT_ID", contactId);
result.string(alreadyUsedMediums);
\ No newline at end of file
......@@ -639,7 +639,7 @@
<name>ExcludedKeyIdsSubquery_param</name>
<expose v="true" />
<documentation>%aditoprj%/entity/KeywordEntry_entity/entityfields/excludedkeyidssubquery_param/documentation.adoc</documentation>
<description>PARAMETER</description>
<description>DEPRECATED!!! DO NOT USE!!!</description>
</entityParameter>
<entityParameter>
<name>WhitelistIds_param</name>
......@@ -661,6 +661,10 @@
<name>#PROVIDER_AGGREGATES</name>
<useAggregates v="true" />
</entityProvider>
<entityParameter>
<name>BlacklistIds_param</name>
<expose v="true" />
</entityParameter>
</entityFields>
<recordContainers>
<dbRecordContainer>
......
DEPRECATED! This parameter does not work with caching, because if the result of the subquery changes while the subquery itself doesn't, the cached
result won't be updated
Can be filled with a subquery-string, which delivers KeyIds to exclude.
The subquery is used insade a "KEYID not in(...)"
\ No newline at end of file
import("CachedRecordContainer_lib");
import("system.result")
var res = CachedRecordContainerUtils.getCommonKey("$param.ContainerName_param", "$param.ExcludedKeyIdsSubquery_param", "$param.OnlyActives_param"
var res = CachedRecordContainerUtils.getCommonKey("$param.ContainerName_param", "$param.BlacklistIds_param", "$param.OnlyActives_param"
, "$param.WhitelistIds_param");
result.string(res);
import("Util_lib");
import("system.vars");
import("system.db");
import("system.result");
......@@ -13,14 +14,16 @@ if (vars.get("$param.OnlyActives_param") == "true")
if (vars.exists("$param.ExcludedKeyIdsSubquery_param") && vars.get("$param.ExcludedKeyIdsSubquery_param"))
cond.and("AB_KEYWORD_ENTRY.KEYID not in (" + vars.get("$param.ExcludedKeyIdsSubquery_param") + ")");
if (vars.getString("$param.WhitelistIds_param"))
var whitelist = Utils.parseJSON(vars.get("$param.WhitelistIds_param"));
var blacklist = Utils.parseJSON(vars.get("$param.BlacklistIds_param"));
if (whitelist)
{
var whitelist = JSON.parse(vars.getString("$param.WhitelistIds_param"));
if (whitelist.length > 0)
cond.and("AB_KEYWORD_ENTRY.KEYID", JSON.parse(vars.getString("$param.WhitelistIds_param")), SqlBuilder.IN());
cond.and("AB_KEYWORD_ENTRY.KEYID", whitelist, SqlBuilder.IN());
else
cond.noResult(); // force empty result if whitelist is empty
}
if (blacklist && blacklist.length > 0)
cond.and("AB_KEYWORD_ENTRY.KEYID", blacklist, SqlBuilder.NOT_IN());
result.string(cond.toString());
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment