Формулировка проблемы: необходимо реализовать 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" } ]