Справка · Веб-версия · Для администраторов

Роли и права доступа

Раздел Админ → Роли доступен только суперадминистраторам (флаг is_superadmin).

Модель прав

Роли и праваРоли и права

Права хранятся как плоский набор булевых флагов на роли. Для каждой сущности — четыре права:

<entity>_read      просмотр
<entity>_create    создание
<entity>_modify    изменение
<entity>_delete    удаление

Например: object_read, object_create, object_modify, object_delete, issue_read, issue_create, ...

Плюс общие / специальные флаги:

  • is_admin — доступ к админ-меню (кроме «Роли»).
  • is_superadmin — полный доступ, включая управление ролями.
  • user_onboard_mobile — право выдавать QR / ссылку для входа пользователя в мобильное приложение. Роли с is_admin / is_superadmin получают его автоматически, обычным ролям — включайте вручную. См. admin-users.md — раздел «📱 QR-код для входа в мобильное приложение».

Стандартные роли

Системой предусмотрены:

Роль Права
Суперадмин is_superadmin = true + все права
Админ is_admin = true + все CRUD-права
Сотрудник только *_read + issue_create, report_create, order_create
Только чтение только *_read

Заявка на устранение неисправности создаётся по праву order_create — отдельное issue_modify не нужно (статус неисправности «Новая» → «В работе» система меняет сама).

Создание роли

  1. Раздел «Роли»«+ Создать роль».
  2. Введите название.
  3. По умолчанию все права false. Включите нужные галочки.
  4. Сохраните.

Назначение роли пользователю

В разделе «Пользователи» в карточке пользователя поле «Роль» — выпадающий селект.

Что произойдёт без права

  • *_read = false → раздел вообще не загружается (API возвращает 403).
  • *_create = false → кнопка «Создать» скрыта.
  • *_modify = false → кнопки «Редактировать», «Изменить статус» скрыты.
  • *_delete = false → кнопка «Удалить» скрыта.

Фронт-скрытие кнопок — это удобство. Реальная защита — на бэкенде через core/dependencies.py. Даже если кто-то «сломает» интерфейс, API не даст выполнить действие без права.