Skip to content
Snippets Groups Projects
conditionProcess.js 1.33 KiB
import("KeywordRegistry_basic");
import("Employee_lib");
import("system.entities");
import("system.result");
import("system.vars");
import("Sql_lib");

var isDashletView = vars.get("$param.isDashletView_param");
var organisationID = vars.get("$param.currentOrganisationId_param");
var districtID = vars.get("$param.DistrictId_param");
var cond = newWhere();

if (vars.exists("$param.RowId_param") && vars.get("$param.RowId_param") && vars.exists("$param.ObjectId_param") && vars.get("$param.ObjectId_param"))
{
    cond.and("DISTRICTCONTACT.ADVISER_CONTACT_ID", newSelect("DISTRICTRESPONSIBLE.EMPLOYEE_CONTACT_ID")
        .from("DISTRICTRESPONSIBLE")
        .where("DISTRICTRESPONSIBLE.DISTRICTRESPONSIBLEID", "$param.RowId_param")
        , SqlBuilder.IN());
}
if (organisationID)
{
    cond.and("DISTRICTCONTACT.CONTACT_ID", organisationID);
} 

var statusInReview = $KeywordRegistry.contactStatus$inReview();
var districtOrigin = $KeywordRegistry.districtOrigin$auto();

if(isDashletView)
{
    var currentContactId = EmployeeUtils.getCurrentContactId();
    
    cond.and("DISTRICTCONTACT.STATUS", statusInReview);
    cond.and("DISTRICTCONTACT.ORIGIN", districtOrigin);
    cond.and("DISTRICTCONTACT.ADVISER_CONTACT_ID", currentContactId);
}

if(districtID){    
    cond.and("DISTRICTCONTACT.DISTRICT_ID", districtID);
}

result.string(cond.toString());