Мета
Задача полягає в тому, щоб впровадити поле additional information, а також керування ним в адмінці ЦБД, в asset, execution (registry), announcement, redemption (jobber).
Опис
Необхідно додати в об'єкти asset, execution (registry), announcement, redemption (jobber) додаткову інформацію. За своєю сутністю додаткова інформація в цих об'єктах є повною копією додаткової інформації, яку ми додавали в процедури. Вона необхідна для того, щоб ми мали змогу швидше і простіше мігрувати процедури з ЦБД2 на ЦБД3, а також є і бізнесовий запит. Може відбутися кейс, коли організатору необхідно додати до об'єктів в термінальних статусах нові дані або документи. Це пов'язано з подіями, які відбуваються поза системою, і які прямо впливають на об'єкти в термінальних статусах (наприклад, рішення комісії з розгляду скарг, виконавчої дирекції організатора, людський фактор (помилково завантажені документи) або судових органів).
Щодо структури, то структуру необхідно повністю клонувати з процедури. Для зручності нижче додано структуру.
Щодо можливостей в панелі адміністратора, то також необхідно клонувати всі доступні дії для процедури.
Фактично задача полягає в тому, щоб повністю клонувати функціонал додаткової інформації, який є в процедурі, для сервісів registry, jobber.
User stories
Як СА Прозорро.Продажі, я хочу додати поле до об'єктів asset, execution (registry), announcement, redemption (jobber), щоб успішно мігрувати процедури з ЦБД2 на ЦБД3.
Як адміністратор Прозорро.Продажі, я хочу додавати інформацію або документи до об'єктів asset, execution (registry), announcement, redemption (jobber), щоб мати змогу відобразити інфо та/або документи на порталі та майданчиках.
Як організатор процедур, я хочу додавати інформацію до об'єктів asset, execution (registry), announcement, redemption (jobber), щоб надати більше деталей та/або завантажити документи.
Як учасник, я хочу бачити додаткову інформацію про asset, execution (registry), announcement, redemption (jobber), щоб отримати краще розуміння та актуальну інформацію щодо вказаних об'єктів.
Структура даних
Структура даних не має відрізнятись від структури, яка зараз наявна в процедурі.
Панель адміністратора ЦБД
Для того, щоб мати можливість керувати додатковою інформацією, необхідно додати можливість адміністратору виновувати наступні дії:
- Додати додаткову інформацію
- Переглядати додаткову інформацію
- Редагувати додаткову інформацію
Дії, які адміністратор не має виконувати:
- Видалення додаткової інформації
- Видалення (редагування) файлів додаткової інформації
Користувач
Для того, щоб користувач мав змогу отримати і побачити цю додаткову інформацію, необхідно додати відповідні ендпоінти до кожної сутності (asset, execution (registry), announcement, redemption (jobber)), а саме:
- GET/api/{{entity_name}}/{entity_id}/additionalInformation/history
- GET/api/{{entity_name}}/{entity_id}/additionalInformation/{add_info_id}/history
- GET/api/{{entity_name}}/{entity_id}}/additionalInformation/{add_info_id}/documents/history
- GET/api/{{entity_name}}/{entity_id}/additionalInformation/{add_info_id}/documents/{doc_id}/history
Процесс
Користувачем в цьому процесі є адміністратор.
- Логіниться в панель адміністратора
- Обирає оточення
- В бічному меню в пункті меню "commands" бачить команди:
- Add additional information to procedure
- Add additional information to asset
- Add additional information to execution
- Add additional information to announcement
- Add additional information to redemption
- Біля кожної команди бачить кнопки:
- Add (перенаправляє на сторінку додавання ДІ)
- View (перенаправляє на сторінку перегляду історії додавання ДІ)
Add
При натисканні на кнопку add, адміністратора перенаправляє на сторінку додавання нової додаткової інформації.
- Має можливість знайти об'єкт
- asset за
- _id
- assetId
- owner
- status
- execution за
- _id
- executionId
- owner
- status
- announcement за
- _id
- objectId
- owner
- status
- redemption за
- _id
- objectId
- owner
- status
- asset за
- Заповнити наступні поля:
- Additional information initiator
- Additional information reason
- Reason
- Додати файли (за потреби). Завантаження файлів відбувається згідно стандартного флоу і валідацій.
- Ввести OTP
- Підтвердити публікацію додаткової інформації
Важливо, що система має згенерувати дані для наступних полів:
- owner
- datePublished
- dateModified
View
При натисканні на кнопку view, адміністратора має перенаправити на сторінку перегляду події додавання додаткової інформації. У вікні необхідно відобразити наступні дані:
- id
- description
- initiator
- initiator other
- addInfo reason
- addInfo reason other
- reason
- created at
- created by
- files
- command results
Edit
Для редагування також треба додати команди в бічне меню, а саме:
- Add additional information to procedure
- Add additional information to asset
- Add additional information to execution
- Add additional information to announcement
- Add additional information to redemption
При редагуванні адміністратор має знайти сутність. в якій є об'єкт додаткової інформації, після чого обрати який саме об'єкт додаткової інформації буде редагуватись.
History
Кожну зміну, яка відбувається з об'єктом, необхідно зберігати і в подальшому відображати в history.