Skip to content
Snippets Groups Projects
conditionProcess.js 1.15 KiB
import("system.vars");
import("system.db");
import("system.result");
import("Sql_lib");

var cond = new SqlCondition();
cond.andPrepareVars("CONTACT.ORGANISATION_ID", "$param.OrgId_param")
    .andPrepareVars("PERSON.CONTACT_ID", "$param.ContactId_param");

if (vars.exists("$param.ExcludedContactIds_param") && vars.get("$param.ExcludedContactIds_param"))
{
    var excludedContacts = JSON.parse(vars.get("$param.ExcludedContactIds_param"));
    var excludedCond = SqlCondition.begin();
    
    excludedContacts.forEach(function(pContactId)
    {
        excludedCond.andPrepare("CONTACT.CONTACTID", pContactId, "#<>?");
    });
    
    cond.andSqlCondition(excludedCond, "1=1");
}

/*
//in salesprojectMember, only people that aren't already in the salesproject should be selectable
cond.andPrepareVars("PERSON.PERSONID", "$param.SalesprojectId_param", 
    "# not in (select CONTACT.PERSON_ID from SALESPROJECT_MEMBER join CONTACT on SALESPROJECT_MEMBER.CONTACT_ID = CONTACT.CONTACTID "
        + " where SALESPROJECT_MEMBER.SALESPROJECT_ID = ?)");
*/
//TODO: use a preparedCondition when available #1030812 #1034026
result.string(db.translateCondition(cond.build("1 = 1")));