Формулировка проблемы: нет возможности получить статусы календаря определенного пользователя.
Решение: необходимо реализовать API метод, который возвращает все периоды с назначенным статусом для указанного пользователя.
URL метода:
/rest/api/userchooser/getUserCalendarStatus
Тип запроса: GET.
Метод принимает следующие входные параметры:
userID - uuid пользователя
(обяз.);
date - дата в формате
yyyy-MM-dd (необяз., по умолчанию принимает
значение текущей даты в системе). Если передана некорректная
дата, то в качестве значения этого параметра используется
текущая дата;
locale (не обяз.) - код локали (при
отсутствии параметра используется
язык
системы по умолчанию).
Метод возвращает все периоды пользователя с назначенным статусом, которые попадают на указанный день.
В случае успешного выполнения метод возвращает массив JSON, состоящий из следующих полей:
type - тип статуса;
status - тип занятости в данный период.
Принимает следующие значения:
busy - занят в каждый день периода,
standart - обычное рабочее время,
free - свободен в каждый день периода;
color - цвет статуса;
title - название статуса;
statusLabel - название статуса пользователя;
startDate - дата начала периода;
finishDate - дата завершения периода;
makeVacant - признак занятости штатной
единицы. Принимает следующие значения:
0 - пользователь с таким статусом занимает штатную единицу на период действия статуса;
1 - пользователь с таким статусом не занимает штатную единицу на период действия статуса.
Пример запроса:
rest/api/userchooser/getUserCalendarStatus?userID=407d94f5-c8dd-469d-8328-ae426f04dbd4
Пример возвращаемого массива JSON:
[
{
"type": 0,
"status": "free",
"color": "#5462ef",
"title": "Отпуск",
"statusLabel": "В отпуске с {date.start} по {date.finish}",
"startDate": "2016-12-29",
"finishDate": "2016-12-31"
"makeVacant": 0
},
{
"type": 0,
"status": "free",
"color": "#5462ef",
"title": "Отпуск",
"statusLabel": "В отпуске с {date.start} по {date.finish}",
"startDate": "2016-12-30",
"finishDate": "2016-01-04"
"makeVacant": 0
}
]
Альтернативные потоки событий
Альтернативный поток №1. Не передан или передан некорректный
параметр userID. Сервер возвращает ошибку 400 с
сообщением:
{
"errorCode" : 3,
"errorMessage" : "Не передан или передан некорректный параметр userID"
}