static function generateMap(array $parameters = array())
{
$map = parent::generateMap(array(
'EXCLUDE' => array(
'FILES' => true, // deprecated
'STATUS' => true, // status in the template?!
// will be overwritten below
'RESPONSIBLE_ID' => true,
'ACCOMPLICES' => true,
'AUDITORS' => true,
'RESPONSIBLES' => true,
'DEPENDS_ON' => true,
'REPLICATE_PARAMS' => true,
'TAGS' => true,
)
));
$map->placeFields(array(
// override some tablet fields
'RESPONSIBLE_ID' => new TemplateFieldLegacyResponsible(array(
'NAME' => 'RESPONSIBLE_ID',
'SOURCE' => Scalar::SOURCE_TABLET,
'DB_READABLE' => false, // will be calculated from RESPONSIBLES
'DB_WRITABLE' => true,
'OFFSET_GET_CACHEABLE' => false,
)),
'ACCOMPLICES' => new CollectionInteger(array(
'NAME' => 'ACCOMPLICES',
'SOURCE' => Scalar::SOURCE_TABLET,
'DB_READABLE' => true,
'DB_WRITABLE' => true,
'DB_SERIALIZED' => true,
)),
'AUDITORS' => new CollectionInteger(array(
'NAME' => 'AUDITORS',
'SOURCE' => Scalar::SOURCE_TABLET,
'DB_READABLE' => true,
'DB_WRITABLE' => true,
'DB_SERIALIZED' => true,
)),
'RESPONSIBLES' => new CollectionInteger(array(
'NAME' => 'RESPONSIBLES',
'SOURCE' => Scalar::SOURCE_TABLET,
'DB_READABLE' => true,
'DB_WRITABLE' => true,
'DB_SERIALIZED' => true,
)),
'DEPENDS_ON' => new CollectionInteger(array(
'NAME' => 'DEPENDS_ON',
'SOURCE' => Scalar::SOURCE_TABLET,
'DB_READABLE' => true,
'DB_WRITABLE' => true,
'DB_SERIALIZED' => true,
)),
'REPLICATE_PARAMS' => new FieldReplicateParams(array(
'NAME' => 'REPLICATE_PARAMS',
'SOURCE' => Scalar::SOURCE_TABLET,
'DB_READABLE' => true,
'DB_WRITABLE' => true,
)),
// sub-entity
'SE_CHECKLIST' => new FieldCheckList(array(
'NAME' => 'SE_CHECKLIST',
'TITLE' => Loc::getMessage('TASKS_ITEM_TASK_TEMPLATE_FIELD_SE_CHECKLIST'),
'SOURCE' => Scalar::SOURCE_CUSTOM,
)),
'SE_ACCESS' => new FieldAccess(array(
'NAME' => 'SE_ACCESS',
'TITLE' => Loc::getMessage('TASKS_ITEM_TASK_TEMPLATE_FIELD_SE_ACCESS'),
'SOURCE' => Scalar::SOURCE_CUSTOM,
)),
'SE_TAG' => new FieldTag(array(
'NAME' => 'SE_TAG',
'TITLE' => Loc::getMessage('TASKS_ITEM_TASK_TEMPLATE_FIELD_SE_TAG'),
'SOURCE' => Scalar::SOURCE_TABLET,
'DB_NAME' => 'TAGS',
'DB_READABLE' => true,
'DB_WRITABLE' => true,
)),
'BASE_TEMPLATE_ID' => new FieldBaseTemplate(array(
'NAME' => 'BASE_TEMPLATE_ID',
'TITLE' => Loc::getMessage('TASKS_ITEM_TASK_TEMPLATE_FIELD_BASE_TEMPLATE_ID'),
'SOURCE' => Scalar::SOURCE_CUSTOM,
)),
));
return $map;
}