Skip to content
Snippets Groups Projects
onValidation.js 1.05 KiB
Newer Older
import("system.translate");
import("system.result");
import("system.vars");
import("Sql_lib");

var channelType = vars.get("$field.CHANNEL_TYPE");
var medium = vars.get("$field.MEDIUM");
var channelId = vars.get("$field.CHANNEL_ID");

var alreadyExistsQuery = new SqlBuilder()
    .selectCount()
    .from("COMMUNICATIONSETTINGS")
    .where("COMMUNICATIONSETTINGS.CONTACT_ID", vars.get("$field.CONTACT_ID"))
    .and("COMMUNICATIONSETTINGS.COMMUNICATIONSETTINGSID", vars.get("$field.COMMUNICATIONSETTINGSID"), SqlBuilder.NOT_EQUAL())
    .and("COMMUNICATIONSETTINGS.CHANNEL_TYPE", channelType);
    
if (medium)
{
    alreadyExistsQuery.and("COMMUNICATIONSETTINGS.MEDIUM", medium);
}
else
{
    alreadyExistsQuery.and("COMMUNICATIONSETTINGS.MEDIUM is null");
}

if (channelId)
{
    alreadyExistsQuery.and("COMMUNICATIONSETTINGS.CHANNEL_ID", channelId);
}
else
{
    alreadyExistsQuery.and("COMMUNICATIONSETTINGS.CHANNEL_ID is null");
}

if (alreadyExistsQuery.cell() > 0)
{
    result.string(translate.text("A communication setting for this channel already exists!"));
}