Something went wrong on our end
-
Sebastian Listl authoredSebastian Listl authored
conditionProcess.js 1.29 KiB
import("KeywordRegistry_basic");
import("system.vars");
import("Util_lib");
import("system.db");
import("system.result");
import("Sql_lib");
import("MarketingCondition_lib");
var excludeWithCommunicationRejection = Utils.toBoolean(vars.get("$param.ExcludeCommunicationRejecting_param"));
var excludeBlacklisted = Utils.toBoolean(vars.get("$param.ExcludeBlacklisted_param"));
var excludedStatus = Utils.parseJSON(vars.get("$param.ExcludedStatus_param"));
var isTestMail = Utils.toBoolean(vars.get("$param.IsTestMail_param"));
var condition = newWhere("BULKMAILRECIPIENT.BULKMAIL_ID", "$param.BulkMailId_param");
if (isTestMail)
{
condition.and("BULKMAILRECIPIENT.TEST_RECIPIENT", 1);
}
else
{
if (excludeWithCommunicationRejection)
{
condition.and(new CommunicationSettingsCondition()
.medium($KeywordRegistry.communicationMediumCampaign$mail(), "BULKMAILRECIPIENT.EMAIL_ADDRESS")
.rejected()
.buildNotExistsCondition());
}
if (excludeBlacklisted)
{
condition.and("not (" + CommunicationBlacklist.getMailRecipientBlacklist().buildCondition() + ")");
}
if (!Utils.isNullOrEmpty(excludedStatus))
{
condition.and("BULKMAILRECIPIENT.STATUS", excludedStatus, SqlBuilder.NOT_IN());
}
}
result.string(condition.toSource());