Доброго времени суток.
Например, есть несколько ролей: директор, 2 начальника отдела, 4 старших сотрудника(в подчинение по 2 у начальников отделов), 20 сотрудников(в подчинение по 5 у старших сотрудников).
Директор может всё, начальник отдела может добавить/редактировать/просмотреть данные о старшем сотруднике и сотруднике ТОЛЬКО в своем отделе, свои данные только просмотреть, старший сотрудник может просмотреть данные ВСЕХ сотрудников в отделе, НО редактировать и добавлять только подчиненных, удалять не может.
Пока организовал все в лоб, проверяю роли и достаю данные(сотрудников) отдельно для каждой. НО название ролей, количество и подчиненность может меняться.
Подскажите, как организовать "область видимости" в зависимости от роли пользователя и его подчиненных? Есть ли какие то универсальные алгоритмы?
Надеюсь доходчиво объяснил проблему. Заранее, спасибо!
PS. Уже используется модуль
Zizaco/entrust, но он только отслеживает разрешения для конкретной роли и действия, но не учитывает "область видимости". Может я как то не так его использую?