diff --git a/entity/KeywordEntry_entity/recordcontainers/jdito/contentProcess.js b/entity/KeywordEntry_entity/recordcontainers/jdito/contentProcess.js index 7fa2f2e399d563df82aef2d74d90aa34ac3b7eb6..bd4a9e38d84665f44c06f299131ae95cdb5fe930 100644 --- a/entity/KeywordEntry_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/KeywordEntry_entity/recordcontainers/jdito/contentProcess.js @@ -20,6 +20,24 @@ var keywordStatement = newSelect("AB_KEYWORD_ENTRY.KEYID, AB_KEYWORD_ENTRY.TITLE .from("AB_KEYWORD_ENTRY") .join("AB_KEYWORD_CATEGORY", "AB_KEYWORD_ENTRY.AB_KEYWORD_CATEGORY_ID = AB_KEYWORD_CATEGORY.AB_KEYWORD_CATEGORYID") .where(); + +var whitelist = JSON.parse(vars.get("$param.WhitelistIds_param")); +var blacklist = JSON.parse(vars.get("$param.BlacklistIds_param")); +if (whitelist) +{ + if (whitelist.length > 0) + { + keywordStatement.and("AB_KEYWORD_ENTRY.KEYID", whitelist, SqlBuilder.IN()); + } + else + { + keywordStatement.noResult(); // force empty result if whitelist is empty + } +} +if (blacklist && blacklist.length > 0) +{ + keywordStatement.and("AB_KEYWORD_ENTRY.KEYID", blacklist, SqlBuilder.NOT_IN()); +} if (vars.get("$param.OnlyActives_param") == "true") { diff --git a/entity/ObjectProxy_entity/ObjectProxy_entity.aod b/entity/ObjectProxy_entity/ObjectProxy_entity.aod index de754623cf36e1b09bf1034ab63637df6592e614..1e633cfb90637ff024ff9356586b2a7a3a9cda52 100644 --- a/entity/ObjectProxy_entity/ObjectProxy_entity.aod +++ b/entity/ObjectProxy_entity/ObjectProxy_entity.aod @@ -156,8 +156,6 @@ <name>DocumentTemplates</name> <dependency> <name>dependency</name> - <entityName>DocumentTemplate_entity</entityName> - <fieldName>#PROVIDER</fieldName> </dependency> </entityConsumer> <entityConsumer> diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod index de9acec82189efcfea075993420736b72dd9932f..a16373ac50f999464e518d3eec6264dc9015b5f1 100644 --- a/entity/Offer_entity/Offer_entity.aod +++ b/entity/Offer_entity/Offer_entity.aod @@ -328,6 +328,10 @@ <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/keywordofferstates/children/containername_param/valueProcess.js</valueProcess> <expose v="false" /> </entityParameter> + <entityParameter> + <name>WhitelistIds_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/keywordofferstates/children/whitelistids_param/valueProcess.js</valueProcess> + </entityParameter> </children> </entityConsumer> <entityConsumer> diff --git a/entity/Offer_entity/entityfields/keywordofferstates/children/whitelistids_param/valueProcess.js b/entity/Offer_entity/entityfields/keywordofferstates/children/whitelistids_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..31c9a715e41135a13d978901f32297c3c8db8f5c --- /dev/null +++ b/entity/Offer_entity/entityfields/keywordofferstates/children/whitelistids_param/valueProcess.js @@ -0,0 +1,12 @@ +import("system.vars"); +import("system.result"); +import("KeywordRegistry_basic"); + +if(vars.get("$field.STATUS") == $KeywordRegistry.offerStatus$sent()) +{ + result.string(JSON.stringify([ + $KeywordRegistry.offerStatus$sent(), + $KeywordRegistry.offerStatus$won(), + $KeywordRegistry.offerStatus$lost() + ])); +} diff --git a/entity/Offer_entity/grantUpdateProcess.js b/entity/Offer_entity/grantUpdateProcess.js index dd8ad2ced390f8db78ba4b8eb638915cfdda25aa..1677ad01a5fab5626a4ae9c7b04b260f656e4754 100644 --- a/entity/Offer_entity/grantUpdateProcess.js +++ b/entity/Offer_entity/grantUpdateProcess.js @@ -7,8 +7,6 @@ import("KeywordRegistry_basic"); // using the grant update would also disable the status field. var status = vars.get("$field.STATUS"); -var editable = status != $KeywordRegistry.offerStatus$sent() - && status != $KeywordRegistry.offerStatus$won() - && status != $KeywordRegistry.offerStatus$lost(); +var editable = status != $KeywordRegistry.offerStatus$won() && status != $KeywordRegistry.offerStatus$lost(); result.string(editable || tools.hasRole(vars.get("$sys.user"), "INTERNAL_ADMINISTRATOR"));