Роли и доступы
Доступ в системе устроен по ролевой модели: у каждого пользователя есть роль, роль определяет, какие модули и действия ему доступны.
Базовые роли
| Роль | Назначение | Типовые задачи |
|---|---|---|
| Администратор | Полный контроль над компанией | Настройка пользователей, модулей, интеграций, тарифа |
| Менеджер | Операционное управление | Каталог, склад, заказы, клиенты, продажи, отчёты |
| Сотрудник | Кассир / мастер | Касса, продажи, свои события в календаре |
| Руководитель | Аналитик / собственник | Сводные отчёты по выручке и марже, без операционного доступа |
Статусы пользователя
Кроме роли у пользователя есть статус:
- Не активирован — пользователю отправлено приглашение, но он ещё не зашёл и не задал пароль.
- Активен — обычное рабочее состояние.
- Заблокирован — учётка временно недоступна (отпуск, увольнение в процессе оформления). Данные пользователя сохраняются, история его действий — тоже.
- Удалён — учётная запись помечена как удалённая. Заходить в систему она не может, но история действий остаётся.
Жёсткое vs мягкое удаление
Учётные записи не удаляются физически. Это нужно, чтобы исторические продажи, чеки, заказы и записи в журнале действий по-прежнему ссылались на реального человека («чек пробил Иван Петров»), а не на пустую строку.
Права на модули
Помимо роли, права уточняются на уровне модуля: компания может включить модуль «Клиенты» только для администратора и менеджера, скрыв его от сотрудников.
Эта связка задаётся в RoleAccessRights — настройке, которая описывает: «роль X для модуля Y видит / редактирует / экспортирует».
Принципы
- Меньше прав по умолчанию. Новый сотрудник получает минимально необходимый набор; расширение — явное решение администратора.
- Аудит. Любая смена роли пишется в журнал действий.
- Никаких «суперпользователей» со стороны платформы. В компанию заходит только её администратор; сотрудники платформы доступа к данным клиентов не имеют.
Сценарии
- Принять нового кассира — приглашение → активация → роль «Сотрудник».
- Перевести менеджера в директора — смена роли через панель администрирования.
- Уволить сотрудника — статус «Удалён», вход блокируется, история сохраняется.