Формулировка проблемы: необходимо реализовать API для получения диалогов создания и редактирования работы.
Решение: необходимо:
реализовать новый метод для получения описания диалога создания и редактирования работы, а также создания проекта документа / проекта документа по шаблону, установленных по умолчанию;
доработать метод для получения настроек приложения, необходимых для работы приложения.
Метод для получения описания диалога создания и редактирования работы, создания проекта документа / проекта документа по шаблону, установленных по умолчанию
URL: rest/api/workflow/get_dialog_info.
Типа: GET.
Метод принимает следующие строковые параметры:
uuid - идентификатор диалога (не обяз.);
type - тип диалога (обяз. только при
отсутствии параметра uuid, в противном случае
игнорируется):
WORK - диалог создания работы,
установленный по умолчанию (выбран по умолчанию);
DOCUMENT_PROJECT - диалог создания
документа, установленный по умолчанию ;
TEMPLATE_PROJECT - диалог создания
документа по шаблону, установленный по умолчанию ;
locale - локаль пользователя,
ru/en/kz (не обяз., по умолчанию
ru).
Метод возвращает json со следующими полями:
name - название диалога (в зависимости от
локали);
uuid - идентификатор диалога;
default - является ли диалог диалогом по
умолчанию для текущего типа;
special - является ли диалог
"особым";
type - тип диалога (WORK, DOCUMENT_PROJECT,
TEMPLATE_PROJECT);
steps - список компонентов для каждого из
шагов, который в свою очередь содержит json:
type - тип компонента (все возможные
варианты перечислены ниже);
number - порядковый номер компонента;
show - отображать ли данный компонент
(true/false).
Примечание:
Поле
numberможет отсутствовать или иметь значениеnull. Это означает, что для типа компонента не указан номер и/или он имеет порядок по умолчанию.
Описание типов компонентов для диалога создания работы
(type = WORK): *
NAME - Название; * RESPONSIBLE
- Ответственный; * AUTHOR - Автор; *
USERS - Исполнитель; * DATES -
Сроки; * PRIORITY - Приоритет; *
LOAD - Нагрузка; * ATTACH_FILE
- Приложить файл; * KEYWORDS - Ключевые слова; *
REPEAT - Повторять; *
COMPLETION_FORM - Форма завершения; *
COMMENT - Комментарий.
Описание компонентов для диалога создания проекта документа
(type = DOCUMENT_PROJECT): *
NAME_P - Название; *
DOCUMENT_TYPE - Тип документа; *
COMPLETION_P - Завершение; *
PRIORITY_P - Приоритет; *
ATTACH_FILE_P - Прикрепить файл; *
KEYWORDS_P - Ключевые слова.
Описание компонентов для диалога создания проекта документа по
шаблону (type =
TEMPLATE_PROJECT): * NAME_T -
Название; * DOC_TEMPLATE - Шаблон документа; *
CREATE_WORK - Создать работу; *
COMPLETION_T - Завершение; *
PRIORITY_T - Приоритет; *
KEYWORDS_T - Ключевые слова.
Метод для получения настроек приложения, необходимых для работы приложения
URL: rest/api/settings/get.
Типа: GET.
Необходимо также возвращать массив dialogs со
следующими полями:
name - название диалога (в зависимости от локали);
uuid - идентификатор диалога;
type - тип диалога (WORK,
DOCUMENT_PROJECT,
TEMPLATE_PROJECT).
Пример возвращаемых массивов
для метода rest/api/docflow/doc/document_info
{
name: "КАСТОМНЫЙ ДИАЛОГ",
uuid: "363fed9c-2dcc-4037-936d-6338cebcb4bc",
default: "true",
special: "true",
type: "WORK",
steps: [
{
components: "[NAME, RESPONSIBLE, AUTHOR, USERS, DATES]"
},
{
components: "[PRIORITY, LOAD, ATTACH_FILE]"
},
{
components: "[REPEAT, COMPLETION_FORM, COMMENT]"
}
]
}
для метода rest/api/settings/get
"dialogs": [
{
"name": "КАСТОМНЫЙ ДИАЛОГ",
"uuid": "363fed9c-2dcc-4037-936d-6338cebcb4bc",
"type": "WORK"
},
{
"name": "КАСТОМНЫЙ ДИАЛОГ РАБОТА БЛА БЛА БЛА",
"uuid": "86b485f4-9469-49c9-ba42-41e3618720a2",
"type": "WORK"
},
{
"name": "Проект документа",
"uuid": "project",
"type": "DOCUMENT_PROJECT"
},
{
"name": "Проект документа по шаблону...",
"uuid": "template",
"type": "TEMPLATE_PROJECT"
},
{
"name": "Работа",
"uuid": "work",
"type": "WORK"
}
]