В данной главе мы рассмотрим применение подсистемы Workflow в приложении-примере Библиотека, который может быть загружен с помощью CUBA Studio.
Задача - добавить в приложение возможность создавать и учитывать электронные версии изданий книг, имеющихся в библиотеке. При этом процесс создания электронной версии должен быть следующим:
-
Произвольный пользователь системы создает объект
EBook
и указывает в нем издание книги, для которого нужно нужно создать электронную версию, а затем стартует процесс оцифровки. -
Пользователь с ролью
Manager
получает назначение, которое предписывает ему одобрить или запретить оцифровку данной книги. Если менеджер одобрил оцифровку, то процесс продолжается, иначе - завершается. -
После одобрения менеджером для данного
EBook
создается назначение пользователю с рольюOperator
. Оператор выполняет оцифровку, и в случае успеха прикладывает кEBook
файл с электронной версией книги. -
По завершении процесса объект
EBook
может находиться в одном из трех состояний:-
Done
- оцифровка выполнена успешно, и объект содержит вложенный файл с электронной версией. -
Failed
- оцифровка не удалась. -
Disapproved
- оцифровка не одобрена менеджером.
-