Skip to content
Snippets Groups Projects
serviceTaskParameterProcess.js 1.48 KiB
import("Keyword_lib");
import("system.tools");
import("KeywordRegistry_basic");
import("Workflow_lib");
import("system.vars");
import("system.result");

var users = tools.getUsersByAttribute(tools.ISACTIVE, ["true"], tools.PROFILE_FULL);
users = users.map(function (user)
{
    return {
        id : user[tools.PARAMS][tools.CONTACTID],
        name : (user[tools.PARAMS][tools.FIRSTNAME] + " " +  user[tools.PARAMS][tools.LASTNAME]).trim()
    };
}).sort(function (a, b) 
{
    if (a.name > b.name) 
        return 1;
    else if (a.name < b.name) 
        return -1;
    return 0;
});
        
result.object([
    new WorkflowServiceTaskParameter("activityResponsible", "Responsible", WorkflowServiceTaskParameter.ENUM(), users),
    new WorkflowServiceTaskParameter("activityDirection", "Direction", WorkflowServiceTaskParameter.ENUM(), _getKeywords($KeywordRegistry.activityDirection())),
    new WorkflowServiceTaskParameter("activityCategory", "Category", WorkflowServiceTaskParameter.ENUM(), _getKeywords($KeywordRegistry.activityCategory())),
    new WorkflowServiceTaskParameter("activityEntryDate", "Date", WorkflowServiceTaskParameter.DATE()),
    new WorkflowServiceTaskParameter("activityContent", "Content", WorkflowServiceTaskParameter.STRING()),
    new WorkflowServiceTaskParameter("activityTitle", "Title", WorkflowServiceTaskParameter.STRING())
]);

function _getKeywords (pContainer)
{
    return KeywordUtils.getEntryArray(pContainer).map(function (item) {return {id : item[0], name : item[1]};});
}