Формулировка проблемы:
существующие методы API для получения списка файлов работы и
документа содержат параметр is_editable
,
обозначающий возможность изменять либо удалять файл авторизованным
пользователем. Данный параметр учитывает только доступность папки
"Приложения". Но если это файл по форме, а работа или
документ принадлежит реестру, этот параметр не учитывает права на
реестр. Для реализации мобильных приложений необходимо расширить
возможности вышеуказанного параметра.
Решение:
Данной задачей затрагивается следующие 4 метода API:
rest/api/workflow/work/{workID}/attachments
-
получение списка всех файлов работы;
rest/api/workflow/work/{workID}/last_attachments
- получение отсортированного в обратном порядке (по дате
добавления) списка файлов работы;
rest/api/docflow/doc/attachments
- получение
списка всех файлов документа;
rest/api/doc/last_attachments
- получение
отсортированного в обратном порядке (по дате добавления) списка
файлов документа.
Во всех перечисленных методах необходимо доработать выходной
параметр is_editable
. Теперь итоговое значение
параметра («true» или «false») должно определяться так:
false
- для файла из папки
"Приложения" и если:
в ходе выполнения документа есть хотя бы одна незавершенная работа по согласованию / ознакомлению / утверждению;
документ находится на регистрации (всегда и всем, включая сотрудникам канцелярии) либо зарегистрирован (исключение: сотрудник канцелярии данного журнала с правом «Редактирование файлов (зарег.)»);
на документ наложена хотя бы одна резолюция;
новое: файл по форме принадлежит реестру, на который у данного пользователя отсутствует право «Редактирование» (если запись еще не активирована) либо «Изменение» (если запись уже активирована);
true
- во всех остальных случаях
(вышеописанные ограничения не касаются папки
"Прочие").