Демо-логіни з ролями¶
Усі логіни — пароль admin. Створюються при python manage.py seed_demo.
Tenant eswf — TOV ESWF Software (DOP vendor)¶
| Логін | Person | Posada | Ролі |
|---|---|---|---|
eswf |
Ніколаєнко | CTO / директор | tenant_admin (повний доступ) |
melnyk |
Мельник | Бухгалтер / менеджер | accountant + sales_manager |
tkachenko |
Ткаченко | Керівник підтримки | support_specialist |
bondarenko |
Бондаренко | Senior Engineer | engineer |
Use case для тестування: ESWF — це команда, що продає DOP клієнтам. Логінься як bondarenko щоб побачити "internal-only" доступ розробника. Як tkachenko — view рахунків клієнтів без права редагувати. Як melnyk — повний бух+sales (поєднання двох ролей).
Tenant dry_port — TOV Sukhyi Port Kyiv (термінал)¶
| Логін | Person | Posada | Ролі |
|---|---|---|---|
port |
Бойко | Директор | tenant_admin |
honchar |
Гончар | Бухгалтер / менеджер | accountant + sales_manager |
lytvyn |
Литвин | Митний брокер | forwarder |
gate |
— | Оператор воріт | gate_operator |
weigher |
— | Вагар | weighbridge_operator |
dispatcher |
— | Диспетчер термінала | terminal_dispatcher |
yard |
— | Стивідор | yard_manager |
Use case: контейнерний термінал. Залогінься як gate — побачиш лише розділ Gatehouse + vehicles ref data. Як dispatcher — Containers, Bookings, Movements, YardInventories, TrainArrivals. Як forwarder — Railway-роути, train arrivals, контейнерні bookings (read).
Tenant agro_holding — Agro Holding "AhroMriya" (4 юрособи)¶
| Логін | Person | Юрособа | Ролі |
|---|---|---|---|
admin |
Петренко | Zernoplyus / директор холдингу | tenant_admin |
koval |
Коваль | Zernoplyus | accountant + sales_manager |
sydorenko |
Сидоренко | Zernoplyus / агроном | engineer (ad-hoc для агронома) |
bilous |
Білоус | OliyProm | accountant |
havryliuk |
Гаврилюк | OliyProm / виробництво | production_manager |
kravets |
Кравець | AhroTrans | accountant |
oliynyk |
Олійник | AhroTrans / диспетчер | transport_dispatcher |
bulkina |
Булкіна | FOP Pekar / продавець | sales_manager + support_specialist |
gate_agro |
— | (сило́си + пекарня) | gate_operator |
weigher_agro |
— | (приймання зерна) | weighbridge_operator |
Use case: агрохолдинг із 4 юрособами + спільні ворота. Залогінься як havryliuk щоб побачити Production (BOMs, WorkOrders, Writeoffs). Як oliynyk — повне управління автопарком AhroTrans. Як gate_agro — ворота на сило́сах і пекарні (така сама роль як у dry_port).
Сценарії для демо¶
"Engineer не бачить фінансів" (dry_port)¶
- Залогінитись
bondarenko/admin(eswf — engineer) - Спробувати відкрити Invoices, Cashboxes, Leads, JE → порожній sidebar для цих секцій (приховано через permission filter)
- Бачить лише
Persons,Employees,Attendance Logs
"Скоупи бухгалтера + sales-менеджера в одному юзері" (eswf)¶
- Залогінитись
melnyk/admin - Бачить весь Essentials + повний CRM + StoreManager
- НЕ бачить admin-tools settings (BAFSyncSettings, EssentialsSettings) — IsTenantAdmin only
- Бачить Reports, Audit log
"Ворота на двох тенантах" (gatehouse)¶
gate/admin(dry_port) — gate events, weighing tickets, vehiclesgate_agro/admin(agro_holding) — те саме, але на даних agro- Однакова роль
gate_operator, різні набори даних — multi-tenancy в дії
"Production manager бачить Workflows але не post payroll" (agro)¶
havryliuk/admin— bachit BOMs, WorkOrders, GoodsWriteoffs з посту, PayrollSlip view- Спробує
post payroll→ 403 (це лише accountant) - Створює WorkOrder, проводить його через
workOrders/post-document/
"Транспортний диспетчер" (agro)¶
oliynyk/admin— Vehicles, Drivers, Routes, Waybills, Orders, TransportInvoices- Створює Waybill, post → проводки в DriverSalaryAccrual
- НЕ бачить JE, Cashboxes (це accountant)
Тренди по тенантах¶
- eswf має класичний внутрішньо-офісний набір ролей: tenant_admin, accountant, sales, support, engineer.
- dry_port додає terminal-side ролі: gate, weigher, dispatcher, yard, forwarder. Поєднує з accountant/sales (honchar тримає обидві).
- agro_holding має 4 юрособи — фактично 4 різних "акаунти" в одному тенанті. Bookkeepers per юрособи (
koval/bilous/kravets), окремі production (havryliuk) і transport (oliynyk) спеціалісти. Плюс воротаgate_agro/weigher_agroбо холдинг має фізичні об'єкти.
Технічні деталі¶
- Demo-юзери створюються через
_roles_<tenant>.pyseeders, що викликаються зextras_<tenant>фази. - Усі мають
is_tenant_admin=False(крім трьох superuser'ів) — щоб реально перевірити, якHasRolePermissionобмежує scope. - Стандартних "робочих" ролей (auditor, hr_specialist) немає демо-юзерів — вони доступні в каталозі, тенант-адмін може створити юзера через UI (Admin Tools → Users → Add user) і призначити роль.
- Standalone юзери (без
Personlinkage) —gate,weigher,dispatcher,yard,gate_agro,weigher_agro. Це OK — вони існують для демо ролі, реальна організація прив'язуєPersonчерез UI.
Скидання¶
Якщо хочеш повернути все до дефолту (наприклад, після експериментів через UI):
Це покладе: - 3 tenants (recreate) - 3 superuser-логіни - усі extras → 14 системних ролей × 3 тенанти + усі demo-юзери з їхніми ролями
Якщо треба тільки один тенант — --reset-tenant=dry_port.