Skip to content
Snippets Groups Projects
onActionProcess.js 1.94 KiB
import("system.translate");
import("system.datetime");
import("system.calendars");
import("system.eMath");
import("system.util");
import("system.db");
import("system.vars");
import("system.neon");
import("system.result");
import("Communication_lib");
import("Calendar_lib");
import("Contact_lib")
import("Sql_lib");

var selectionRowData = vars.get("$sys.selectionRows");

if(selectionRowData[0].VISITRECOMMENDATION_ID)
{
    newWhere("VISITRECOMMENDATION.VISITRECOMMENDATIONID", selectionRowData[0].VISITRECOMMENDATION_ID)
            .updateData(true, "VISITRECOMMENDATION", ["STATUS"], null, ["PLANNED"]);
}

var fullName = ContactUtils.getFullTitleByContactId(selectionRowData[0].CONTACT_ID, true)
var summary = translate.text("Site visit") + " || " + fullName;
var description = fullName;
var standardMail = CommUtil.getStandardMail(selectionRowData[0].CONTACT_ID); 

//creates an js date object with the current utc time and adds the appointment begin/end time.
//necessary for CalendarUtil.createEntry() 
var start = new Date(datetime.today(vars.get("$sys.timezone"))+Number(selectionRowData[0].BEGIN_TIME));
var end = new Date(datetime.today(vars.get("$sys.timezone"))+Number(selectionRowData[0].END_TIME));

var links = [
    {
        "OBJECT_ID" : selectionRowData[0]["ORGANISATION_CONTACT_ID"],
        "OBJECT_TYPE" : "Organisation"
    },
    {
        "OBJECT_ID" : selectionRowData[0]["CONTACT_ID"],
        "OBJECT_TYPE" : "Person"
    }
];

var params = {
    "Entry_param": JSON.stringify(CalendarUtil.createEntry(summary, description, links, undefined, undefined, start,
                                                                end, undefined, undefined, undefined, [standardMail], 
                                                                undefined, undefined, undefined))
    , "VisitPlanId_param": selectionRowData[0]["#UID"]
};

neon.openContext("Appointment", "AppointmentEdit_view", null, neon.OPERATINGSTATE_NEW, params, null);
result.string(true);