Skip to content
Snippets Groups Projects
Commit 32edb5eb authored by Vinzent Broens's avatar Vinzent Broens Committed by Martin Groppe
Browse files

Marketing 1083564 copybulkmail

parent 2ce491ec
No related branches found
No related tags found
No related merge requests found
import("KeywordRegistry_basic");
import("Communication_lib");
import("Workflow_lib");
import("Binary_lib");
import("Sql_lib");
......@@ -28,28 +30,61 @@ if (template && template.content && BulkMailUtils.isValidTemplateType(template.t
SingleBinaryUtils.insert("BULKMAIL", "DOCUMENT", bulkMailId, template.content, template.filename);
}
var contactIds = [];
// CopyBulkMail Recipients
if (vars.get("$param.CopyBulkMailId_param")){
var BulkMailParam = vars.get("$param.CopyBulkMailId_param");
if (vars.get("$param.CopyBulkMailId_param"))
{
var config = entities.createConfigForLoadingRows()
.entity("BulkMailRecipient_entity")
.provider("BulkMailRecipients")
.addParameter("BulkMailId_param", vars.get("$param.CopyBulkMailId_param"))
.fields(["CONTACT_ID"]);
var copiedRecipients = entities.getRows(config);
contactIds = copiedRecipients.map(function(pRecipient)
var copiedRecipients = newSelect("CONTACT_ID, EMAIL_ADDRESS, IS_TEST_RECIPIENT")
.from("BULKMAILRECIPIENT")
.join("CONTACT", "BULKMAILRECIPIENT.CONTACT_ID = CONTACT.CONTACTID")
.where("BULKMAILRECIPIENT.BULKMAIL_ID", BulkMailParam)
// check if there's a commrestriction
.and(new CommunicationSettingsCondition()
.emails(CommUtil.getStandardSubSqlMail())
.rejected()
.existNoSettings()
.buildCondition())
.table()
var sqlBuilder = new SqlBuilder();
var inserts = copiedRecipients.map(function([contactId, email, test])
{
return pRecipient["CONTACT_ID"];
return sqlBuilder.buildInsertStatement({
"BULKMAIL_ID": bulkMailId,
"CONTACT_ID": contactId,
"STATUS": $KeywordRegistry.bulkMailRecipientStatus$pending(),
"EMAIL_ADDRESS": email,
"IS_TEST_RECIPIENT": test
}, "BULKMAILRECIPIENT", "BULKMAILRECIPIENTID");
});
}
db.inserts(inserts);
//CopyBulkMail TestRecipients
if (vars.getString("$param.PresetRecipients_param"))
contactIds = contactIds.concat(JSON.parse(vars.getString("$param.PresetRecipients_param")));
copiedRecipients = newSelect("CONTACT_ID, EMAIL_ADDRESS")
.from("BULKMAILTESTRECIPIENT")
.join("CONTACT", "BULKMAILTESTRECIPIENT.CONTACT_ID = CONTACT.CONTACTID")
.where("BULKMAILTESTRECIPIENT.BULKMAIL_ID", BulkMailParam)
// check if there's a commrestriction
.and(new CommunicationSettingsCondition()
.emails(CommUtil.getStandardSubSqlMail())
.rejected()
.existNoSettings()
.buildCondition())
.table()
if (contactIds && contactIds.length > 0)
BulkMailUtils.addRecipients(bulkMailId, BulkMailUtils.filterNewRecipients(bulkMailId, contactIds));
sqlBuilder = new SqlBuilder();
inserts = copiedRecipients.map(function([contactId, email])
{
return sqlBuilder.buildInsertStatement({
"BULKMAIL_ID": bulkMailId,
"CONTACT_ID": contactId,
"EMAIL_ADDRESS": email
}, "BULKMAILTESTRECIPIENT", "BULKMAILTESTRECIPIENTID");
});
db.inserts(inserts);
}
WorkflowSignalSender.inserted();
\ No newline at end of file
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