static function getMap()
{
return array(
'ID' => array(
'data_type' => 'integer',
'primary' => true,
'autocomplete' => true,
'title' => Loc::getMessage('CALL_ENTITY_ID_FIELD'),
),
'CONFIG_ID' => array(
'data_type' => 'integer',
'title' => Loc::getMessage('CALL_ENTITY_CONFIG_ID_FIELD'),
),
'USER_ID' => array(
'data_type' => 'integer',
'title' => Loc::getMessage('CALL_ENTITY_USER_ID_FIELD'),
),
'PORTAL_USER_ID' => array(
'data_type' => 'integer',
'title' => Loc::getMessage('CALL_ENTITY_PORTAL_USER_ID_FIELD'),
),
'CALL_ID' => array(
'data_type' => 'string',
'required' => true,
'validation' => array(__CLASS__, 'validateCallId'),
'title' => Loc::getMessage('CALL_ENTITY_CALL_ID_FIELD'),
),
'EXTERNAL_CALL_ID' => array(
'data_type' => 'string',
),
'INCOMING' => array(
'data_type' => 'string',
'title' => '',
),
'CALLER_ID' => array(
'data_type' => 'string',
'validation' => array(__CLASS__, 'validateCallerId'),
'title' => Loc::getMessage('CALL_ENTITY_CALLER_ID_FIELD'),
),
'STATUS' => array(
'data_type' => 'string',
'validation' => array(__CLASS__, 'validateStatus'),
'title' => Loc::getMessage('CALL_ENTITY_STATUS_FIELD'),
),
'CRM' => array(
'data_type' => 'boolean',
'values' => array('N', 'Y'),
'title' => '',
),
'CRM_ACTIVITY_ID' => array(
'data_type' => 'integer',
'title' => '',
),
'CRM_CALL_LIST' => array(
'data_type' => 'integer',
'title' => '',
),
'CRM_BINDINGS' => array(
'data_type' => 'text',
'serialized' => true
),
'ACCESS_URL' => array(
'data_type' => 'string',
'required' => false,
'validation' => array(__CLASS__, 'validateAccessUrl'),
'title' => Loc::getMessage('CALL_ENTITY_ACCESS_URL_FIELD'),
),
'DATE_CREATE' => array(
'data_type' => 'datetime',
'title' => Loc::getMessage('CALL_ENTITY_DATE_CREATE_FIELD'),
),
'REST_APP_ID' => array(
'data_type' => 'integer',
'title' => ''
),
'EXTERNAL_LINE_ID' => array(
'data_type' => 'integer',
),
'PORTAL_NUMBER' => array(
'data_type' => 'string',
),
'STAGE' => array(
'data_type' => 'string'
),
'IVR_ACTION_ID' => array(
'data_type' => 'integer',
),
'QUEUE_ID' => array(
'data_type' => 'integer',
'title' => ''
),
'QUEUE_HISTORY' => array(
'data_type' => 'text',
'serialized' => true,
'default_value' => array()
),
'SESSION_ID' => array(
'data_type' => 'integer'
),
'CALLBACK_PARAMETERS' => array(
'data_type' => 'text',
'serialized' => true,
'default_value' => array()
),
'COMMENT' => array(
'data_type' => 'text',
),
'WORKTIME_SKIPPED' => array(
'data_type' => 'boolean',
'values' => array('N', 'Y'),
'title' => '',
),
'SIP_HEADERS' => array(
'data_type' => 'text',
'serialized' => true,
'default_value' => array(),
),
'GATHERED_DIGITS' => array(
'data_type' => 'string'
),
'PARENT_CALL_ID' => array(
'data_type' => 'string'
),
'LAST_PING' => array(
'data_type' => 'datetime',
'default_value' => function()
{
return new DateTime();
}
),
'EXECUTION_GRAPH' => array(
'data_type' => 'text',
'serialized' => true,
),
'QUEUE' => new EntityReferenceField(
'QUEUE',
QueueTable::getEntity(),
array('=this.QUEUE_ID' => 'ref.ID'),
array('join_type' => 'left')
),
'CONFIG' => new EntityReferenceField(
'CONFIG',
ConfigTable::getEntity(),
array('=this.CONFIG_ID' => 'ref.ID'),
array('join_type' => 'left')
),
'EXTERNAL_LINE' => new EntityReferenceField(
'EXTERNAL_LINE',
ExternalLineTable::getEntity(),
array('=this.EXTERNAL_LINE_ID' => 'ref.ID'),
array('join_type' => 'left')
)
);
}