Роли и доступ
Кратко
Система использует ролевую модель (RBAC): пользователю выдаются одна или несколько ролей, у каждой роли — набор прав (permissions). Что именно пользователь увидит в меню и какие кнопки сможет нажать — определяется этими правами.
Какие роли есть
| Роль | Кому выдают | Что может |
|---|---|---|
Супер-администратор (super-admin) |
Один-два человека в IT-отделе | Всё. Доступ ко всем журналам, справочникам, настройкам, журналу действий. Только эта роль видит Журнал действий. |
Администратор (Admin) |
Главная медсестра и её заместитель | Заполняет и редактирует справочники, добавляет пользователей, видит Объявления в MAX и Контроль заполнения. |
| Журналы | Все медсёстры | Заполняет и читает журналы, видит свой Дашборд статистики, пользуется Обходом кабинетов и Голосовым вводом. |
| Поддержка | Сотрудники IT-поддержки | Чтение журналов для разбора инцидентов. Без права редактирования. |
Что видит каждая роль
Медсестра (роль «Журналы»)
В сайдбаре:
- Дашборд статистики
- Обход кабинетов
- Календарь генеральных уборок
- Голосовой ввод
- Список кабинетов — её отделения
- Все 16 журналов
Не видит: Системные настройки, Журнал действий, Объявления в MAX, Контроль заполнения, Слоты заполнения.
Старшая медсестра отделения (роль «Журналы» + привязка к подразделению)
То же, что обычная медсестра, плюс:
- В Контроле заполнения и Календаре генеральных уборок видит данные только своих подразделений (по записи в справочнике Структурные подразделения).
Главная медсестра (роль «Admin»)
То же, что медсестра, плюс:
- Контроль заполнения — видит сводку по всему учреждению, какие журналы не заполнены вовремя.
- Объявления в MAX — может слать сообщения в общий чат.
- Все справочники на редактирование: Кабинеты, Дезсредства, Типы уборок, Оборудование, Подрядчики, Вакцины, Шаблоны, Структурные подразделения.
- Управление пользователями (но не ролями).
- Слоты заполнения — настройки дедлайнов утро/вечер.
Не видит: Журнал действий.
Супер-администратор (роль super-admin)
Видит и может всё:
- Всё, что главная медсестра.
- Журнал действий — полный аудит-лог системы.
- Управление ролями и правами.
- Системные настройки.
Как выдать или забрать роль
- Войти под учёткой с правом редактирования пользователей (главная медсестра или супер-админ).
- Сайдбар → Система → Пользователи.
- Выбрать пользователя → кнопка редактирования (карандаш).
- В блоке «Роли» отметить нужные галочки.
- Сохранить.
Все изменения ролей логируются в Журнале действий — видно, кто кому когда выдал какую роль.
Привязка к подразделению
У пользователя есть отдельное поле «Структурные подразделения» — это список отделений, к которым он имеет отношение. Используется в двух местах:
- Контроль заполнения — старшая медсестра видит только свои подразделения.
- Календарь генеральных уборок — план уборок фильтруется по подразделению.
Главная медсестра обычно привязана ко всем подразделениям. Старшая медсестра — только к одному-двум.
Технические детали (для администратора)
Права на каждый журнал
Каждый журнал имеет свой набор прав:
<JournalName>Resource.viewAny— видеть список записей<JournalName>Resource.view— открыть одну запись<JournalName>Resource.create— добавить новую запись<JournalName>Resource.update— редактировать запись<JournalName>Resource.delete— удалить запись (мягкое удаление)<JournalName>Resource.restore— восстановить удалённую<JournalName>Resource.forceDelete— окончательно удалить<JournalName>Resource.massDelete— массовое удаление
При установке системы права автоматически собираются в роль «Журналы», и она выдаётся всем медсёстрам.
Аутентификация
В продакшене — через LDAP (корпоративный домен учреждения), с двухфакторной аутентификацией через Multifactor. Логин подставляется автоматически с доменом @mymedex.ru.
В тестовой среде — через локальную БД с обычными паролями.
Окно редактирования
Это не роль, но связано с доступом. Каждый пользователь имеет «Окно редактирования журналов, ч» — после этого времени с момента создания запись становится только для чтения (за исключением полей, которые были пустыми). Подробнее — Общие возможности → Окно редактирования.
Главная медсестра может выставить разные окна для разных сотрудников (например, для старших медсестёр — 24 часа, для рядовых — 2).