Перейти к основному содержимому

Почему права — отдельные тумблеры, а не пакет к роли

Роль (Менеджер, РОП и так далее) задаёт базовую модель доступа. Но такие вещи, как «видеть все компании команды, а не только свои» или «удалять компании», — это отдельные переключатели, которые владелец или администратор включает конкретному человеку, а не свойство самой роли.

Почему не зашить это в роль жёстко​

Команды устроены по-разному. На одной роль «Менеджер» — это младший продавец, которому видеть чужие сделки не нужно и не должно. На другой — тот же «Менеджер» де-факто замещает РОПа в его отсутствие, и ему нужен обзор всей команды. Если бы права были жёстко привязаны к роли, под второй случай пришлось бы либо менять роль человеку (а вместе с ней — все остальные ожидания от роли), либо просить нас менять код.

Почему не дать все права сразу всем​

Большинству менеджеров не нужно видеть компании всей команды — и не должно: это и про фокус (не теряться в чужих делах), и про то, что не всем нужно видеть суммы чужих сделок. Дефолт — «видишь только своё» — закрывает основной случай без лишних разговоров о доступе.

Итог​

Роль отвечает на вопрос «что человек обычно делает». Тумблеры отвечают на вопрос «что нужно именно этому человеку, сверх обычного». Разделение этих двух решений позволяет не переписывать роль каждый раз, когда у одного конкретного сотрудника появляется нестандартная задача.