static function getDocumentFields($documentType)
{
$fields = [
'ID' => [
'Name' => 'ID',
'Type' => 'int',
],
'TITLE' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_TITLE'),
'Type' => 'string',
'Editable' => true
],
'DESCRIPTION' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_DESCRIPTION'),
'Type' => 'text',
'Editable' => true
],
'IS_IMPORTANT' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_IS_IMPORTANT'),
'Type' => 'bool',
'Editable' => true
],
'STATUS' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_STATUS'),
'Type' => 'select',
//'Editable' => true,
'Options' => [
Status::PENDING => Loc::getMessage('TASKS_BP_DOCUMENT_STATUS_PENDING_1'),
Status::IN_PROGRESS => Loc::getMessage('TASKS_BP_DOCUMENT_STATUS_IN_PROGRESS'),
Status::SUPPOSEDLY_COMPLETED => Loc::getMessage('TASKS_BP_DOCUMENT_STATUS_SUPPOSEDLY_COMPLETED'),
Status::COMPLETED => Loc::getMessage('TASKS_BP_DOCUMENT_STATUS_COMPLETED'),
Status::DEFERRED => Loc::getMessage('TASKS_BP_DOCUMENT_STATUS_DEFERRED'),
],
],
'RESPONSIBLE_ID' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_RESPONSIBLE_ID'),
'Type' => 'user',
//'Editable' => true
],
'DATE_START' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_DATE_START'),
'Type' => 'datetime',
],
'DURATION_PLAN' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_DURATION_PLAN'),
'Type' => 'int',
],
'DURATION_FACT' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_DURATION_FACT'),
'Type' => 'int',
],
'TIME_ESTIMATE' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_TIME_ESTIMATE'),
'Type' => 'int',
//'Editable' => true
],
'DEADLINE' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_DEADLINE'),
'Type' => 'datetime',
'Editable' => true
],
'START_DATE_PLAN' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_START_DATE_PLAN'),
'Type' => 'datetime',
'Editable' => true
],
'END_DATE_PLAN' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_END_DATE_PLAN'),
'Type' => 'datetime',
'Editable' => true
],
'IS_EXPIRED' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_IS_EXPIRED'),
'Type' => 'bool',
],
'CREATED_BY' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_CREATED_BY'),
'Type' => 'user',
],
'CREATED_DATE' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_CREATED_DATE'),
'Type' => 'datetime',
],
'CHANGED_BY' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_CHANGED_BY'),
'Type' => 'user',
],
'CHANGED_DATE' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_CHANGED_DATE'),
'Type' => 'datetime',
],
'CLOSED_BY' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_CLOSED_BY'),
'Type' => 'user',
],
'CLOSED_DATE' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_CLOSED_DATE'),
'Type' => 'datetime',
],
'MARK' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_MARK'),
'Type' => 'select',
'Editable' => true,
'Options' => [
Mark::POSITIVE => Loc::getMessage('TASKS_BP_DOCUMENT_MARK_POSITIVE'),
Mark::NEGATIVE => Loc::getMessage('TASKS_BP_DOCUMENT_MARK_NEGATIVE')
]
],
'ALLOW_CHANGE_DEADLINE' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_ALLOW_CHANGE_DEADLINE'),
'Type' => 'bool',
'Editable' => true,
],
'ALLOW_TIME_TRACKING' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_ALLOW_TIME_TRACKING'),
'Type' => 'bool',
'Editable' => true
],
'MATCH_WORK_TIME' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_MATCH_WORK_TIME'),
'Type' => 'bool',
],
'TASK_CONTROL' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_TASK_CONTROL'),
'Type' => 'bool',
'Editable' => true
],
'ADD_IN_REPORT' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_ADD_IN_REPORT'),
'Type' => 'bool',
//'Editable' => true
],
'GROUP_ID' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_GROUP_ID_INT'),
'Type' => 'int',
//'Editable' => true
],
'GROUP_ID_PRINTABLE' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_GROUP_ID_PRINTABLE'),
'Type' => 'string',
],
'PARENT_ID' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_PARENT_ID'),
'Type' => 'int',
],
'ACCOMPLICES' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_ACCOMPLICES'),
'Type' => 'user',
'Editable' => true,
'Multiple' => true,
],
'AUDITORS' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_AUDITORS'),
'Type' => 'user',
'Editable' => true,
'Multiple' => true,
],
'TAGS' => [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_TAGS'),
'Type' => 'string',
'Editable' => true,
'Multiple' => true,
],
];
if (isset($documentType) && (self::isPlanTask($documentType) || self::isPersonalTask($documentType)))
{
$fields['MEMBER_ROLE'] = [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_MEMBER_ROLE'),
'Type' => 'select',
'Options' => [
'O' => Loc::getMessage('TASKS_BP_DOCUMENT_MEMBER_ROLE_O'),
'R' => Loc::getMessage('TASKS_BP_DOCUMENT_MEMBER_ROLE_R'),
'A' => Loc::getMessage('TASKS_BP_DOCUMENT_MEMBER_ROLE_A'),
'U' => Loc::getMessage('TASKS_BP_DOCUMENT_MEMBER_ROLE_U'),
]
];
}
if (MainLoader::includeModule('forum'))
{
$fields['COMMENT_RESULT'] = [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_COMMENT_RESULT'),
'Type' => 'text',
//'Editable' => true,
'Multiple' => true,
];
$fields['COMMENT_RESULT_LAST'] = [
'Name' => Loc::getMessage('TASKS_BP_DOCUMENT_COMMENT_RESULT_LAST'),
'Type' => 'text',
//'Editable => true,
'Multiple' => false,
];
}
return array_merge($fields, self::getFieldsCreatedByUser());
}