Skip to content
Snippets Groups Projects
contentProcess.js 2.35 KiB
import("system.logging");
import("system.result");
import("system.vars");
import("system.calendars");
import("system.datetime");
import("system.eMath");
import("system.util");

if(vars.exists("$param.Entry_param") && vars.get("$param.Entry_param"))
{

    var entry = JSON.parse(vars.getString("$param.Entry_param"));

    var masterEntry = null;
    if (vars.exists("$param.MasterEntry_param") && vars.get("$param.MasterEntry_param") != "") {
        masterEntry = JSON.parse(vars.get("$param.MasterEntry_param"));
    }

    var uid = entry[calendars.ID];    
    var summary = entry[calendars.SUMMARY];
    var attendees = entry[calendars.AFFECTEDUSERS];
    var startdate = entry[calendars.DTSTART];
    var enddate = entry[calendars.DTEND];
    var links = entry[calendars.LINKS];
    var description = entry[calendars.DESCRIPTION];
    var organizer = entry[calendars.ORGANIZER2]["paramvalue"];
    var status = entry[calendars.STATUS];
    var location = entry[calendars.LOCATION];
    var reminder = entry[calendars.REMINDER_DURATION];
    var remindercheck = entry[calendars.HASREMINDER]
    var classification = entry[calendars.CLASSIFICATION];
    var transparency = entry[calendars.TRANSPARENCY];
    var categories = entry[calendars.CATEGORIES];
    
    var masterBegin = masterEntry != null ? masterEntry[calendars.DTSTART] : null
    var masterEnd = masterEntry != null ? masterEntry[calendars.DTEND] : null
    
    // Recurrence
    var recurrenceID = entry[calendars.RECURRENCEID];
    var rrule = null;
    if (masterEntry != null) { // Entry is a recurrence exception, therefore get rrule from master
        rrule = masterEntry[calendars.RRULE] != null ? masterEntry[calendars.RRULE][0] : null;
    } else {
        rrule = entry[calendars.RRULE] != null ? entry[calendars.RRULE][0] : null;
    }
   
    //@TODO Icon 
    result.object([
        [
            uid, 
            attendees.length, 
            startdate, 
            enddate, 
            summary, 
            organizer,
            attendees, 
            status, 
            links, 
            description, 
            location, 
            '', 
            classification,
            transparency, 
            categories, 
            reminder, 
            remindercheck, 
            rrule, 
            recurrenceID, 
            null, 
            masterBegin, 
            masterEnd
        ]
    ]);
}